PageSourceSearch

https://docs-vrgeo-version3.netlify.app/assets/js/6e833d7c.e688eba8.js

js docs-vrgeo-version3.netlify.app collected 2026-10-03 10:40:46 UTC 22,419 bytes, 1 lines download raw bytes

1"use strict";(globalThis.webpackChunkvrgs_docs_v_3_1=globalThis.webpackChunkvrgs_docs_v_3_1||[]).push([[7148],{56619(e,t,n){n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>a,default:()=>c,frontMatter:()=>o,metadata:()=>r,toc:()=>h});const r=JSON.parse('{"id":"general/setup-system/coordinate-systems","title":"Coordinate Systems and Georeferencing","description":"Set a project coordinate reference system in VRGS, understand how linear units and vertical datums are handled, reproject data that arrives in the wrong frame, and avoid the silent errors that put a model kilometres from where it belongs.","source":"@site/docs/general/setup-system/coordinate-systems.md","sourceDirName":"general/setup-system","slug":"/general/setup-system/coordinate-systems","permalink":"/docs/next/general/setup-system/coordinate-systems","draft":false,"unlisted":false,"editUrl":"https://github.com/vrgeoscience/vrgs_docs_v3/tree/master/docs/general/setup-system/coordinate-systems.md","tags":[],"version":"current","sidebarPosition":6.5,"frontMatter":{"id":"coordinate-systems","title":"Coordinate Systems and Georeferencing","sidebar_label":"Coordinate Systems","description":"Set a project coordinate reference system in VRGS, understand how linear units and vertical datums are handled, reproject data that arrives in the wrong frame, and avoid the silent errors that put a model kilometres from where it belongs.","keywords":["coordinate system","CRS","EPSG","projection","georeferencing","vertical datum","geoid","orthometric","ellipsoidal height","units","survey feet","reprojection"],"sidebar_position":6.5},"sidebar":"docs","previous":{"title":"Third-Party Licenses","permalink":"/docs/next/general/setup-system/third-party-licenses"},"next":{"title":"GNSS in the Field","permalink":"/docs/next/general/setup-system/gnss-field-navigation"}}');var s=n(74848),i=n(28453);const o={id:"coordinate-systems",title:"Coordinate Systems and Georeferencing",sidebar_label:"Coordinate Systems",description:"Set a project coordinate reference system in VRGS, understand how linear units and vertical datums are handled, reproject data that arrives in the wrong frame, and avoid the silent errors that put a model kilometres from where it belongs.",keywords:["coordinate system","CRS","EPSG","projection","georeferencing","vertical datum","geoid","orthometric","ellipsoidal height","units","survey feet","reprojection"],sidebar_position:6.5},a=void 0,d={},h=[{value:"What VRGS stores",id:"what-vrgs-stores",level:2},{value:"Setting the project CRS",id:"setting-the-project-crs",level:2},{value:"Linear units",id:"linear-units",level:2},{value:"Vertical datums and heights",id:"vertical-datums-and-heights",level:2},{value:"Enabling the geoid transform",id:"enabling-the-geoid-transform",level:3},{value:"What changed, and which projects it affects",id:"what-changed-and-which-projects-it-affects",level:3},{value:"Reprojecting data that arrives in the wrong frame",id:"reprojecting-data-that-arrives-in-the-wrong-frame",level:2},{value:"What depends on the CRS",id:"what-depends-on-the-crs",level:2},{value:"Diagnosing a georeferencing problem",id:"diagnosing-a-georeferencing-problem",level:2},{value:"Tips and troubleshooting",id:"tips-and-troubleshooting",level:2},{value:"See also",id:"see-also",level:2}];function l(e){const t={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(t.p,{children:["Almost everything in VRGS that reaches outside the project \u2014 satellite imagery,\nthe globe, GNSS, KML export, photogrammetric GPS \u2014 has to convert between the\nproject's coordinates and the rest of the world. That conversion needs a\n",(0,s.jsx)(t.strong,{children:"project coordinate reference system"}),", and getting it wrong fails ",(0,s.jsx)(t.strong,{children:"silently"}),":\nthe model still loads, the numbers still look plausible, and everything is in the\nwrong place."]}),"\n",(0,s.jsx)(t.p,{children:"This guide is about setting it correctly and recognising when it is not."}),"\n",(0,s.jsx)(t.h2,{id:"what-vrgs-stores",children:"What VRGS stores"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{}),(0,s.jsx)(t.th,{})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsxs)(t.strong,{children:["Every ordinate \u2014 X, Y ",(0,s.jsx)(t.em,{children:"and Z"})," \u2014 is in the project CRS's horizontal linear unit."]})}),(0,s.jsx)(t.td,{children:"If your CRS is in US survey feet, elevations are in feet too. That is the convention survey data arrives in, and VRGS keeps it."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsx)(t.strong,{children:"Nothing is stored in latitude and longitude."})}),(0,s.jsx)(t.td,{children:"Data that arrives as lat/long is converted on the way in and stored in project coordinates like everything else."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"The second point matters more than it sounds: a GNSS fix, a photograph's EXIF\nGPS position, an imported KML \u2014 all of them are projected into the project frame\nat import. If there is no CRS, they cannot be placed at all, and VRGS will tell\nyou so rather than dropping them at the origin."}),"\n",(0,s.jsx)(t.h2,{id:"setting-the-project-crs",children:"Setting the project CRS"}),"\n",(0,s.jsxs)(t.ol,{children:["\n",(0,s.jsxs)(t.li,{children:["Open the ",(0,s.jsx)(t.strong,{children:"project properties"})," (the project-settings button at the top of the\nProperties panel)."]}),"\n",(0,s.jsxs)(t.li,{children:["Find ",(0,s.jsx)(t.strong,{children:"EPSG Co
1de"})," under ",(0,s.jsx)(t.strong,{children:"General"})," and click the ",(0,s.jsx)(t.strong,{children:"\u2026"})," button."]}),"\n",(0,s.jsxs)(t.li,{children:["Search the coordinate-system list. Search matches the whole phrase, so start\nbroad \u2014 ",(0,s.jsx)(t.code,{children:"UTM"}),", or ",(0,s.jsx)(t.code,{children:"OSGB"})," \u2014 and narrow afterwards."]}),"\n",(0,s.jsx)(t.li,{children:"Pick the system and accept."}),"\n"]}),"\n",(0,s.jsxs)(t.p,{children:["The property also shows the CRS's ",(0,s.jsx)(t.strong,{children:"Description"})," and ",(0,s.jsx)(t.strong,{children:"Code"})," read back, which\nis the quickest way to confirm you got the one you meant."]}),"\n",(0,s.jsx)(t.admonition,{title:"Set it before you load data, not after",type:"tip",children:(0,s.jsxs)(t.p,{children:["Data is converted into the project frame ",(0,s.jsx)(t.strong,{children:"as it is imported"}),". Setting the CRS\nafterwards does not retrospectively move anything that came in without one."]})}),"\n",(0,s.jsxs)(t.p,{children:["For a walkthrough with screenshots, see\n",(0,s.jsx)(t.a,{href:"/docs/next/tutorial/tutorial-extras/ta100-setting_coordinate_system",children:"Setting the coordinate system"}),"."]}),"\n",(0,s.jsx)(t.h2,{id:"linear-units",children:"Linear units"}),"\n",(0,s.jsx)(t.p,{children:"A CRS in feet stores everything in feet. V
1RGS handles the conversion where it has\nto, but there are two consequences worth knowing."}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Every distance you measure is in project units."})," A measurement of ",(0,s.jsx)(t.code,{children:"12.4"}),' on a\nUS-survey-feet project is 12.4 feet. Dialogs and docs generally say "m" because\nmost projects are metric \u2014 read it as "project linear units".']}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Anything leaving the project is converted to metres"}),", because that is what\nevery external consumer expects. VRGS reads the conversion factor from the CRS\nitself, so this is automatic \u2014 but it is also why a project whose CRS is ",(0,s.jsx)(t.em,{children:"not\nset"})," can produce output that is out by a factor of 3.28."]}),"\n",(0,s.jsx)(t.admonition,{title:"Mixing units in one project",type:"caution",children:(0,s.jsxs)(t.p,{children:["A mesh exported in feet and imported into a metric project arrives 3.28\xd7 too\nlarge. Fix it at import with ",(0,s.jsx)(t.strong,{children:"Transform \u2192 Coordinate Conversion \u2192 Feet to\nMeters"})," on the object, ",(0,s.jsx)(t.em,{children:"before"})," interpreting on it \u2014 see\n",(0,s.jsx)(t.a,{href:"/docs/next/general/meshes-point-clouds/model-preparation",children:"Preparing a Model"}),"."]})}),"\n",(0,s.jsx)(t.h2,{id:"vertical-datums-and-heights",children:"Vertical datums and heights"}),"\n",(0,s.jsx)(t.p,{children:"Horizontal position and height are separate problems, and height is the one that\ngoes wrong quietly."}),"\n",(0,s.jsx)(t.p,{children:"There are two kinds of height:"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{}),(0,s.jsx)(t.th,{})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsx)(t.strong,{children:"Ellipsoidal"})}),(0,s.jsx)(t.td,{children:"Height above the mathematical ellipsoid. What GNSS receivers natively measure, and what most drones write into EXIF."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsx)(t.strong,{children:"Orthometric (MSL)"})}),(0,s.jsx)(t.td,{children:'Height above the geoid \u2014 "height above sea level". What survey data and topographic maps use.'})]})]})]}),"\n",(0,s.jsxs)(t.p,{children:["They differ by the ",(0,s.jsx)(t.strong,{children:"geoid separation"}),", which is tens of metres in many parts of\nthe world."]}),"\n",(0,s.jsx)(t.h3,{id:"enabling-the-geoid-transform",children:"Enabling the geoid transform"}),"\n",(0,s.jsxs)(t.p,{children:["In the same ",(0,s.jsx)(t.strong,{children:"EPSG Code"})," property:"]}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Setting"}),(0,s.jsx)(t.th,{children:"What it does"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsx)(t.strong,{children:"Vertical Datum Transforms"})}),(0,s.jsx)(t.td,{children:"Turn the geoid correction on for the project."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsx)(t.strong,{children:"Vertical Datum"})}),(0,s.jsxs)(t.td,{children:["The geoid model: ",(0,s.jsx)(t.strong,{children:"None"}),", ",(0,s.jsx)(t.strong,{children:"EGM2008 (EPSG:3855)"})," or ",(0,s.jsx)(t.strong,{children:"EGM96 (EPSG:5773)"}),"."]})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"With it on, VRGS converts ellipsoidal heights coming in from GNSS and\nphotogrammetry into the project's orthometric frame, instead of treating the two\nas interchangeable."}),"\n",(0,s.jsxs)(t.admonition,{title:"The SfM altitude datum is a separate decision",type:"caution",children:[(0,s.jsxs)(t.p,{children:["The SfM workflow has its own ",(0,s.jsx)(t.strong,{children:"GPS altitude is MSL"})," setting, because only you\nknow what the camera wrote. ",(0,s.jsx)(t.strong,{children:"Off"})," (the default) means the EXIF altitude is an\nellipsoidal height \u2014 true of most drones despite the EXIF specification saying\notherwise \u2014 and it is geoid-corrected on the way in. ",(0,s.jsx)(t.strong,{children:"On"})," means it is already\nMSL and is used as-is."]}),(0,s.jsxs)(t.p,{children:["Guessing this wrong shifts the whole model vertically by the local geoid\nseparation. See the ",(0,s.jsx)(t.a,{href:"/docs/next/general/meshes-point-clouds/sfm-user-guide",children:"SfM guide"}),"."]})]}),"\n",(0,s.jsx)(t.h3,{id:"what-changed-and-which-projects-it-affects",children:"What changed, and which projects it affects"}),"\n",(0,s.jsxs)(t.p,{children:["The project\u2194WGS84 conversion now transforms ",(0,s.jsx)(t.strong,{children:"heights"})," as well as horizontal\nposition. Previously the height passed through untouched, so VRGS and its own\nKML export could disagree about the same point by the size of the datum's height\nshift."]}),"\n",(0,s.jsxs)(t.p,{children:["The projects that moved are the ones on ",(0,s.jsx)(t.strong,{children:"legacy datums"}),":"]}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Datum"}),(0,s.jsx)(t.th,{children:"Height shift"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"OSGB36 / British National Grid"}),(0,s.jsx)(t.td,{children:"+49.53 m"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Belge 1972 / Lambert 72"}),(0,s.jsx)(t.td,{children:"+42.87 m"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"NAD27 / BLM 13N (ftUS)"}),(0,s.jsx)(t.td,{children:"\u221232.27 m"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"NAD83 / UTM, WGS 84 / UTM, RGF93"}),(0,s.jsx)(t.td,{children:"0.00 m"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Modern WGS84-aligned datums are unaffected, whatever their units. If you have an\nolder project on a legacy datum and its position relative to satellite imagery\nlooks different from how you remember it, this is why \u2014 and the new answer is the\ncorrect one."}),"\n",(0,s.jsx)(t.h2,{id:"reprojecting-data-that-arrives-in-the-wrong-frame",children:"Reprojecting data that arrives in the wrong frame"}),"\n",(0,s.jsxs)(t.p,{children:["Objects carry their own coordinates, so a single object in the wrong CRS can be\nconverted without touching the rest of the project. On a mesh, point cloud,\npolyline or orientation group's ",(0,s.jsx)(t.strong,{children:"Transform"})," submenu:"]}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Command"}),(0,s.jsx)(t.th,{children:"What it does"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsx)(t.strong,{children:"Between Coordinate Systems (CRS)"})}),(0,s.jsx)(t.td,{children:"Reproject the object from one CRS to another."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsxs)(t.td,{children:[(0,s.jsx)(t.strong,{children:"Meters to Feet"})," / ",(0,s.jsx)(t.strong,{children:"Feet to Meters"})]}),(0,s.jsx)(t.td,{children:"Fix a unit mismatch."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsx)(t.strong,{children:"Suggest UTM Zone"})}),(0,s.jsx)(t.td,{children:"Work out the appropriate UTM zone from the object's position \u2014 useful when you know the data is UTM but not which zone."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsxs)(t.td,{children:[(0,s.jsx)(t.strong,{children:"Translate"}),", ",(0,s.jsx)(t.strong,{children:"Rotate"}),", ",(0,s.jsx)(t.strong,{children:"Scale"})]}),(0,s.jsx)(t.td,{children:"Manual correction where there is no formal CRS to convert from."})]})]})]}),"\n",(0,s.jsxs)(t.p,{children:["For two datasets that should overlay but do not \u2014 and where no reprojection will\nfix it, because one of them was never georeferenced \u2014 use\n",(0,s.jsx)(t.a,{href:"/docs/next/general/meshes-point-clouds/icp-alignment",children:"ICP Alignment"})," to register one onto the\nother, or ground control points in the\n",(0,s.jsx)(t.a,{href:"/docs/next/general/meshes-point-clouds/sfm-user-guide",children:"SfM workflow"}),"."]}),"\n",(0,s.jsx)(t.h2,{id:"what-depends-on-the-crs",children:"What depends on the CRS"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Feature"}),(0,s.jsx)(t.th,{children:"What it needs the CRS for"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsx)(t.strong,{children:(0,s.jsx)(t.a,{href:"/docs/next/general/setup-system/gnss-field-navigation",children:"GNSS field navigation"})})}),(0,s.jsxs)(t.td,{children:["Placing a live fix. A capture with no project CRS 
1is ",(0,s.jsx)(t.strong,{children:"refused"}),", with the reason given, rather than landing at the origin."]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsx)(t.strong,{children:"Satellite imagery and the globe"})}),(0,s.jsx)(t.td,{children:"Positioning the model on the Earth. Cesium and Google 3D Tiles both work through this transform."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsx)(t.strong,{children:(0,s.jsx)(t.a,{href:"/docs/next/general/meshes-point-clouds/sfm-user-guide",children:"SfM"})})}),(0,s.jsx)(t.td,{children:"Converting camera GPS positions and ground control into the project frame."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsxs)(t.td,{children:[(0,s.jsx)(t.strong,{children:(0,s.jsx)(t.a,{href:"/docs/next/general/viewing-collaboration/geojson-export",children:"GeoJSON export"})})," and KML"]}),(0,s.jsx)(t.td,{children:"Writing coordinates a GIS can read."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsx)(t.strong,{children:(0,s.jsx)(t.a,{href:"/docs/next/general/viewing-collaboration/field-guide-editor",children:"Field guide maps"})})}),(0,s.jsx)(t.td,{children:"Placing the guide's spots and the model's footprint on a real map."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsx)(t.strong,{children:"Imported GIS layers"})}),(0,s.jsx)(t.td,{children:"Reprojecting them onto the project."})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"diagnosing-a-georeferencing-problem",children:"Diagnosing a georeferencing problem"}),"\n",(0,s.jsx)(t.p,{children:"Work through these in order \u2014 the answer is usually in the first two."}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"1. Is the project CRS set at all?"}),"\nCheck ",(0,s.jsx)(t.strong,{children:"EPSG Code"})," in the project properties. Blank means every one of the\nfeatures above is either disabled or falling back to something arbitrary."]}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"2. Is the model in roughly the right place on the globe?"}),"\nTurn on a satellite basemap and look. Errors have characteristic sizes:"]}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Symptom"}),(0,s.jsx)(t.th,{children:"Likely cause"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Model at (0, 0), or at the project origin"}),(0,s.jsx)(t.td,{children:"It never had georeferencing, or arrived before the CRS was set."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Right shape, in the wrong country"}),(0,s.jsxs)(t.td,{children:["Wrong CRS \u2014 often the right projection, wrong zone. ",(0,s.jsx)(t.strong,{children:"Suggest UTM Zone"})," on the object will tell you which it should be."]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Right place, 3.28\xd7 too big or too small"}),(0,s.jsx)(t.td,{children:"Feet / metres mismatch."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Right place horizontally, tens of metres out vertically"}),(0,s.jsx)(t.td,{children:"Vertical datum: either the geoid transform is off when it should be on, or the SfM altitude datum was set the wrong way."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Right place, kilometres too high"}),(0,s.jsx)(t.td,{children:"Elevations in feet being read as metres \u2014 a unit mismatch compounding into a datum shift."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Two models offset from each other by a constant"}),(0,s.jsx)(t.td,{children:"One is georeferenced and one is not, or they are on different datums."})]})]})]}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"3. Does the height agree with something you trust?"}),"\nCompare a known point against a map or a GNSS reading. A constant offset of tens\nof metres is a geoid problem, not a positioning one."]}),"\n",(0,s.jsx)(t.h2,{id:"tips-and-troubleshooting",children:"Tips and troubleshooting"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"The CRS search finds nothing."})," It matches the whole phrase. Search ",(0,s.jsx)(t.code,{children:"UTM"}),"\nbefore ",(0,s.jsx)(t.code,{children:"WGS 84 / UTM zone 30N"}),"."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"A GNSS capture says the position cannot be placed."})," Either there is no\nproject CRS, or the fix is outside the CRS's valid domain \u2014 a UTM zone covers\n6\xb0 of longitude and refuses positions outside it."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Satellite imagery is offset from the model."})," Check the CRS first, then the\nvertical datum. An old project on a legacy datum may simply be showing you the\ncorrected height for the first time."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"My measurements are in the wrong units."})," They are in project linear units.\nIf the CRS is in feet, so are the measurements."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"I reprojected an object and my interpretation stayed behind."})," Interpretations\nare separate objects with their own coordinates. Convert them too, or \u2014\nbetter \u2014 get the CRS right before interpreting."]}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"see-also",children:"See also"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.a,{href:"/docs/next/tutorial/tutorial-extras/ta100-setting_coordinate_system",children:"Setting the coordinate system"})," \u2014 the walkthrough."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.a,{href:"/docs/next/general/setup-system/project-properties",children:"Project Properties"})," \u2014 where the CRS lives."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.a,{href:"/docs/next/general/meshes-point-clouds/model-preparation",children:"Preparing a Model"})," \u2014 fixing an object's frame before you interpret on it."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.a,{href:"/docs/next/general/setup-system/gnss-field-navigation",children:"GNSS Field Navigation"})," \u2014 the feature that depends on the CRS most directly."]}),"\n"]})]})}function c(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},28453(e,t,n){n.d(t,{R:()=>o,x:()=>a});var r=n(96540);const s={},i=r.createContext(s);function o(e){const t=r.useContext(i);return r.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.