Projection not implemented for LAS header - not even with custom EPSG code

Joey NeidertJoey Neidert Global Mapper UserPosts: 23Trusted User
edited May 2013 in Projection Questions
I have used Global Mapper 13 in the past to batch process LAS headers. I have an issue in that it's not writing the projection into the header:

"key 3072 tiff_tag_location - count 1 value_offset 2236 - ProjectedCSTypeGeoKey: look-up for 2236 not implemented"

Now, what's odd, is.. I can set the projection in Global Mapper by either loading a projection file or 'Init from EPSG' (code 2236). Either way, it looks like the projection is set-
Projection: State Plane Coordinate System
Zone: Florida East (FIPS 901)
Datum: NAD83
Planar Units: FEET(US SURVEY)
etc....

I don't understand the mismatch between Global Mapper letting me select the projection through the configuration or EPSG code/set it in my script as I usually do

****
GLOBAL_MAPPER_SCRIPT VERSION="1.00"

DIR_LOOP_START DIRECTORY="T:\DISK005\MCSF_Blount_Island_FL\04_Processed_Data\08_Clipped_to_AOI_Buffered_2m" FILENAME_MASKS="*.LAS" RECURSE_DIR=NO

IMPORT FILENAME="%FNAME_W_DIR%" TYPE=LIDAR_LAS

LOAD_PROJECTION FILENAME="T:\DISK005\MCSF_Blount_Island_FL\01_Project_Planning\Tile_and_Block_Indexes\BlountIsland_SP_FloridaEast.prj"

EXPORT_VECTOR FILENAME="T:\DISK005\MCSF_Blount_Island_FL\04_Processed_Data\09_Point_ID_and_Projection_Applied\%FNAME_WO_EXT%_HEADER.LAS" TYPE=LIDAR_LAS \
VERT_CITATION="VertCS_North_American_Vertical_Datum_1988 (GEOID12A)" LAS_VERSION="1.2" SYSTEM_ID="EXTRACTION" GEN_SOFTWARE="NGC LAS Utils"

UNLOAD_ALL

DIR_LOOP_END
****

but it just won't write the projection into the LAS header, while everything else looks correct.

Also, I did add the 2236 definition to the EPSG txt file, but that didn't change my results.

Thanks for any advice,
Joey

Comments

  • global_mapperglobal_mapper Administrator Posts: 17,238
    edited May 2013
    Joey,

    I just tried exporting to a LAS file with the projection set to 2236 and it worked fine for me. I could reload the LAS file and Global Mapper recognized the projection. That error message that you listed at the beginning of your message about ProjectedCSTypeGeoKey, where is that coming from? It sounds like perhaps some application that doesn't know about the 2236 EPSG code or something.

    Thanks,

    Mike
    Global Mapper Guru
    geohelp@bluemarblegeo.com
    Blue Marble Geographics for Coordinate Conversion, Image Reprojection and Vector Translation
  • Joey NeidertJoey Neidert Global Mapper User Posts: 23Trusted User
    edited May 2013
    I just exported (LAS to LAS) using that script I posted above, and a .prj file created with Global Mapper and when loading the file in Global Mapper, the projection appears correct in the config dialog. However, I am viewing the LAS header using 'lasinfo.exe' and it still doesn't show the projection. An excerpt of the header:

    Another thing that I don't understand is that even though I specify the projection in the script:

    After running script in Global Mapper, right as the script starts to run, the 'Select Projection for XXXXX.las' dialog box pops up, as if I'm confirming what I've directed the software to use (from the .prj file the script uses). This seems to be the only place in Global Mapper to select Elevation (vertical) Units. When initially setting a projection (to create and save a .prj file), only the choice for Horizontal is there. I check 'Use selected projection for all selected files' and the script starts to run.

    However.......the 'Elevation' units=feet that I confirmed seems to have no bearing on what it is being written to the LAS header. It seems as though Global Mapper always assumes the vertical=meters. The source LAS file that I read had no projection info at all in the LAS header, so it's apparently not just something that's being carried over in the import/export, but Global Mapper is putting that in there.

    My projection file contains:

    PROJCS["NAD83_Florida_East_ft",GEOGCS["GCS_Geographic Coordinate System",DATUM["D_NORTH_AMERICAN_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],
    UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["scale_factor",0.999941177],
    PARAMETER["central_meridian",-81],PARAMETER["latitude_of_origin",24.33333333333333],
    PARAMETER["false_easting",656166.6666666667],PARAMETER["false_northing",0],UNIT["Foot_US",0.30480060960121924]]

    lasinfo.exe output of header (partial):

    variable length header record 1 of 3:
    reserved 43707
    user ID 'LASF_Projection'
    record ID 34735
    length after header 88
    description 'Georeferencing Information'
    GeoKeyDirectoryTag version 1.1.0 number of keys 10
    key 1024 tiff_tag_location 0 count 1 value_offset 1 - GTModelTypeGeoKey: M
    odelTypeProjected
    key 2048 tiff_tag_location 0 count 1 value_offset 4269 - GeographicTypeGeo
    Key: GCS_NAD83
    key 2054 tiff_tag_location 0 count 1 value_offset 9102 - GeogAngularUnitsG
    eoKey: Angular_Degree
    key 2057 tiff_tag_location 34736 count 1 value_offset 0 - GeogSemiMajorAxi
    sGeoKey: 6378137
    key 2058 tiff_tag_location 34736 count 1 value_offset 1 - GeogSemiMinorAxi
    sGeoKey: 6356752.3
    key 2059 tiff_tag_location 34736 count 1 value_offset 2 - GeogInvFlattenin
    gGeoKey: 298.25722
    key 3072 tiff_tag_location 0 count 1 value_offset 2236 - ProjectedCSTypeGe
    oKey: look-up for 2236 not implemented
    key 3076 tiff_tag_location 0 count 1 value_offset 9003 - ProjLinearUnitsGe
    oKey: Linear_Foot_US_Survey
    key 4097 tiff_tag_location 34737 count 53 value_offset 0 - VerticalCitatio
    nGeoKey: VertCS_North_American_Vertical_Datum_1988 (GEOID12A)
    key 4099 tiff_tag_location 0 count 1 value_offset 9001 - VerticalUnitsGeoK
    ey: Linear_Meter
    variable length header record 2 of 3:
    reserved 43707
    user ID 'LASF_Projection'
    record ID 34736
    length after header 24
    description 'Double Param Array'
    GeoDoubleParamsTag (number of doubles 3)
    6.37814e+006 6.35675e+006 298.257
    variable length header record 3 of 3:
    reserved 43707
    user ID 'LASF_Projection'
    record ID 34737
    length after header 53
    description 'GeoAsciiParamsTag'
    GeoAsciiParamsTag (number of characters 53)
    VertCS_North_American_Vertical_Datum_1988 (GEOID12A)|
  • global_mapperglobal_mapper Administrator Posts: 17,238
    edited May 2013
    It sounds like the input file doesn't have a projection that Global Mapper recognizes, hence the prompt. If you know it is the 2236 projection, just add PROJ="EPSG:2236" to your IMPORT command to specify that is the native projection for the layer.

    You can also specify the native elevation units for the points by adding an ELEV_UNITS parameter to the IMPORT command. For example, add ELEV_UNITS="FEET" if the native units are feet. You can also add ELEV_UNITS to the EXPORT_VECTOR command to specify meters or feet. If neither is specified meters will be used.

    The exported LAS does have the projection stored as 2236, it just looks like LASinfo doesn't have EPSG lookup so it just reports what the value is but doesn't decode it. The ProjectedCSTypeGeoKey is where the projection system code is stored.

    Thanks,

    Mike
    Global Mapper Guru
    geohelp@bluemarblegeo.com
    Blue Marble Geographics for Coordinate Conversion, Image Reprojection and Vector Translation
  • Joey NeidertJoey Neidert Global Mapper User Posts: 23Trusted User
    edited May 2013
    That works for me. Thanks a bunch. I will have to go with lasinfo not having the lookup, as it does report the correct EPSG code in the header, so that seems fine. Also, the elev_units parameter did the trick!

    Thanks,
    Joey
Sign In or Register to comment.