RSLog JSON Export Format - Comprehensive Reference
Overview
RSLog exports geotechnical project data in a structured JSON format. This comprehensive reference combines detailed field mappings with descriptive explanations to help third-party applications integrate with RSLog data.
How this format relates to the DataTemplate: Every RSLog project is associated with a DataTemplate, which defines the reference data available to that project -- sample types, drill methods, classification terms, descriptors, and more. Many fields in the project JSON are lookup fields (marked "Yes (lookup)" in the tables below) whose values must match entries defined in the project's DataTemplate. For a complete mapping of which export field resolves to which DataTemplate list, see the DataTemplate documentation.
File Structure:
{
"Properties": { /* File metadata */ },
"Project": { /* Project information */ },
"Boreholes": [ /* Array of boreholes with nested data */ ]
}
JSON naming convention: All keys in the project export use PascalCase (e.g. FileVersion, Boreholes, FromDepth). This differs from the RSLog DataTemplate Format, which uses camelCase.
Related document: RSLog DataTemplate Format
Table of Contents
- Field Type Indicators
- Field Categories
- File Metadata (Properties)
- Project
- Borehole
- Identification & Location | Survey Information | Timing & Personnel | Contractor Information
- Status & Quality Management | Characteristics | Environmental Conditions | Location Details
- SPT Hammer | Completion Notes | Progress Status
- Groundwater During Drilling | Display & Visualization | Extensibility
- Samples
- Stratigraphy
- Comments
- Field Tests
- Drill Runs
- Boring Methods
- Discontinuities
- Piezometer/Instrumentation
- Borehole Surveys
- Photos
- Enum Reference
- Log Symbol Colors
- Integration Guidelines
- Example: Minimal Project
- Support & Questions
Field Type Indicators
Throughout this document:
- Enum (int) or Enum (int?) - Numeric enum values. See Enum Reference
- string, bool, double?, int? - Standard data types
- object, List - Complex nested structures
Field Categories
Note on ID Fields
All entities include Id fields (Guid values) which are RSLog internal identifiers. These fields are not included in the tables below as they are not necessary for integration. Use name/title/symbol fields for lookups instead of IDs when importing data.
File Metadata (Properties)
Basic information about the export file itself.
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| FileVersion | string | No | Export format version for compatibility tracking | No | "v3" |
| ExportedBy | string | No | Username who exported the file (audit trail) | No | "Sarah Anderson" |
| DateCreated | DateTime | No | Timestamp when file was exported | No | "2024-11-12T14:30:00Z" |
Project
High-level project information and settings.
Project Identification
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| Title | string | Yes | Project name/title | Yes | "Downtown Metro Station Geotechnical Study" |
| Number | string | No | Project number or job identifier | Yes | "GEO-2024-105" |
| ClientName | string | No | Client company name | Yes | "Metro Transit Authority" |
| ClientAddress | string | No | Client address | Yes | "500 Transit Way, Suite 200" |
| Address | string | No | Project site location/address | Yes | "Main Street and 5th Avenue" |
| Notes | string | No | Project-level notes | Yes | "Phase 1 investigation for foundation design" |
Coordinate System & Location
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| UnitSystem | string | Yes | Unit system name (e.g., "Imperial", "Metric") | Yes (lookup) | "Imperial" |
| DataTemplateName | string | Conditional | Data template name used for the project. Should match the exact name of a DataTemplate previously imported for the target tenant for best compatibility. | Yes (lookup) | "Standard Geotechnical" |
| CoordinateSystem | string | Yes | Coordinate system name | Yes (lookup) | "NAD83 / UTM zone 10N" |
| CrsTitle | string | No | Coordinate Reference System title | Yes | "NAD83 UTM Zone 10N" |
| CrsMeasurementUnit | string | No | CRS measurement unit | Yes | "metre" |
| CrsType | Enum (int) | No | CRS type - see CRSType (1=EPSG, 2=SPC, 3=Manual) | Yes | 1 |
| Ellipsoid | string | No | Ellipsoid name (e.g., "WGS 84") | Yes | "GRS 1980" |
| UtmZone | string | Conditional | UTM zone (e.g., "N" or "S"). Required when the coordinate system is UTM-based. | Yes | "N" |
| UtmNumber | string | Conditional | UTM zone number. Required when the coordinate system is UTM-based. | Yes | "10" |
| Lat | double | No | Geographic latitude in decimal degrees (always WGS84 lat/long regardless of CRS) | Yes | 45.5231 |
| Long | double | No | Geographic longitude in decimal degrees (always WGS84 lat/long regardless of CRS) | Yes | -122.6765 |
| Latitude | double | No | Display latitude/easting value (depends on CRS - could be lat or easting) | Yes | 5045123.45 |
| Longitude | double | No | Display longitude/northing value (depends on CRS - could be long or northing) | Yes | 523456.78 |
| Easting | double | No | Easting coordinate (explicit easting value) | Yes | 523456.78 |
| Northing | double | No | Northing coordinate (explicit northing value) | Yes | 5045123.45 |
| Elevation | double | No | Project elevation | Yes | 125.5 |
Project Settings
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| IsActive | bool | No | Whether project is active | Yes | true |
| IsExample | bool | No | Whether this is an example project | Yes | false |
| IsExclusive | bool | No | Project exclusivity flag for user access control | Yes | false |
| IsLocked | bool | No | Whether project is locked for editing | Yes | false |
| AnonymousDataSharing | bool | No | Anonymous data sharing consent | Yes | true |
| ProjectStatusName | string | No | Current project status | Yes (lookup) | "Active" |
Project Organization
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| LeadEngineer | string | No | Lead engineer name | Yes | "Michael Thompson" |
| Division | string | No | Division identifier | Yes | "District 4" |
| InstallationDistrict | string | No | Installation district | Yes | "04" |
| Route | string | No | Route identifier | Yes | "US-101" |
| County | string | No | County name | Yes | "San Francisco" |
| Postmile | string | No | Postmile location | Yes | "12.45" |
| StructureName | string | No | Structure name | Yes | "Golden Gate Bridge Approach" |
| StructureNumber | string | No | Structure number | Yes | "04-0123" |
Map & Visualization
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| ZoomLevel | int? | No | Map zoom level setting | Yes | 15 |
| IsPloygon | bool | No | Whether project has polygon boundary | Yes | true |
| PolygonCoordinates | string | No | JSON string of polygon boundary coordinates | Yes | N/A |
| CrossSectionJSON | string | No | JSON string of cross-section data | Yes | N/A |
| PolygonsJSON | string | No | JSON string of polygon definitions | Yes | N/A |
| QrWebLink | string | No | Web link or folder path for QR code | Yes | "https://example.com/projects/GEO-2024-105" |
| TotalTestholes | int | No | Total number of boreholes (calculated) | No | 12 |
| TotalCrossSections | int | No | Total cross sections (calculated) | No | 3 |
Extensibility
Extra tags are name/value pairs whose definitions (name, data type, entity type) come from the DataTemplate's extraTag list. A tag's name here must match a name in that list with entityType = 1 (Project). See DataTemplate Format -- Extra Tags for the definition schema.
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| ExtraTags | List | No | Custom tag instances (name/value pairs) | Yes | [{"name":"Boolean Data","value":"true"}] |
| ExtraProperties | Dictionary | No | Custom properties (JSON serialized) | Yes | N/A |
Borehole
Each borehole contains general information plus nested collections of data.
Borehole Identification & Location
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| Name | string | Yes | Borehole name/identifier | Yes | "BH-101" |
| TestHoleType | string | No | "Drill Hole" or "Test Pit". Defaults to "Drill Hole" if omitted. | Yes | "Drill Hole" |
| Depth | double | Yes | Total borehole depth | Yes | 75.5 |
| X | double? | No | Local X coordinate | Yes | 523456.78 |
| Y | double? | No | Local Y coordinate | Yes | 5045123.45 |
| Latitude | double? | No | Display latitude/easting value (depends on CRS - could be lat or easting) | Yes | 5045123.45 |
| Longitude | double? | No | Display longitude/northing value (depends on CRS - could be long or northing) | Yes | 523456.78 |
| Easting | double? | No | Easting coordinate (explicit easting value) | Yes | 523456.78 |
| Northing | double? | No | Northing coordinate (explicit northing value) | Yes | 5045123.45 |
| Elevation | double? | No | Surface elevation | Yes | 125.5 |
Survey Information
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| ElevationSurveyMethod | string | No | Method used to survey elevation | Yes | "GPS Survey" |
| ElevationBenchmark | string | No | Elevation benchmark reference | Yes | "NAVD88" |
| HorizontalSurveyMethod | string | No | Method used for horizontal survey | Yes | "Total Station" |
| HorizontalSurveyBenchmark | string | No | Horizontal benchmark reference | Yes | "Control Point A" |
Timing & Personnel
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| StartDate | string | No | Start date (string format) | Yes | "2024-03-15" |
| EndDate | string | No | End date (string format) | Yes | "2024-03-18" |
| StartTime | string | No | Start time (string format) | Yes | "08:00" |
| EndTime | string | No | End time (string format) | Yes | "16:30" |
| LoggedBy | string | No | Person who logged the data | Yes | "Robert Chen" |
| EnteredBy | string | No | Person who entered the data | Yes | "Lisa Martinez" |
| ReviewedBy | string | No | Person who reviewed the data | Yes | "David Wilson" |
| DrillerName | string | No | Name of driller | Yes | "Tom Jackson" |
Contractor Information
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| ContractorName | string | No | Contractor company name | Yes | "Pacific Geotechnical Services" |
| ContractorAddress | string | No | Contractor address | Yes | "789 Industrial Parkway" |
| ContractorEmail | string | No | Contractor email | Yes | "info@pacificgeo.com" |
| ContractorTelephone | string | No | Contractor phone | Yes | "(555) 234-5678" |
| ContractorCity | string | No | Contractor city | Yes | "Portland" |
| ContractorCountryName | string | No | Contractor country | Yes (lookup) | "United States" |
Status & Quality Management
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| IsActive | bool | No | Whether borehole is active | Yes | true |
| ProgressStatus.Name | string | No | Progress status (e.g., "Planned", "In Progress", "Complete") | Yes (lookup) | "Complete" |
| QMStatusTitle | string | No | Quality management status | Yes (lookup) | "Approved" |
| IsReviewed | bool | No | Whether data has been reviewed | Yes | true |
| IsApproved | bool | No | Whether data has been approved | Yes | true |
| ReviewdOn | DateTime? | No | Review date | Yes | "2024-03-20T10:00:00Z" |
| ApprovedOn | DateTime? | No | Approval date | Yes | "2024-03-22T14:30:00Z" |
| ApprovedBy | string | No | Person who approved | Yes | "Jennifer Brown" |
| RockFeatures | bool | No | Whether to show rock features | Yes | true |
| IsHideNullValue | bool | No | Whether to hide null values | Yes | false |
| Comment | string | No | General borehole comment | Yes | "All work completed successfully" |
Borehole Characteristics
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| OverburdenThickness | double? | No | Thickness of overburden layer | Yes | 12.5 |
| RockDrillDepth | double? | No | Depth drilled into rock | Yes | 63.0 |
| CoreBoxes | double? | No | Total number of core boxes | Yes | 15 |
| FillMaterial | double? | No | Fill material depth | Yes | 3.5 |
| Disturbed | double? | No | Disturbed sample count | Yes | 8 |
| Undisturbed | double? | No | Undisturbed sample count | Yes | 5 |
| HoleDrillBitSize | string | No | Drill bit size used | Yes | "4.5 in" |
| Equipment | string | No | Equipment description | Yes | "CME-75 Drill Rig" |
| TrendAzimuth | double | No | Borehole trend/azimuth (degrees). Defaults to 0. | Yes | 0 |
| Plunge | double | No | Borehole plunge (degrees). Defaults to 90. | Yes | 90 |
| VerticalityType | string | No | Verticality classification | Yes | "Vertical" |
| PiezoType | string | No | Piezometer type (borehole-level) | Yes | "Vibrating Wire" |
| PlugType | string | No | Plug type (borehole-level) | Yes | "Bentonite" |
Environmental Conditions
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| WeatherConditions | string | No | Weather conditions during drilling | Yes | "Partly cloudy" |
| AirTemperature | double? | No | Air temperature | Yes | 65 |
| Temperature | Enum (int) | No | Temperature classification (1=Fahrenheit, 2=Celsius) - see TemperatureEnum | Yes | 1 |
Location Details
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| StructureName | string | No | Structure name | Yes | "Bridge Pier 3" |
| StructureNumber | string | No | Structure number | Yes | "04-0456" |
| StationLine | string | No | Station line | Yes | "A" |
| StationNumber | string | No | Station number | Yes | "10+25.5" |
| Offset | string | No | Offset from station | Yes | "15.0 ft left" |
| LocationDescription | string | No | Description of location/notes | Yes | "North side of abutment" |
SPT Hammer Information (SptHammer object)
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| Type | string | No | Hammer type name | Yes (lookup) | "Automatic" |
| Drop | string | No | Drop height | Yes | "30" |
| Weight | string | No | Hammer weight | Yes | "140" |
| EnergyLevel | double? | No | Energy level percentage | Yes | 60 |
| LiftingMechanism | string | No | Lifting mechanism description | Yes | "Rope and cathead" |
| SamplerInnerDia | double? | No | Sampler inner diameter | Yes | 1.375 |
| SamplerType | string | No | Sampler type description | Yes | "Standard" |
Completion Notes (CompletionNotes object)
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| Start | string | No | Notes about borehole start | Yes | "Clear surface vegetation before drilling" |
| Termination | string | No | Notes about borehole termination | Yes | "Refusal on bedrock at 75.5 ft" |
Progress Status (ProgressStatus object)
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| Name | string | No | Progress status (e.g., "Planned", "In Progress", "Complete") | Yes (lookup) | "Complete" |
Groundwater During Drilling (DrillingGroundwaterLevels object)
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| GroundwaterDepth | double? | No | Groundwater depth during drilling | Yes | 15.5 |
| GroundwaterDepthAfterShortTerm | double? | No | Groundwater depth after short-term stabilization | Yes | 14.2 |
| GroundwaterDepthAfterLongTerm | double? | No | Groundwater depth after long-term stabilization | Yes | 13.8 |
| GroundwaterDate | string | No | Date of groundwater observation | Yes | "2024-03-15" |
| GroundwaterDateAfterShortTerm | string | No | Date of short-term observation | Yes | "2024-03-16" |
| GroundwaterDateAfterLongTerm | string | No | Date of long-term observation | Yes | "2024-03-20" |
| GroundwaterTime | string | No | Time of groundwater observation | Yes | "14:30" |
| GroundwaterTimeAfterShortTerm | string | No | Time of short-term observation | Yes | "08:00" |
| GroundwaterTimeAfterLongTerm | string | No | Time of long-term observation | Yes | "10:15" |
| GroundwaterElev | double? | No | Groundwater elevation (calculated) | No | 110.0 |
| GroundwaterElevAfterShortTerm | double? | No | Short-term elevation (calculated) | No | 111.3 |
| GroundwaterElevAfterLongTerm | double? | No | Long-term elevation (calculated) | No | 111.7 |
| SealedDepth | double? | No | Sealed depth | Yes | 75.0 |
| CasingDepth | double? | No | Casing depth | Yes | 20.0 |
| DepthToWater | double? | No | Depth to water | Yes | 15.5 |
| GroundwaterNotes | string | No | Notes about groundwater | Yes | "Stable water level observed" |
| Observations | List | No | Groundwater observation readings (time-series data) | Yes | [see nested table] |
GroundwaterObservations items:
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| TimeElapsed | double? | No | Time elapsed value (numeric) | Yes | 1.5 |
| WaterDepth | string | No | Water depth reading | Yes | "15.8" |
| Notes | string | No | Observation notes | Yes | "Water level rising slightly" |
Display & Visualization
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| MarkIconPath | string | No | Icon path for map marker | Yes | "/icons/borehole_complete.png" |
| PiezoType | string | No | Piezometer type (for display) | Yes | "Vibrating Wire" |
| PlugType | string | No | Plug type (for display) | Yes | "Bentonite" |
Extensibility
Borehole-level extra tags work identically to project-level tags, except the DataTemplate definition must have entityType = 2 (Borehole).
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| ExtraTags | List | No | Custom tag instances (name/value pairs) | Yes | [{"name":"String Data","value":"test"}] |
| ExtraProperties | Dictionary | No | Custom properties (JSON serialized) | Yes | "N/A" |
Samples
Soil/rock samples taken at specific depths.
Sample Location & Identification
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| FromDepth | double | Yes | Starting depth of sample | Yes | 10.0 |
| ToDepth | double? | No | Ending depth of sample | Yes | 11.5 |
| Number | string | No | Sample number/identifier | Yes | "S-3" |
| TypeName | string | Conditional | Sample type (e.g., "SPT", "Shelby Tube"). Not required if the sample type is resolved via a SampleTypeId defined in the DataTemplate. | Yes (lookup) | "SPT" |
| TypeIconUrl | string | No | Icon URL for sample type display | No | "/icons/spt.png" |
| Description | string | No | Sample description | Yes | "Standard penetration test sample" |
| IsActive | bool | No | Whether sample is active | Yes | true |
Visual Properties
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| Color | string | No | Soil/rock color description | Yes | "Brown" |
| ColorDropdown | object | No | Structured color information (see below) | Yes | [see nested table] |
ColorDropdown fields:
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| ColorTermDescription | string | No | Primary color term | Yes (lookup) | "Brown" |
| ColorTermCodeDescription | string | No | Color code description | Yes | "Light Brown" |
| ColorTermCodeSymbol | string | No | Color code symbol | Yes | "LBR" |
| JoinerTerm | Enum (int?) | Conditional | Joiner term enum - see JoinerTermEnum. Required when a second color is specified. | Yes | 2 |
| JoinerTermCodeDescription | string | Conditional | Joiner code description. Required when JoinerTerm is set. | Yes | "Gray" |
| JoinerTermCodeSymbol | string | Conditional | Joiner code symbol. Required when JoinerTerm is set. | Yes | "GY" |
| ColorDescription | string | No | Compiled color description text | No | "Brown to Gray" |
Moisture & Condition
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| MoistureLevel | string | No | Moisture level description | Yes | "Moist" |
| MoistureContent | int? | No | Moisture content percentage | Yes | 18 |
Recovery Information
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| RecoveryLength | string | No | Length of sample recovered | Yes | "1.4" |
| RecoveryPercent | double? | No | Recovery percentage | Yes | 93 |
| Rqd | string | No | Rock Quality Designation | Yes | "75" |
| SamplerDiameter | double? | No | Sampler diameter | Yes | 2.5 |
| LocationStatusDescriptor | string | No | Sample location/status | Yes (lookup) | "In lab" |
| LocationStatusSymbol | string | No | Sample location symbol | No | "L" |
Field Tests
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| BlowCounts | string | No | SPT blow counts | Yes | "8-10-12" |
| VaneShear | double? | No | Vane shear test result | Yes | 1.5 |
| PocketPen | double? | No | Pocket penetrometer result | Yes | "2.0" |
| Torvane | double? | No | Torvane test result | Yes | 1.8 |
Laboratory Tests (LabTests object)
Complex nested structure containing lab test results organized into categories. All tests are used in RSLog import and mapped to soil mechanics test results.
IndexTests Collection - Soil classification tests:
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| Fines200 | double? | No | Percent passing #200 sieve | Yes | 45.2 |
| Silt | double? | No | Silt content | Yes | 38 |
| Sand | double? | No | Sand content | Yes | 42 |
| Gravel | double? | No | Gravel content | Yes | 15 |
| Clay | double? | No | Clay content | Yes | 20 |
| MoistureW | double? | No | Moisture content (w%) | Yes | 18.5 |
| LiquidLimit | double? | No | Liquid limit | Yes | 35 |
| PlasticLimit | double? | No | Plastic limit | Yes | 18 |
| PlasticIndex | double? | No | Plasticity index | Yes | 17 |
| OrganicMatter | double? | No | Organic content | Yes | 2.5 |
| SoilClass | string | No | Soil classification | Yes | "CL" |
| Gs | double? | No | Specific gravity | Yes | 2.68 |
| DryDensity | double? | No | Dry density | Yes | 105.3 |
| ProctorMoisture | double? | No | Proctor moisture | Yes | 14.2 |
| ProctorMaxDryDensity | double? | No | Maximum dry density | Yes | 118.5 |
| ProctorType | string | No | Proctor test type | Yes | "Standard" |
StrengthTests Collection - Mechanical property tests:
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| HydraulicConductivityTestType | string | No | Test method | Yes | "Constant head" |
| HydraulicConductivityValue | string | No | K value | Yes | "0.00025" |
| VaneShearPeakValueSu | double? | No | Peak vane shear strength | Yes | 1.8 |
| VaneShearRemouldedValueSu | double? | No | Remoulded vane shear strength | Yes | 0.9 |
| UnconfinedCompression | double? | No | Unconfined compressive strength | Yes | 2.5 |
| ShearC | double? | No | Cohesion | Yes | 450 |
| ShearPhi | double? | No | Friction angle | Yes | 28 |
| ShearTestType | string | No | Shear test method | Yes | "Direct shear" |
| Cc | double? | No | Compression index | Yes | 0.25 |
| Cs | double? | No | Recompression index | Yes | 0.05 |
| Pc | double? | No | Preconsolidation pressure | Yes | 2400 |
| Cbr | double? | No | California Bearing Ratio | Yes | 8 |
| ExpansionIndex | double? | No | Expansion index | Yes | 35 |
| SlackingGrade | string | No | Slaking grade | Yes | "Low" |
ChemicalTests Collection - Chemical analysis:
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| Ph | double? | No | pH value | Yes | 7.2 |
| WaterSolubleSulfate | double? | No | Water-soluble sulfate | Yes | 0.15 |
| TotalSulfate | double? | No | Total sulfate | Yes | 0.25 |
| WaterSolubleChloride | double? | No | Water-soluble chloride | Yes | 0.08 |
| TotalChloride | double? | No | Total chloride | Yes | 0.12 |
| MinResistivity | double? | No | Minimum resistivity | Yes | 1500 |
UserDefined Collection - Custom test types (Dictionary of test name → value pairs)
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| CustomTestName | string | No | User-defined test name | Yes | "Consolidation" |
| CustomTestValue | string | No | User-defined test value | Yes | "15.2" |
Stratigraphy (Soil/Rock Layers)
Stratigraphy data describes the subsurface layers encountered in the borehole. This is the most detailed entity in the export.
Layer Boundaries & Identification
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| FromDepth | double | Yes | Starting depth of layer | Yes | 10.0 |
| ToDepth | double | Yes | Ending depth of layer | Yes | 15.5 |
| Thickness | double? | No | Layer thickness (calculated from ToDepth - FromDepth) | No | 5.5 |
| Title | string | No | Layer title/name | Yes | "Sandy SILT" |
| Description | string | No | Detailed layer description | Yes | "Brown sandy silt with trace gravel" |
| SoilSymbol | string | No | Soil symbol code, matched against the DataTemplate's hatchPatternStandard list by title (e.g., "ML", "CH", "GP") |
Yes (lookup) | "ML" |
| AgsLegendCode | string | No | AGS legend code | Yes | "SNDST" |
| UnitWeight | double? | No | Unit weight of material | Yes | 120 |
| IsActive | bool | No | Whether layer is active | Yes | true |
| DataEntryMode | int? | No | Internal tracking | No | 1 |
Classification System (ClassificationSystem object)
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| SelectedSystem | Enum (int?) | No | Classification system - see ClassificationSystemEnum (1=USCS, 2=AASHTO, 3=AGS, 4=ROCK, 5=MODBURMISTER) | Yes | 1 |
| isRockDropdowns | bool | Conditional | Controls which classification dropdown tables to query (true=rock, false=soil). Required when SelectedSystem is set. | Yes | false |
| ClassificationDetailsSoil | List | Conditional | Soil classification details. Populated when isRockDropdowns is false. | Yes (complex mapping) | [see nested table] |
| ClassificationDetailsRock | List | Conditional | Rock classification details. Populated when isRockDropdowns is true. | Yes (complex mapping) | [see nested table] |
| ClassificationDetailsModOther | List | No | Modified/other classifications | Yes (complex mapping) | [see nested table] |
Classification detail items for Soil and Rock:
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| TitleOrEnum | string | No | Classification label | Yes | "Granular" |
| Description | string | No | Classification description | Yes | "Particle size between sieve #10 and 3 in" |
| Type | Enum (int?) | No | Classification system for this detail - see ClassificationSystemEnum | Yes | 5 |
| Label | int? | No | Classification ordinal number (1, 2, 3, etc.) | Yes | 1 |
Classification detail items for ModOther:
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| Value | string | No | Classification value (e.g., USCS code, AASHTO code, AGS code) | Yes | "CH" |
| SelectedTab | string | No | Which classification system this value belongs to ("uscs", "aashto", "ags", or null) | Yes | "uscs" |
Geologic Context (GeologicUnit object)
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| Unit | string | No | Geologic unit name | Yes (lookup) | "Quaternary Alluvium" |
| Category | string | No | Geologic category name | Yes (lookup) | "Sedimentary" |
General Properties (General object)
Material State:
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| MarkAsFill | bool | No | Whether layer is fill material | Yes | false |
| MoistureDescriptor | string | No | Moisture condition (e.g., "Dry", "Moist", "Wet") | Yes (lookup) | "Moist" |
| ConsistencyDescriptor | string | No | Consistency symbol | No | "STIFF" |
| ConsistencyDescriptorDescriptor | string | No | Consistency for cohesive soils (e.g., "Soft", "Medium", "Stiff") | Yes (lookup) | "Stiff" |
| ConsistencyDescriptorMinSPT | int? | No | Minimum SPT value for consistency | No | 8 |
| RelativeDensity | string | No | Relative density symbol | No | "MED" |
| RelativeDensityDescriptor | string | No | Relative density for granular soils (e.g., "Loose", "Medium Dense") | Yes (lookup) | "Medium Dense" |
| RelativeDensityMinSPT | int? | No | Minimum SPT value for relative density | No | 10 |
Color:
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| ColorDescription | string | No | Color description | Yes | "Brown" |
| ColorDropdown | object | No | Structured color data (same structure as Sample color) | Yes (multiple fields) | [see Sample ColorDropdown] |
Structure & Texture:
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| Structure | string | No | Soil structure description | Yes (lookup) | "Massive" |
| GrainSize | string | No | Grain size description | Yes (lookup) | "Fine" |
| BeddingThickness | string | No | Bedding thickness (for sedimentary rock) | Yes (lookup) | "Thin" |
| Slaking | string | No | Slaking characteristics | Yes (lookup) | "Non-slaking" |
| GradationName | string | No | Gradation description | Yes (lookup) | "Well graded" |
| ParticleSizeName | string | No | Particle size classification | Yes (lookup) | "Fine to coarse sand" |
| SoilClassD4083 | string | No | ASTM D4083 classification | Yes | "SM" |
| Mode | Enum (int?) | No | Data entry mode (1=Basic, 2=Detailed) - see Mode | Yes | 2 |
Rock Characteristics:
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| RockWeatheredToDecomposed | bool | No | Rock weathered to decomposed state | Yes | false |
| RockDecomposed | bool | No | Rock is decomposed | Yes | false |
| RockPoorlyIndurated | bool | No | Rock is poorly indurated | Yes | false |
Display & Log Symbol Colors:
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| LineColor | string | No | Display line color | Yes | "#000000" |
| LineStyle | string | No | Display line style | Yes (lookup) | "Solid" |
| LineThickness | string | No | Display line thickness | Yes (lookup) | "Medium" |
| LineBottomLayer | bool | No | Draw line at bottom of layer | Yes | true |
| ForeColor | string | No | Log symbol/hatch foreground color (hex code, e.g., "#000000") | No | "#8B4513" |
| BackColor | string | No | Log symbol/hatch background color (hex code, e.g., "#ffffff") | No | "#FFFFFF" |
Note on Log Symbol Colors: ForeColor and BackColor provide the rendering colors for the log symbol/hatch pattern used in the stratigraphy layer. These colors come from whichever symbol is in use - either the AgsLegendCode (for AGS hatch symbols) or the SoilSymbol (for standard classifications). Use these hex color codes to render hatch patterns with the correct colors on geotechnical logs.
Depth References:
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| DrillingObservationElevation | bool | No | Use elevation for drilling observations | Yes | false |
| InterimElevation | bool | No | Use interim elevation | Yes | false |
| FineContent | string | No | Fine content description | Yes | "High plasticity" |
| AdditionalRemarks | string | No | Additional notes | Yes | "Some organic inclusions noted" |
| LogSymbolData | object | No | Log symbol rendering data (JSON) | Yes | {"type":"hatch","pattern":"ML"} |
Components (Components object)
Detailed particle size distribution and characteristics. All component fields are used in RSLog import. Fields marked "(lookup)" draw their values from the DataTemplate's soilClassification list, filtered by the type code indicated in the lookup mapping table (e.g. Proportion = type 2, Particle Angularity = type 4, Cementation = type 11).
Fines:
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| FinesPercent | int? | No | Fines percentage | Yes | 45 |
| FinesProportion | string | No | Fines proportion description | Yes (lookup) | "Some" |
| FinesPlasticity | string | No | Fines plasticity | Yes (lookup) | "Medium" |
| Plasticity | string | No | Overall plasticity | Yes (lookup) | "Low" |
| FinesDryStrength | string | No | Dry strength of fines | Yes (lookup) | "Medium" |
| FinesDilatancy | string | No | Dilatancy characteristics | Yes (lookup) | "Slow" |
| FinesToughness | string | No | Toughness characteristics | Yes (lookup) | "Medium" |
Sand:
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| SandPercent | int? | No | Sand percentage | Yes | 40 |
| SandProportion | string | No | Sand proportion description | Yes (lookup) | "Some" |
| SandParticleSizeDescriptions | List | No | Sand particle sizes | Yes | ["Fine","Medium"] |
| SandParticleAngularity | string | No | Sand particle angularity | Yes (lookup) | "Subangular" |
| SandCementation | string | No | Sand cementation | Yes (lookup) | "Weakly cemented" |
Gravel:
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| GravelPercent | int? | No | Gravel percentage | Yes | 15 |
| GravelProportion | string | No | Gravel proportion description | Yes (lookup) | "Little" |
| GravelParticleSizeDescriptions | List | No | Gravel particle sizes | Yes | ["Fine","Coarse"] |
| GravelParticleAngularity | string | No | Gravel particle angularity | Yes (lookup) | "Angular" |
| GravelCementation | string | No | Gravel cementation | Yes (lookup) | "Uncemented" |
| GravelParticleShape | string | No | Gravel particle shape | Yes (lookup) | "Flat" |
Cobbles:
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| CobblesPercent | int? | No | Cobbles percentage | Yes | 5 |
| CobblesSoilConstituent | int? | No | Cobbles as soil constituent | Yes | 2 |
| CobblesSize | string | No | Cobbles size range | Yes | "75-150mm" |
| CobblesParticleAngularity | string | No | Cobbles angularity | Yes (lookup) | "Subrounded" |
| CobblesWeathering | string | No | Cobbles weathering | Yes (lookup) | "Slightly weathered" |
| CobblesParticleShape | string | No | Cobbles shape | Yes (lookup) | "Rounded" |
| CobblesHardness | string | No | Cobbles hardness | Yes (lookup) | "Hard" |
| CobblesRockTypeData | object | No | Cobbles rock type details | Yes (complex lookup) | [see nested table] |
Cobbles Rock Type Data (nested object):
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| RockName | string | No | Rock type name | Yes (lookup) | "Granite" |
| RockClassificationType | string | No | Rock classification type | Yes | "RockTypeIgneousRock" |
Boulders:
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| BouldersPercent | int? | No | Boulders percentage | Yes | 2 |
| BouldersSoilConstituent | int? | No | Boulders as soil constituent | Yes | 1 |
| BouldersSize | string | No | Boulders size range | Yes | ">300mm" |
| BouldersParticleAngularity | string | No | Boulders angularity | Yes (lookup) | "Angular" |
| BouldersWeathering | string | No | Boulders weathering | Yes (lookup) | "Fresh" |
| BouldersParticleShape | string | No | Boulders shape | Yes (lookup) | "Angular" |
| BouldersHardness | string | No | Boulders hardness | Yes (lookup) | "Very hard" |
| BouldersRockTypeData | object | No | Boulders rock type details | Yes (complex lookup) | [see nested table] |
Boulders Rock Type Data (nested object):
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| RockName | string | No | Rock type name | Yes (lookup) | "Basalt" |
| RockClassificationType | string | No | Rock classification type | Yes | "RockTypeIgneousRock" |
Advanced Properties (Advanced object)
Rock-specific properties. Fields marked "(lookup)" draw their values from the DataTemplate's rockClassification list, filtered by the type code indicated in the lookup mapping table (e.g. Weathering = type 3, Strength = type 10, Hardness = type 14).
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| Weathering | string | No | Rock weathering grade | Yes (lookup) | "Slightly weathered" |
| Hardness | string | No | Rock hardness | Yes (lookup) | "Hard" |
| Strength | string | No | Rock strength | Yes (lookup) | "Very strong" |
| FractureDensity | string | No | Fracture density description | Yes (lookup) | "Moderate" |
| RockFractureConditions | List | No | List of rock fracture condition entries | Yes (final release) | [see nested table] |
Rock Fracture Condition items:
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| Code | string | No | Fracture code/identifier | Yes (final release) | "F1" |
| Dip | double | Yes | Fracture dip angle (degrees) | Yes (final release) | 45.0 |
| Spacing | string | No | Fracture spacing description | Yes (final release) | "Wide" |
| FractureWidth | string | No | Fracture width description | Yes (final release) | "0.5-2.0mm" |
| InfillType | string | No | Infill type/composition | Yes (final release) | "Clay" |
| Thickness | string | No | Infill thickness category | Yes (final release) | "Soft" |
| InfillThickness | string | No | Detailed infill thickness description | Yes (final release) | "Thin" |
| Weathering | string | No | Weathering condition | Yes (final release) | "Moderately weathered" |
| Hardness | string | No | Hardness of fracture surfaces | Yes (final release) | "Moderately hard" |
| Healing | string | No | Healing condition | Yes (final release) | "Unhealed" |
| Roughness | string | No | Surface roughness | Yes (final release) | "Rough" |
Drilling Observations (DrillingObservations object)
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| Depth | double? | No | Reference depth for observations | Yes | 25.0 |
| Observations | List | No | List of drilling observation entries | Yes | [see nested table] |
Observation items:
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| DepthElev | double | Yes | Depth or elevation of observation | Yes | 25.5 |
| Description | string | No | Observation description | Yes | "Water seepage observed" |
Interim Changes (InterimChanges object)
Records gradual transitions or interbedded layers within a stratigraphy layer.
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| Depth | bool | No | Display as depth | Yes (final release) | true |
| Elevation | bool | No | Display as elevation | Yes (final release) | false |
| InterimChanges | List | No | List of interim change entries | Yes (final release) | [see nested table] |
Interim Change items:
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| DepthElev | double? | No | Depth or elevation of change | Yes (final release) | 15.5 |
| VariableIndex | int? | No | Variable index for change | Yes (final release) | 1 |
| ClassificationSystem | int? | No | Classification system enum for this change | Yes (final release) | 4 |
| VariableText | string | No | Variable description | Yes (final release) | "Interbedded layer" |
| ChangeProperty | string | No | Property that changes | Yes (final release) | "Soil type" |
| ReferenceValue | string | No | Reference value for the change | Yes (final release) | "Dense" |
| InterimPropertyTitle | string | No | Title of interim property (for Variables 8-12: Fines/Sand/Gravel/Cobble/Boulder) | Yes (final release) | "Proportion" |
| InterimPropertyComponent | int? | No | Component type for interim property | Yes (final release) | 2 |
| PropertyReferenceSizes | List | No | List of property reference sizes for particle size changes | Yes (final release) | [{"Name":"Fine","Type":15}] |
| PropertyReferenceSingle | string | No | Single property reference value | Yes (final release) | "Coarse" |
| PropertyReferenceSingleType | int? | No | Type of single property reference | Yes (final release) | 16 |
| PropertyReferenceValue | string | No | Property reference value | Yes (final release) | "Angular" |
| ColorDropdown | object | No | Color dropdown details (for Variable 5: Color Change) | Yes (final release) | [see ColorDropdown structure] |
| InterbedSoil | object | Conditional | Soil interbed details (if soil). Required when the interim change represents a soil interbed. | Yes (final release) | [see InterbedSoil structure] |
| InterbedRock | object | Conditional | Rock interbed details (if rock). Required when the interim change represents a rock interbed. | Yes (final release) | [see InterbedRock structure] |
Note: InterbedSoil and InterbedRock contain complex nested classification details similar to the main Components structure, including material properties, colors, and classification details specific to the interbedded layer.
Frozen Soils (FrozenSoils object)
Properties for frozen soil layers (permafrost regions).
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| Symbol | string | No | Frozen soil symbol | Yes (final release, lookup) | "Vu" |
| Description | string | No | Frozen soil description | Yes (final release, lookup) | "Uniformly distributed ice" |
| Group | Enum (int) | Yes | Frozen soil group classification - see FrozenSoilGroup | Yes (final release) | 2 |
| GroupSymbol | string | Yes | Group symbol | Yes (final release) | "V" |
| IceFeaturesDescription | string | No | Description of ice features | Yes (final release) | "desc" |
Minor Components (MinorComponents object)
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| MinorComponents | List | No | List of minor component entries | Yes | [see nested table] |
Minor component items:
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| MaterialName | string | No | Material name | Yes | "Gravel" |
| Proportion | string | No | Proportion description | Yes | "Trace" |
| Gradation | string | No | Gradation description | Yes | "Fine to coarse" |
| Modifier | string | No | Modifier term | Yes | "Angular" |
| GradationDropdownFrom | string | No | From particle size | Yes | "Fine" |
| GradationDropdownTo | string | No | To particle size | Yes | "Coarse" |
| GradationDropdownFromValue | string | No | From particle size value (mm) | Yes | "2.0" |
| GradationDropdownToValue | string | No | To particle size value (mm) | Yes | "19.0" |
Comments
Text annotations at specific depths.
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| Depth | double | Yes | Depth of comment | Yes | 18.5 |
| Description | string | No | Comment text | Yes | "Groundwater seepage observed" |
| IsActive | bool | No | Whether comment is active | Yes | true |
Field Tests
In-situ test results at specific depths.
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| Depth | double | Yes | Test depth | Yes | 20.0 |
| TestTitle | string | Yes | Test type name | Yes (lookup) | "Vane Shear" |
| Value | string | No | Primary test value | Yes | "1.5" |
| DefaultDepthInterval | double? | No | Depth interval for test | Yes | 1.5 |
| IsActive | bool | No | Whether test is active | Yes | true |
| Columns | string | No | Column definitions for multi-column tests (JSON structure) | No | "[{"name":"Depth","type":"double"}]" |
| Values | object | No | Additional test values (JSON structure) | Yes | {"peak":1.5,"remoulded":0.8} |
Drill Runs
Core recovery and rock quality data for specific depth intervals.
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| FromDepth | double | Yes | Starting depth of run | Yes | 50.0 |
| ToDepth | double | Yes | Ending depth of run | Yes | 55.0 |
| RunNumber | string | No | Run number identifier | Yes | "R-10" |
| CoreboxNumber | string | No | Corebox number | Yes | "CB-10" |
| IsActive | bool | No | Whether run is active | Yes | true |
Recovery Metrics
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| TotalCoreRecovered | double? | No | Total core recovered | Yes | 4.8 |
| TotalLength | double? | No | Total run length | Yes | 5.0 |
| Tcr | double? | No | Total Core Recovery (%) | Yes | 96 |
| Scr | double? | No | Solid Core Recovery (%) | Yes | 85 |
| Tmr | double? | No | Total Material Recovery (%) | Yes | 98 |
| RqdRmu | double? | No | RQD based on rock mass units | Yes | 75 |
| RqdCoreLength | double? | No | RQD based on core length | Yes | 78 |
Rock Quality Metrics
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| Rmr | double? | No | Rock Mass Rating | Yes | 65 |
| Fractures | double? | No | Number of fractures | Yes | 8 |
| JointSpacing | double? | No | Joint spacing value | Yes | 150 |
| JointCondition | double? | No | Joint condition rating | Yes | 12 |
Rock Properties
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| RockStrength | string | No | Rock strength description | Yes | "Very strong" |
| RockWeathering | string | No | Rock weathering description | Yes | "Slightly weathered" |
| RockAlteration | string | No | Rock alteration description | Yes | "Unaltered" |
Boring Methods
Drilling equipment and methods used for depth intervals.
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| FromDepth | double | Yes | Starting depth | Yes | 0.0 |
| ToDepth | double | Yes | Ending depth | Yes | 25.0 |
| IsActive | bool | No | Whether method is active | Yes | true |
Equipment
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| DrillRigModel | string | No | Drill rig model/name | Yes | "CME-75" |
| DrillRigType | string | No | Drill rig type | Yes | "Track-mounted" |
| DrillBitInfo | string | No | Drill bit information | Yes | "4.5 in tricone" |
| DrillBitType | string | No | Drill bit type | Yes | "Tricone" |
| DrillRodInfo | string | No | Drill rod information | Yes | "NW rods" |
Method & Diameter
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| DrillMethod | string | No | Drilling method name | Yes (lookup) | "Rotary" |
| DrillMethodSymbol | string | No | Drilling method symbol | Yes | "R" |
| DrillMethodCode | string | No | Drilling method code | Yes | "ROT" |
| HoleDiameter | double? | No | Hole diameter | Yes | 4.5 |
| CasingDiameter | double? | No | Casing diameter | Yes | 6.0 |
| CasingType | string | No | Casing type | Yes | "Steel" |
Backfill
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| BackfillCode | string | No | Backfill code | Yes | "BENT" |
| BackfillPattern | string | No | Backfill pattern | No | "dots" |
| InstrumentInstalled | bool | No | Whether instrument was installed | Yes | false |
Timing
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| Date | string | No | Date of boring | Yes | "2024-03-15" |
| Time | string | No | Time of boring | Yes | "08:00" |
| Notes | string | No | Additional notes | Yes | "No obstructions encountered" |
Discontinuities (Fractures/Joints)
Structural features in rock cores.
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| Depth | double | Yes | Depth of discontinuity | Yes | 52.3 |
| Alpha | double? | No | Alpha angle (degrees) | Yes | 45 |
| Beta | double? | No | Beta angle (degrees) | Yes | 180 |
| JconRMR76 | string | No | RMR76 joint condition rating | Yes | "15" |
Discontinuity Characteristics
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| DefectType | string | No | Defect type symbol (joint, fracture, etc.) | Yes (lookup) | "J" |
| Roughness | string | No | Roughness symbol | Yes (lookup) | "R3" |
| Shape | string | No | Shape symbol | Yes (lookup) | "PL" |
| InfillType | string | No | Infill type symbol | Yes (lookup) | "CLAY" |
| InfillCharacter | string | No | Infill character symbol | Yes (lookup) | "SOFT" |
| InfillThickness | string | No | Infill thickness symbol | Yes (lookup) | "<1mm" |
Piezometer/Instrumentation
Piezometer installation details and groundwater monitoring data.
Piezometer Installation (Piezometer array)
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| PiezometerNo | string | Yes | Piezometer identifier | Yes | "PZ-1" |
| PiezoType | string | No | Piezometer type (combined descriptor and symbol) | No | "Vibrating Wire (VW)" |
| PiezoTypeDescriptor | string | No | Piezometer type descriptor only | No | "Vibrating Wire" |
| PiezoTypeSymbol | string | No | Piezometer type symbol | Yes (lookup) | "VW" |
| PlugType | string | No | Plug type (combined descriptor and symbol) | No | "Bentonite (BENT)" |
| PlugTypeDescriptor | string | No | Plug type descriptor only | No | "Bentonite" |
| PlugTypeSymbol | string | No | Plug type symbol | Yes (lookup) | "BENT" |
| EndCapType | string | No | End cap type description | No | "Flat" |
| EndCapTypeNumber | Enum (int?) | No | End cap type - see EndCapTypeNumber (0=None, 1=Flat, 2=Conic) | Yes | 1 |
| PipeDia | string | No | Pipe diameter | Yes | "2 in" |
| InstalledStickup | bool | No | Whether there is stickup | Yes | true |
| InstalledStickupValue | double? | Conditional | Stickup height value. Required when InstalledStickup is true. | Yes | 2.5 |
| PipeSegments | List | No | Pipe installation details | Yes | [see nested table] |
| GroundwaterLevels | List | No | Groundwater monitoring readings | Yes | [see nested table] |
Pipe Segments (PipeSegments array)
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| FromDepth | double | Yes | Starting depth of pipe segment | Yes | 30.0 |
| ToDepth | double | Yes | Ending depth of pipe segment | Yes | 35.0 |
| PipeType | string | No | Pipe type (e.g., "Screen", "Solid", "Slotted") | Yes (lookup) | "Screen" |
| PipeDiameter | double? | No | Pipe diameter | Yes | "2.0" |
| PipeMaterial | string | No | Pipe material | Yes (lookup) | "PVC" |
| ShowWireInstrument | Enum (int?) | No | Wire instrument display option - see ShowWireInstrument (0/1/2/null) | Yes | 1 |
| Notes | string | No | Segment notes | Yes | "10-slot screen" |
| PipeNumber | int | No | Pipe number | No | 1 |
Groundwater Readings (GroundwaterLevels array)
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| Date | string | Yes | Reading date | Yes | "2024-04-15" |
| Time | string | No | Reading time | Yes | "10:00" |
| WaterDepth | string | No | Water depth reading | Yes | "18.5" |
| WaterElev | string | No | Water elevation (calculated) | No | "107.0" |
| IsActive | bool | No | Whether reading is active | Yes | true |
| WaterLevelPresent | bool | No | Whether water level was present | Yes | true |
| WeatherCondition | string | No | Weather conditions | Yes | "Clear" |
| TemperatureEnum | Enum (int) | No | Temperature classification - see TemperatureEnum (1=Fahrenheit, 2=Celsius) | Yes | 1 |
| AirTemperature | double? | No | Air temperature | Yes | 68 |
Backfill (Backfill array)
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| FromDepth | double | Yes | Starting depth | Yes | 0.0 |
| ToDepth | double | Yes | Ending depth | Yes | 30.0 |
| BackfillDescription | string | No | Backfill material description | Yes (lookup) | "Bentonite" |
| BackfillCode | string | No | Backfill code | No | "BENT" |
Borehole Surveys
Downhole survey data (inclinometer, gyroscope, etc.).
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| Title | string | No | Survey title | Yes | "Inclinometer Survey 1" |
| Type | string | No | Survey type | Yes (lookup) | "Inclinometer" |
| Contractor | string | No | Survey contractor name | Yes | "GeoPro Surveys Inc." |
| DateTime | DateTime? | No | Survey date and time | Yes | "2024-06-15T09:30:00Z" |
| Data | object | No | Survey data (header + rows) | Yes | {"header":[...],"rows":[...]} |
Photos
Photo attachments to boreholes.
| Field | Type | Required | Description | Used in RSLog Import? | Example |
|---|---|---|---|---|---|
| Title | string | No | Photo title | No | "Core Box 1" |
| Subject | string | No | Photo subject/description | No | "Core samples 0-5 ft" |
| PhotoPath | string | No | Path to photo file | No | "/photos/core_box_1.jpg" |
Note: Photos are exported with metadata but file paths only. Actual image files are not included in JSON export and photos are not currently imported via JSON import flow.
Enum Reference
Some numeric fields in the export represent enumerated values. Below is the complete reference for all enum fields:
ClassificationSystemEnum (int?)
Used in: Stratigraphy.ClassificationSystem.SelectedSystem, Stratigraphy.ClassificationSystem.ClassificationDetails[].Type
| Value | Description |
|---|---|
| 1 | USCS (Unified Soil Classification System) |
| 2 | AASHTO (American Association of State Highway and Transportation Officials) |
| 3 | AGS (Association of Geotechnical & Geoenvironmental Specialists) |
| 4 | ROCK (Rock classification system) |
| 5 | MODBURMISTER (Modified Burmister classification) |
CRSType (int)
Used in: Project.CrsType
Coordinate Reference System type classification.
| Value | Description |
|---|---|
| 1 | EPSG - EPSG coordinate reference system |
| 2 | SPC - State Plane Coordinate system |
| 3 | Manual - Manually defined coordinate system |
Mode (int?)
Used in: Stratigraphy.General.Mode
Indicates the data entry mode used when creating the stratigraphy record.
| Value | Description |
|---|---|
| 1 | Basic View - Simplified data entry mode |
| 2 | Detailed View - Full data entry mode with all fields |
TemperatureEnum (int)
Used in: Borehole.Temperature, DrillingGroundwaterLevels.Observations[].TemperatureEnum, PiezoData.GroundwaterLevels[].TemperatureEnum
| Value | Description |
|---|---|
| 1 | Fahrenheit |
| 2 | Celsius |
EndCapTypeNumber (int?)
Used in: PiezoData.Piezometer[].EndCapTypeNumber
| Value | Description |
|---|---|
| 0 | None - No end cap |
| 1 | Flat - Flat end cap/filter |
| 2 | Conic - Conic end cap |
ShowWireInstrument (int?)
Used in: PiezoData.PipeSegments[].ShowWireInstrument
Controls how the wire instrument is displayed on borehole logs.
| Value | Description |
|---|---|
| 0 | Wire Type 1 - Outlined rectangle |
| 1 | Solid Wire - Filled black rectangle |
| 2 | Hatched Wire - Rectangle with hatch pattern |
| null | No wire instrument |
FrozenSoilGroup (int)
Used in: Stratigraphy.FrozenSoils.Group
Classification of ice visibility and distribution in frozen soil layers.
| Value | Description |
|---|---|
| 1 | Ice Not Visible - No visible ice in frozen soil |
| 2 | Ice Visible Less Than One Inch - Visible ice with spacing less than 1 inch |
| 3 | Ice Visible More Than One Inch - Visible ice with spacing greater than 1 inch |
JoinerTermEnum (int?)
Used in: Sample.ColorDropdown.JoinerTerm, Stratigraphy.General.ColorDropdown.JoinerTerm, InterimChanges.ColorDropdown.JoinerTerm, PoorlyIndurated.ColorDropdown.JoinerTerm
Defines color joiner terms for describing multi-color materials.
| Value | Description |
|---|---|
| 1 | And - Distinct separate colors (e.g., "Brown and Gray") |
| 2 | To - Gradation between colors (e.g., "Brown to Gray") |
| 3 | MottledWith - Colors mottled together (e.g., "Brown mottled with Gray") |
Log Symbol Colors
For applications rendering geotechnical logs, ForeColor & BackColor in Stratigraphy provide the rendering colors for log symbol/hatch patterns:
- These are hexadecimal color codes (e.g.,
"#000000"for black,"#ffffff"for white) - Colors correspond to whichever symbol is used:
- If
AgsLegendCodeis present, colors come from the AGS hatch symbol configuration - If using a standard
SoilSymbol(e.g., "ML", "CH", "GP"), colors come from the soil symbol configuration
- If
- Use these to render hatch patterns with the correct foreground/background colors on your geotechnical logs
- Default fallback:
#000000(black) for foreground,#ffffff(white) for background
Integration Guidelines
Producing Data for RSLog Import
If you are a third-party vendor producing project JSON for import into RSLog, keep the following in mind:
Use the same file structure. The import expects the same
Properties/Project/Boreholestop-level shape documented above, with PascalCase keys.Match lookups to the target DataTemplate. Fields marked "Yes (lookup)" must contain values that exist in the DataTemplate assigned to the target project. For example, if the DataTemplate defines a sample type with
title="SPT Split Spoon", the import file must use"TypeName": "SPT Split Spoon"-- not an abbreviation. The full mapping of which export field resolves to which DataTemplate list is in the DataTemplate Format documentation.Required vs optional fields. Fields marked "Yes" in the Required column must be present. Fields marked "Conditional" are required only when the stated condition is met. All other fields can be omitted or set to
null. Collections (Samples,Stratigraphy, etc.) can be empty arrays or omitted entirely.Depth convention. Depths are measured below ground surface.
FromDepthis always less thanToDepthfor any interval.Calculated fields are ignored on import. Fields marked "Used in RSLog Import? No" (such as
Thickness,TotalTestholes,GroundwaterElev) are calculated by RSLog and do not need to be populated.Enum fields require integer codes. Do not pass string descriptions for enum fields. Use the numeric values from the Enum Reference section (e.g.
"Temperature": 1for Fahrenheit, not"Temperature": "Fahrenheit").Date and time strings. Use ISO 8601 format for dates (
"2025-03-15"or"2025-03-15T08:00:00Z"). Times are simple strings ("08:00").
Working with Enum Fields
Fields labeled as Enum (int) or Enum (int?) contain numeric codes that represent specific values. Always refer to the Enum Reference section to understand what each number means.
Examples:
ClassificationSystemEnum: 1→ USCSCRSType: 1→ EPSGMode: 2→ Detailed ViewTemperature: 1→ FahrenheitEndCapTypeNumber: 0→ NoneShowWireInstrument: null→ No wire instrumentFrozenSoilGroup: 2→ Ice Visible Less Than One Inch
Integration Tip: Store both the numeric value and its string representation for better readability in your system.
Working with Lookups
Many fields reference controlled vocabularies (e.g., UnitSystem, DrillMethod, ConsistencyDescriptor). These require matching against your own reference data:
Pattern: Fields ending in "Name", "Title", "Symbol", or "Descriptor" are typically lookup fields.
Example:
{
"UnitSystem": "Imperial",
"UnitSystemId": "12345678-1234-1234-1234-123456789012"
}
- Use
UnitSystem(the name) for lookup - Ignore
UnitSystemId(RSLog internal reference)
Coordinate System Understanding
Lat/Long vs Latitude/Longitude:
Lat/Long- Always geographic coordinates in WGS84, regardless of project CRSLatitude/Longitude- Display values that depend on the CRS (could be lat/long or easting/northing)Easting/Northing- Explicit projected coordinates
Integration Tip: Use Lat/Long for reliable geographic positioning across different coordinate systems.
Depth Convention
RSLog uses depth below surface as the primary measurement:
- Positive values increase with depth
FromDepthis always <ToDepthfor intervals- Elevation values are calculated when needed
Date/Time Formats
Date and time fields are exported as strings in various formats:
- Dates: ISO format or locale-specific
- Times: TimeSpan format (HH:mm:ss)
- Attempt parsing with fallbacks
Complex Nested Objects
Some objects have flexible JSON structures:
- ClassificationSystem - Classification details vary by system
- LabTests - Different tests have different properties
- RockTypeData - Rock type details as structured JSON
- ExtraProperties/ExtraTags - Custom extensibility
Parse these as dynamic JSON when needed.
Boolean vs Enum Fields
Some fields that appear boolean are actually enums exported as integers. See the Enum Reference section for complete definitions:
TestHoleType- String enum: "Drill Hole" or "Test Pit" (not true/false)Temperature- Enum (int): 1=Fahrenheit, 2=CelsiusClassificationSystem- Enum (int?): 1-5 representing different classification systemsMode- Enum (int?): 1=Basic, 2=DetailedEndCapTypeNumber- Enum (int?): 0=None, 1=Flat, 2=ConicShowWireInstrument- Enum (int?): 0/1/2 for different display options, null for none
Handling Missing Data
- Nullable fields (
double?,int?,bool?) may be null - Empty strings vs null - both indicate missing data
- Empty collections vs null - check for both
Example: Minimal Project
{
"Properties": {
"FileVersion": "v3",
"ExportedBy": "user@example.com",
"DateCreated": "2025-01-15T10:30:00Z"
},
"Project": {
"Title": "Highway Expansion Project",
"Number": "HWY-2025-001",
"ClientName": "State DOT",
"UnitSystem": "Imperial",
"CoordinateSystem": "NAD83 / UTM zone 10N",
"Lat": 37.7749,
"Long": -122.4194,
"Latitude": 37.7749,
"Longitude": -122.4194
},
"Boreholes": [
{
"Name": "BH-1",
"Depth": 50.0,
"Latitude": 37.7750,
"Longitude": -122.4195,
"Elevation": 125.5,
"Temperature": 1,
"Stratigraphy": [
{
"FromDepth": 0.0,
"ToDepth": 5.0,
"Title": "Sandy SILT",
"Description": "Brown, moist, medium stiff sandy silt",
"SoilSymbol": "ML",
"ClassificationSystem": {
"SelectedSystem": 1
},
"General": {
"MoistureDescriptor": "Moist",
"ConsistencyDescriptorDescriptor": "Medium Stiff",
"Mode": 2,
"ForeColor": "#000000",
"BackColor": "#D2B48C"
}
}
],
"Samples": [
{
"FromDepth": 2.5,
"ToDepth": 3.5,
"Number": "S-1",
"TypeName": "SPT",
"BlowCounts": "4-6-8-10"
}
],
"PiezoData": {
"Piezometer": [
{
"PiezometerNo": "PZ-1",
"EndCapTypeNumber": 1,
"PipeSegments": [
{
"FromDepth": 10.0,
"ToDepth": 15.0,
"PipeType": "Screen",
"ShowWireInstrument": 0
}
],
"GroundwaterLevels": [
{
"Date": "2025-01-15",
"WaterDepth": "12.5",
"TemperatureEnum": 1
}
]
}
]
}
}
]
}
Notes on this example:
Enum values (see Enum Reference):
"Temperature": 1= Fahrenheit"SelectedSystem": 1= USCS classification system"Mode": 2= Detailed View data entry"EndCapTypeNumber": 1= Flat end cap"ShowWireInstrument": 0= Wire Type 1 display"TemperatureEnum": 1= Fahrenheit
Log Symbol Colors (see Log Symbol Colors):
"ForeColor": "#000000"= Black (foreground color for the hatch pattern)"BackColor": "#D2B48C"= Tan/Brown (background color for the hatch pattern)
These hex color codes represent the rendering colors for the log symbol/hatch pattern (from either AGS hatch symbol or standard soil symbol) and can be used by third-party applications to render geotechnical logs correctly.
Coordinates:
"Lat"/"Long"= Geographic coordinates (always WGS84)"Latitude"/"Longitude"= Display coordinates (CRS-dependent)
Support & Questions
For questions about the RSLog JSON export format:
- Check this documentation first
- Review field categories and enum references
- Contact RSLog support for clarification