Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
dev:desktop_ext:mapping:manage:runs_version [2016/06/17 10:38]
127.0.0.1 external edit
dev:desktop_ext:mapping:manage:runs_version [2024/03/06 18:55] (current)
glen [Mapping Run Configurations]
Line 1: Line 1:
-====== Orbit Run Versions & Structure ======+====== Orbit Mapping Resources - Structure and Configs ======
  
-This page describes some technical information about the Orbit mobile mapping Run files and structure+This page describes basic technical configurations of Orbit Mapping\UAS Runs and Oblique Projects
  
-Orbit is constantly improving tools and software which may result in an update of the files and structure of an Orbit mobile mapping Run. \\ +It is strongly recommended to read first  
-Backwards compatibility is guaranteed. A newer Orbit release supports mobile mapping runs imported in a previous Orbit version. However to take advantage of new feature updates it may be required to use the latest Orbit run version.+  * [[dev:technology:3d_mapping:about_resources|]]  
 +  * [[dev:technology:3d_mapping:about_resources_oblique|]]
  
-It is strongly recommended to read first [[technology:mm_concepts:about_resources|]].+===== Concepts =====
  
-===== Run version 3 from Orbit 11.0 =====+=== Import Templates ===
  
-An Orbit run version 3 uses the “orbit_mm_run.omr” file as central mobile mapping run resource file. \\ +All advanced technical configurations related to the used resources and mobile mapping system are managed via the import template and applied on import, so-called "Import configurations". \\ 
-Run version 3 has been developed to optimize performance and to use new tools of the  [[160:products:mm_content_manager|]].+Some additional configurations can be added or updated after import, so-called "Optional configurations".
  
-Structure updates compared to run version 2 : +=== Backwards compatibility and New Features ===
-  * Point Cloud : ../pointcloud/point_cloud.opc +
-  * Simplified Trajectory : ../trajectory_simplified +
-  * Trajectory Adjustments : ../trajectory_adjustment+
  
-==== Configuration files ====+Orbit is constantly improving tools and software which may result in an update of the files and structure of a Mapping Run. \\ 
 +Backward compatibility is guaranteed. A newer Orbit release supports mobile mapping runs created by a previous Orbit version. However, to take advantage of new features it is required to use the latest file and run structures.
  
-All advanced technical configurations related to the used resources and mobile mapping system are managed via the import template and applied on import, so called "Import configurations". \\ +An Orbit Run version 3 uses the "orbit_mm_run.omrfile as a reference resource file. \\ 
-Some additional configurations can be added or updated after import, so called "Optional configurations".+An Orbit Oblique Project version 3 uses the "orbit_oblique.oopfile as a reference resource file. \\ 
 +This updated structure has been developed to optimize performance and to use new tools of the  [[dev:products:3dm_manage_and_extract|]] and 3D Mapping Cloud.
  
-=== Import configurations ===+For previous version or to convert existing runs\projects into the updated structure, see [[110:mobile_mapping:desktop:mobile_mapping:manage:runs_version|]].
  
-An Orbit training is required to create and update your proper import configuration files. Contact sales at orbitgt dot com. +=====  Mapping Run Configurations =====
  
-=== Optional configurations ===+Configurations to be added into the .omr Mapping Resource root file. \\ 
 +Edit and save the configuration files using a standard text editor (e.g. Notepad), respect file formatting and structure. 
  
-Add/edit and save the listed files using a standard text editor (e.g. Notepad).+==== Parameters editable at Create Run ====
  
-== orbit_mm_run.omr ==+To allow the user to enter any parameter through the user interface following structures are used in *.omr and *.oop: 
 +  * **template.parameters**: general parameter applicable for the whole Run, currently only **PARAM_CRS** and **PARAM_CRS2** (see Source and Target CRS below) can be entered in general parameters 
 +  * **template.parameters.name_of_the_resource**: parameters applicable only for a specific resource in the Run
  
-The Orbit run identifier file (required)\\ +<code> 
-<Orbit Run directory>/orbit_mm_run.omr+Example: 
 +template.parameters.planar1=SensorSizePIXX;SensorSizePIXY;SensorSizeXMM;SensorSizeYMM;PrincipalPointX;PrincipalPointY;FocalLenghtMM;Dist_CV_K1;Dist_CV_K2;Dist_CV_K3;Dist_CV_K4;Dist_CV_K5;Dist_CV_K6;Dist_CV_P1;Dist_CV_P2;Dist_CV_CX;Dist_CV_CY;Dist_CV_FX 
 +template.parameters.planar2=SensorSizePIXX;SensorSizePIXY;SensorSizeXMM;SensorSizeYMM;PrincipalPointX;PrincipalPointY;FocalLenghtMM;Dist_CV_K1;Dist_CV_K2;Dist_CV_K3;Dist_CV_K4;Dist_CV_K5;Dist_CV_K6;Dist_CV_P1;Dist_CV_P2;Dist_CV_CX;Dist_CV_CY;Dist_CV_FX 
 +</code> 
 +Parameters will be read into corresponding {name_of_the_parameter} variable.
  
-** Camera height ** \\ +==== Source and Target CRS ====
-''photo.camera.height''+
  
-Height of camera above the road surface expressed in metersuse dot as decimal separatorThis height is used to [[160:desktop_ext:mobile_mapping:use:overlay_vector|display 2D vector data]] in the 3D mobile mapping views and for the [[160:desktop_ext:mobile_mapping:use:measure|point drop measure function]]+To allow re-projecting of the data from one projection system to another 2 parametersentered through GUI, are available 
 +  * Source projection system -  **PARAM_CRS**: projection system (CRS) of the source filesWe assume that all source files (trajectory, photo positions, point cloud, etc are provided in the same CRS) 
 +  * Target projection system -  **PARAM_CRS2**final CRS of the Run 
 +<note important>There is only one case when Orbit requires re-projecting of the datain case if the input files are provided in feet-based CRS, we strongly recommend re-project into the corresponding meter based CRS. In all other cases, we advise keeping data as is as any conversion introduces in-accuracy.</note>
  
-** Simplified trajectory ** \\ +==== Images file extension ====
-''simplified.trajectory.maximum.distance'' \\ +
-''simplified.trajectory.part.separation'' \\ +
-''photo.sequence.key''+
  
-At import photo positions or trajectory the trajectory simplified (coveragewill be created automatically if not yet exists. The above settings can be used to adjust the defaults, as used in the example below.  +The used image storage format of original images (panorama or planar). 
-  * maximum.distance coordinate will be added if its perpendicular drop distance to the segment between previous and next coordinate is larger than maximum.distance (meter)+ 
-  * part.separation two consecutive original coordinates won't be connected if segment length is larger than part.separation (meter).  +  * File <Orbit Run>/orbit_mm_run.omr; <Orbit Run>/orbit_oblique.oop 
-  * photo.sequence.key Initial sort of coordinates before connecting to lines is based on the string value of the  photo.sequence.key attribute(s). Add prefix zero characters to obtain expected sort when using integer value as sort reference. A combination of attribute values can be used  as welle.g. OrbitTimeStamp+ObjectId.+  * Parameter : ''photo.file.extension'' 
 +  * Values Any supported image resource can be used, see [[dev:technology:supported_formats:index|]].\\ 
 +  * Default Value : .jpg 
 + 
 +=== Example ===
  
-** Example ** 
 <code> <code>
 version 3 version 3
Line 57: Line 66:
 project.file orbit_mm_run.omr project.file orbit_mm_run.omr
 photo.camera.height 2.20 photo.camera.height 2.20
-simplified.trajectory.maximum.distance 1 
-simplified.trajectory.part.separation 10 
 photo.sequence.key OrbithPhotoId photo.sequence.key OrbithPhotoId
-fixed.local.crs {PARAM_CRS}+photo.file.extension .tif
 template.parameters=PARAM_CRS template.parameters=PARAM_CRS
 </code> </code>
  
-== link.ini ==+==== Redirect image file directory ====
  
-The image redirect file (optional) ((link.ini image redirect file : available from Orbit 11.1.0)). \\ +To avoid file copy into the appropriated Orbit run folder a single line ascii text file can be used to specify the image file path prefixThe file path prefix combined with the OrbitFileName attribute value will be used as file pointer
-<Orbit Run directory>/<camera>/original/link.ini \\ +
-<Orbit Run directory>/<camera>/processed/link.ini+
  
-**Redirect images** \\ +  File : \\ ''./panorama<x>/original/link.ini'' \\ ''./panorama<x>/processed/link.ini'' \\ ''./planar<x>/original/link.ini'' \\ ''./planar<x>/processed/link.ini'' \\ 
-To avoid file copy into the appropriated Orbit run folder structure single line ascii text file can be used to specify the image file path prefix. The file path prefix combined with the OrbitFileName attribute value will be used as file pointer+  Parameter : not applicable 
 +  Values : directory path 
 +  Default Value :  
 +  * Example <code> 
 +\\192.168.0.1\images\ 
 +</code> 
 + 
 +==== Camera Height ==== 
 + 
 +Height of the camera above ground expressed in meters, use dot as decimal separator. This height is used to [[dev:desktop_ext:mapping:use:overlay_vector|display 2D vector data]] in the 3D mobile mapping views and for the [[dev:technology:3d_mapping:measurements|point drop measure function]].  
 + 
 +  * File : <Orbit Run>/orbit_mm_run.omr; <Orbit Run>/orbit_oblique.oop 
 +  * Parameter : ''photo.camera.height'' 
 +  * Default Value : 2.2 
 +  * Unit : meters 
 + 
 +==== 2D Vector Visualization Parameters ==== 
 + 
 +The possible range of the offset of 2D vector data to the height of the photo position (presented as slider in the vector overlay parameters pop-up of the photo viewer). 
 + 
 +  * File : <Orbit Run>/orbit_mm_run.omr; <Orbit Run>/orbit_oblique.oop 
 +  * Parameters : \\ ''data2d.overlay.min.offset'' \\ ''data2d.overlay.max.offset''\\ 
 +  * Default value : 5 
 +  * Unit : meters 
 + 
 +Mostly need to be changed for UAS Runs depending on the flying height. 
 + 
 +==== Simplified Trajectory ==== 
 + 
 +At import of photo positions or trajectory the trajectory simplified (coverage) will be created automatically if does not yet exist. The below settings can be used to adjust the defaults, as used in the example below. The creation of the Simplified Trajectory required the OrbitPhotoID to be unique for every image. 
 + 
 +Coordinate will be added if its perpendicular drop distance to the segment between the previous and next coordinate is larger than maximum.distance. 
 +  * File : <Orbit Run>/orbit_mm_run.omr  
 +  * Parameter : ''simplified.trajectory.maximum.distance''  
 +  * Values : Integer value 
 +  * Units: meter 
 +  * Default Value : 1 
 + 
 +Two consecutive original coordinates won't be connected if segment length is larger than part.separation. 
 +  * File : <Orbit Run>/orbit_mm_run.omr  
 +  * Parameter : ''simplified.trajectory.part.separation''  
 +  * Values : Integer value 
 +  * Units: meter 
 +  * Default Value : 10 
 + 
 +The initial sort of coordinates before connecting to lines is based on the string value of the photo.sequence.key attribute(s). Add prefix zero characters to obtain expected sort when using integer value as sort reference. 
 +  * File : <Orbit Run>/orbit_mm_run.omr  
 +  * Parameter : ''photo.sequence.key'' 
 +  * Values : Any photo position attribute, a combination of attributes can be used, e.g. OrbitTimeStamp+ObjectId. 
 +  * Default Value : OrbitPhotoId 
 + 
 +Generalization of the trajectory visualization for different viewing scales. It is only recommended to change it in case if trajectory recorded with less than 1 point per meter. 
 +  * File : <Orbit Run>/orbit_mm_run.omr  
 +  * Parameter : ''simplified.overlay.size.pixels''  
 +  * Values : Integer value 
 +  * Units: meter 
 +  * Default Value : 10 
 + 
 +=== Example ===
  
-**Example** 
 <code> <code>
-\\192.168.0.1\images\+version 3 
 +project.type generic 
 +project.file orbit_mm_run.omr 
 +photo.camera.height 2.20 
 +simplified.trajectory.maximum.distance 1 
 +simplified.trajectory.part.separation 10 
 +photo.sequence.key OrbithPhotoId 
 +template.parameters=PARAM_CRS
 </code> </code>
-===== Run version 2 from Orbit 10.5 to 11.0 ===== 
  
-An Orbit run version 2 uses the “orbit_mm_run.omr” file as central mobile mapping run resource file. \\ +If any of the parameters are changed after a Run was already imported the simplified trajectory needs to be recalculatedIn order that to happen:\\ 
-Run version 2 has been developed to optimize performance and to use new tools like [[160:desktop_ext:mobile_mapping:manage:imagery|]] and [[160:desktop_ext:mobile_mapping:manage:pointcloudimage|]].+ - Delete trajectory_simplified.ovt\\ 
 + - Open the Run --> Edit Run --> Re-Import PanoramaWhen you import panorama's photo positions the simplified trajectory will be recalculated
  
-Structure :  +==== Reference Height ====
-  * Photo positions : ../panorama/locations.ovt +
-  * Images : ../panorama/original or processed if the images are processed +
-  * Point Cloud : ../pointcloud/point_cloud.ocp +
-  * Point Cloud Orthophotos : ../pointcloud_ortho +
-  * Trajectory : ../trajectory+
  
-===== Run version 1 from Orbit 10.0 to 10.5 =====+Mean terrain height. The value is used as a fall back value for the areas with missing DEM 
 +  * File : <Orbit Run>/orbit_oblique.oop 
 +  * Parameter : ''reference.z'' 
 +  * Unit : meter 
 +  * Default value : 0
  
-An Orbit run version 1 uses the “panorama_positions.ovf” file as central mobile mapping run resource file. +==== Reference Direction ====
  
-Structure :  +''reference.pan'' 
-  * Photo positions panorama_positions.ovf +Photo orientation offset (heading) between the reference north direction and the actual north flying axis. 
-  * Images : /images/ +  * File <Orbit Run>/orbit_oblique.oop 
-  * Point Cloud : point_cloud.ovt+  * Parameter ''reference.pan'' 
 +  * Unit degrees 
 +  * default value : 0° 
 +  * Positive rotation : clockwise 
 + 
 +Photo orientation maximal deviation (heading) from the reference directions. All oblique images are assigned to one of the four flying axes based on their heading. The total angle which defines one flying axe class is defined as the reference direction of that flying axe plus twice the near margin value (once on each side of the axe). 
 +  * File : <Orbit Run>/orbit_oblique.oop 
 +  * Parameter : ''near.margin'' 
 +  * Unit : degrees 
 +  * Default value : 10° 
 +  * Positive rotation : not applicable as this is an absolute value 
 + 
 +==== OrbitPhotoId Unique Image ID==== 
 + 
 +The OrbitPhotoId must be a unique image id for the entire Mapping Run. \\ 
 +Attention required if one run has multiple planar cameras having images with the same filename. Ensure the OrbitPhotoId value to be unique for all images of the entire Mapping Run. \\ 
 +If needed use the "concat" function to add a the camera name as prefix to create a unique image id. 
 + 
 +==== Timestamp Offset==== 
 + 
 +Convert timestamp values from GPS Week Seconds to Absolute GPS Time and vice versa for Trajectory, Photo Positions and Point Cloud data. \\ 
 +The offset between GPS Week Seconds to Absolute GPS Time. The value can be negative or positive. \\ 
 +At "Create Run" the offset value can be entered by the user. The entered value will be used to replace the template place holder Tag  {PARAM_TIMESTAMP_OFFSET}. 
 + 
 +=== Trigger user to enter time offset at Create Run === 
 + 
 +  * File: <Orbit Run>/orbit_mapping_run.omr (or orbit_mm_run.omr) \\ <code>template.parameters=PARAM_TIMESTAMP_OFFSET</code> 
 + 
 +=== Template Tag to be replaced by user-entered offset value === 
 + 
 +Photo Positions 
 +  * File: <Orbit Run>/<camera>/import/import_locations.ord \\ <code>   AddAttribute= 
 +    AttributeName=OrbitTimestamp 
 +    AttributeType=FLOAT8 
 +    AttributeExpression=Add({PARAM_TIMESTAMP_OFFSET},[Imported Value])</code>  
 + 
 +Trajectory 
 +  * File: <Orbit Run>/trajectyory/import/import_trajectory.ord \\ <code>   AddAttribute= 
 +    AttributeName=OrbitTimestamp 
 +    AttributeType=FLOAT8 
 +    AttributeExpression=Add({PARAM_TIMESTAMP_OFFSET},[Imported Value])</code>  
 +     
 +Point Cloud 
 +  * File<Orbit Run>/pointcloud/import/import.ini \\ <code>TimeOffset {PARAM_TIMESTAMP_OFFSET}</code> 
 + 
 +==== Heading and Tilt==== 
 + 
 +When no orientation heading and tilt are available, it can be calculated based on previous and next photo positions. 
 + 
 +  * File : <Orbit Run>/orbit_mm_run.omr  
 +  * Parameter : ''template.pan_tilt.calculate''  
 +  * Values : image folder 
 + 
 +=== Example === 
 + 
 +<code> 
 +version 3 
 +project.type generic 
 +project.file orbit_mm_run.omr 
 +photo.camera.height 2.20 
 +template.pan_tilt.calculate panorama1 
 +template.parameters=PARAM_CRS 
 +</code>
  
 +====== Video ======
  
-\\ +===Supported formats===
-===== Update existing runs =====+
  
-==== Update run vresion 2 to 3 ====+Preferably .mp4 files. \\ 
 +When using cloud blob storage, the storage needs to support "range requests" to open the video at a specific time offset from start.
  
-A new import using a run template version 3 is required. \\ 
-A version 2 point cloud can be selected as source file to import your new run.  
  
-==== Update run version 1 to 2 ====+===Attributes===
  
-A new import using a run template version 2 is required. \\ +|< 100% 10% 60% 10% 10% 10% >| 
-A version 1 point cloud can be recovered, copy ../pointcloud/processed/*.opc and *.opcmr files to your new run.+^ What ^ Description ^  Data type  ^  Units  ^  Necessity 
 +| Video Filename  | - Relative location inside the run's video folder.\\ - Absolute URL pointing to the online storage location of the video  string  | |  required 
 +| Video Time  | The time offset from the start of the video.  |  integer  |  milliseconds |  required   
 + 
 
Last modified:: 2018/06/21 08:13