It’s reprocessed SRTM, so assume the same vertical reference as SRTM:
WGS (G1150) 3D + EGM1996 = EPSG:9055+5773
https://
https://
https://
Also on Planetary Computer:
https://
%%bash
INPUT=/vsicurl/https://opentopography.s3.sdsc.edu/raster/NASADEM/NASADEM_be.vrt
CPL_DEBUG=OFF GDAL_DISABLE_READDIR_ON_OPEN=EMPTY_DIR \
gdalinfo -nofl $INPUT
Driver: VRT/Virtual Raster
Size is 1288801, 421201
Coordinate System is:
GEOGCRS["WGS 84",
DATUM["World Geodetic System 1984",
ELLIPSOID["WGS 84",6378137,298.257223563,
LENGTHUNIT["metre",1]]],
PRIMEM["Greenwich",0,
ANGLEUNIT["degree",0.0174532925199433]],
CS[ellipsoidal,2],
AXIS["geodetic latitude (Lat)",north,
ORDER[1],
ANGLEUNIT["degree",0.0174532925199433]],
AXIS["geodetic longitude (Lon)",east,
ORDER[2],
ANGLEUNIT["degree",0.0174532925199433]],
ID["EPSG",4326]]
Data axis to CRS axis mapping: 2,1
Origin = (-179.000138888888898,61.000138888888891)
Pixel Size = (0.000277777777778,-0.000277777777778)
Corner Coordinates:
Upper Left (-179.0001389, 61.0001389) (179d 0' 0.50"W, 61d 0' 0.50"N)
Lower Left (-179.0001389, -56.0001389) (179d 0' 0.50"W, 56d 0' 0.50"S)
Upper Right ( 179.0001389, 61.0001389) (179d 0' 0.50"E, 61d 0' 0.50"N)
Lower Right ( 179.0001389, -56.0001389) (179d 0' 0.50"E, 56d 0' 0.50"S)
Center ( 0.0000000, 2.5000000) ( 0d 0' 0.00"E, 2d30' 0.00"N)
Band 1 Block=128x128 Type=Int16, ColorInterp=Gray
NoData Value=-32768
#%%bash
# Also inspect a single tile:
#GDAL_DISABLE_READDIR_ON_OPEN=EMPTY_DIR \
# gdalinfo /vsicurl/https://opentopography.s3.sdsc.edu/raster/NASADEM/NASADEM_be/NASADEM_HGT_n38w107.tif
%%bash
INPUT=/vsicurl/https://opentopography.s3.sdsc.edu/raster/NASADEM/NASADEM_be.vrt
CPL_DEBUG=OFF GDAL_DISABLE_READDIR_ON_OPEN=EMPTY_DIR \
gdallocationinfo -geoloc $INPUT -106.500 38.500
Report:
Location: (261000P,81000L)
Band 1:
<LocationInfo><File>/vsicurl/https://opentopography.s3.sdsc.edu/raster/NASADEM/NASADEM_be/NASADEM_HGT_n38w107.tif</File></LocationInfo>
Value: 2762
Convert to Ellipsoid Height¶
Combined vertical shift grid + helmert transform OSGeo/PROJ#4362
%%bash
SSRS='EPSG:9055+5773'
TSRS='EPSG:7661'
PROJ_PIPELINE=`projinfo -s EPSG:9055+5773 -t EPSG:7661 -o PROJ --hide-ballpark -q --single-line`
INPUT=/vsicurl/https://opentopography.s3.sdsc.edu/raster/NASADEM/NASADEM_be.vrt
OUTPUT=nasadem_7661.vrt
CPL_DEBUG=OFF PROJ_DEBUG=2 \
PROJ_NETWORK=ON \
GDAL_DISABLE_READDIR_ON_OPEN=EMPTY_DIR \
gdalwarp -overwrite -wm 500 -r bilinear -ot Float32 -te -179.0001389 -56.0001389 179.0001389 61.0001389 -s_srs $SSRS -t_srs $TSRS -ct "${PROJ_PIPELINE}" ${INPUT} ${OUTPUT}
Creating output file that is 1288801P x 421201L.
Using internal nodata values (e.g. -32768) for image /vsicurl/https://opentopography.s3.sdsc.edu/raster/NASADEM/NASADEM_be.vrt.
Copying nodata values from source /vsicurl/https://opentopography.s3.sdsc.edu/raster/NASADEM/NASADEM_be.vrt to destination nasadem_7661.vrt.
Processing /vsicurl/https://opentopography.s3.sdsc.edu/raster/NASADEM/NASADEM_be.vrt [1/1] : 0...10...20...30...40...50...60...70...80...90...100 - done.
%%bash
INPUT=nasadem_7661.vrt
CPL_DEBUG=OFF GDAL_DISABLE_READDIR_ON_OPEN=EMPTY_DIR \
gdallocationinfo -geoloc $INPUT -106.500 38.500
Report:
Location: (261000P,81000L)
Band 1:
Value: 2747.1591796875
#projinfo -s EPSG:9055+5773 -t EPSG:7661 -o PROJ --hide-ballpark -q --single-line
#projinfo -s EPSG:9055 -t EPSG:7912 -o PROJ --hide-ballpark --single-line -q
pipeline='''+proj=pipeline
+step +proj=axisswap +order=2,1
+step +proj=unitconvert +xy_in=deg +xy_out=rad
+step +proj=vgridshift +grids=us_nga_egm96_15.tif +multiplier=1
+step +proj=cart +ellps=WGS84
+step +proj=helmert +x=-0.0007 +y=-0.0012 +z=0.0261 +rx=0 +ry=0 +rz=0
+s=-0.00212 +dx=-0.0001 +dy=-0.0001 +dz=0.0019 +drx=0 +dry=0 +drz=0
+ds=-0.00011 +t_epoch=2010 +convention=position_vector
+step +inv +proj=cart +ellps=GRS80
+step +proj=unitconvert +xy_in=rad +z_in=m +xy_out=deg +z_out=m
+step +proj=axisswap +order=2,1'''
pipeline.replace('\n','')
'+proj=pipeline +step +proj=axisswap +order=2,1 +step +proj=unitconvert +xy_in=deg +xy_out=rad +step +proj=vgridshift +grids=us_nga_egm96_15.tif +multiplier=1 +step +proj=cart +ellps=WGS84 +step +proj=helmert +x=-0.0007 +y=-0.0012 +z=0.0261 +rx=0 +ry=0 +rz=0 +s=-0.00212 +dx=-0.0001 +dy=-0.0001 +dz=0.0019 +drx=0 +dry=0 +drz=0 +ds=-0.00011 +t_epoch=2010 +convention=position_vector +step +inv +proj=cart +ellps=GRS80 +step +proj=unitconvert +xy_in=rad +z_in=m +xy_out=deg +z_out=m +step +proj=axisswap +order=2,1'
%%bash
SSRS='EPSG:9055+5773'
TSRS='EPSG:7912'
PROJ_PIPELINE='+proj=pipeline +step +proj=axisswap +order=2,1 +step +proj=unitconvert +xy_in=deg +xy_out=rad +step +proj=vgridshift +grids=us_nga_egm96_15.tif +multiplier=1 +step +proj=cart +ellps=WGS84 +step +proj=helmert +x=-0.0007 +y=-0.0012 +z=0.0261 +rx=0 +ry=0 +rz=0 +s=-0.00212 +dx=-0.0001 +dy=-0.0001 +dz=0.0019 +drx=0 +dry=0 +drz=0 +ds=-0.00011 +t_epoch=2010 +convention=position_vector +step +inv +proj=cart +ellps=GRS80 +step +proj=unitconvert +xy_in=rad +z_in=m +xy_out=deg +z_out=m +step +proj=axisswap +order=2,1'
INPUT=/vsicurl/https://opentopography.s3.sdsc.edu/raster/NASADEM/NASADEM_be.vrt
OUTPUT=nasadem_7912.vrt
CPL_DEBUG=OFF PROJ_DEBUG=2 \
PROJ_NETWORK=ON \
GDAL_DISABLE_READDIR_ON_OPEN=EMPTY_DIR \
gdalwarp -overwrite -wm 500 -r bilinear -ot Float32 -te -179.0001389 -56.0001389 179.0001389 61.0001389 -s_srs $SSRS -t_srs $TSRS -ct "${PROJ_PIPELINE}" ${INPUT} ${OUTPUT}
Creating output file that is 1288801P x 421201L.
Using internal nodata values (e.g. -32768) for image /vsicurl/https://opentopography.s3.sdsc.edu/raster/NASADEM/NASADEM_be.vrt.
Copying nodata values from source /vsicurl/https://opentopography.s3.sdsc.edu/raster/NASADEM/NASADEM_be.vrt to destination nasadem_7912.vrt.
Processing /vsicurl/https://opentopography.s3.sdsc.edu/raster/NASADEM/NASADEM_be.vrt [1/1] : 0...10...20...30...40...50...60...70...80...90...100 - done.
%%bash
INPUT=nasadem_7912.vrt
CPL_DEBUG=OFF GDAL_DISABLE_READDIR_ON_OPEN=EMPTY_DIR \
gdallocationinfo -geoloc $INPUT -106.500 38.500
Report:
Location: (261000P,81000L)
Band 1:
Value: 2747.1611328125
Planetary Computer¶
Here we demonstrate using stac-geoparquet + GDAL GTI instead of a VRT
%%bash
# Feature Count: 14520, assets.elevation.href
CPL_DEBUG=OFF GDAL_DISABLE_READDIR_ON_OPEN=EMPTY_DIR \
VSICURL_PC_URL_SIGNING=YES \
AZURE_STORAGE_ACCOUNT=pcstacitems \
AZURE_STORAGE_SAS_TOKEN=`curl -s https://planetarycomputer.microsoft.com/api/sas/v1/token/pcstacitems/items | jq -r '.token'` \
ogrinfo -al -so /vsiaz/items/nasadem.parquet
INFO: Open of `/vsiaz/items/nasadem.parquet'
using driver `Parquet' successful.
Layer name: nasadem
Geometry: Polygon
Feature Count: 14520
Extent: (-179.000139, -56.000139) - (179.000139, 61.000139)
Layer SRS WKT:
GEOGCRS["WGS 84",
ENSEMBLE["World Geodetic System 1984 ensemble",
MEMBER["World Geodetic System 1984 (Transit)"],
MEMBER["World Geodetic System 1984 (G730)"],
MEMBER["World Geodetic System 1984 (G873)"],
MEMBER["World Geodetic System 1984 (G1150)"],
MEMBER["World Geodetic System 1984 (G1674)"],
MEMBER["World Geodetic System 1984 (G1762)"],
MEMBER["World Geodetic System 1984 (G2139)"],
ELLIPSOID["WGS 84",6378137,298.257223563,
LENGTHUNIT["metre",1]],
ENSEMBLEACCURACY[2.0]],
PRIMEM["Greenwich",0,
ANGLEUNIT["degree",0.0174532925199433]],
CS[ellipsoidal,2],
AXIS["geodetic latitude (Lat)",north,
ORDER[1],
ANGLEUNIT["degree",0.0174532925199433]],
AXIS["geodetic longitude (Lon)",east,
ORDER[2],
ANGLEUNIT["degree",0.0174532925199433]],
USAGE[
SCOPE["Horizontal component of 3D system."],
AREA["World."],
BBOX[-90,-180,90,180]],
ID["EPSG",4326]]
Data axis to CRS axis mapping: 2,1
Geometry Column = geometry
type: String (0.0)
stac_version: String (0.0)
stac_extensions: StringList (0.0)
id: String (0.0)
bbox: RealList (0.0)
links: String(JSON) (0.0)
assets.elevation.href: String (0.0)
assets.elevation.roles: StringList (0.0)
assets.elevation.title: String (0.0)
assets.elevation.type: String (0.0)
assets.rendered_preview.href: String (0.0)
assets.rendered_preview.rel: String (0.0)
assets.rendered_preview.roles: StringList (0.0)
assets.rendered_preview.title: String (0.0)
assets.rendered_preview.type: String (0.0)
assets.tilejson.href: String (0.0)
assets.tilejson.roles: StringList (0.0)
assets.tilejson.title: String (0.0)
assets.tilejson.type: String (0.0)
collection: String (0.0)
datetime: DateTime (UTC)
proj:bbox: RealList (0.0)
proj:epsg: Integer64 (0.0)
proj:shape: Integer64List (0.0)
proj:transform: RealList (0.0)
%%bash
CPL_DEBUG=OFF GDAL_DISABLE_READDIR_ON_OPEN=EMPTY_DIR \
VSICURL_PC_URL_SIGNING=YES \
AZURE_STORAGE_ACCOUNT=pcstacitems \
AZURE_STORAGE_SAS_TOKEN=`curl -s https://planetarycomputer.microsoft.com/api/sas/v1/token/pcstacitems/items | jq -r '.token'` \
gdalinfo GTI:/vsiaz/items/nasadem.parquet -oo LOCATION_FIELD=assets.elevation.href
Driver: GTI/GDAL Raster Tile Index
Files: none associated
Size is 1288802, 421202
Coordinate System is:
GEOGCRS["WGS 84",
ENSEMBLE["World Geodetic System 1984 ensemble",
MEMBER["World Geodetic System 1984 (Transit)"],
MEMBER["World Geodetic System 1984 (G730)"],
MEMBER["World Geodetic System 1984 (G873)"],
MEMBER["World Geodetic System 1984 (G1150)"],
MEMBER["World Geodetic System 1984 (G1674)"],
MEMBER["World Geodetic System 1984 (G1762)"],
MEMBER["World Geodetic System 1984 (G2139)"],
MEMBER["World Geodetic System 1984 (G2296)"],
ELLIPSOID["WGS 84",6378137,298.257223563,
LENGTHUNIT["metre",1]],
ENSEMBLEACCURACY[2.0]],
PRIMEM["Greenwich",0,
ANGLEUNIT["degree",0.0174532925199433]],
CS[ellipsoidal,2],
AXIS["geodetic latitude (Lat)",north,
ORDER[1],
ANGLEUNIT["degree",0.0174532925199433]],
AXIS["geodetic longitude (Lon)",east,
ORDER[2],
ANGLEUNIT["degree",0.0174532925199433]],
USAGE[
SCOPE["Horizontal component of 3D system."],
AREA["World."],
BBOX[-90,-180,90,180]],
ID["EPSG",4326]]
Data axis to CRS axis mapping: 2,1
Origin = (-179.000138889999988,61.000138890000002)
Pixel Size = (0.000277777777778,-0.000277777777778)
Corner Coordinates:
Upper Left (-179.0001389, 61.0001389) (179d 0' 0.50"W, 61d 0' 0.50"N)
Lower Left (-179.0001389, -56.0004167) (179d 0' 0.50"W, 56d 0' 1.50"S)
Upper Right ( 179.0004167, 61.0001389) (179d 0' 1.50"E, 61d 0' 0.50"N)
Lower Right ( 179.0004167, -56.0004167) (179d 0' 1.50"E, 56d 0' 1.50"S)
Center ( 0.0001389, 2.4998611) ( 0d 0' 0.50"E, 2d29'59.50"N)
Band 1 Block=256x256 Type=Int16, ColorInterp=Gray
NoData Value=-32768
<VRTDataset rasterXSize="1296001" rasterYSize="417601">
<SRS>GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]]</SRS>
<GeoTransform> -1.8000013888888890e+02, 2.7777777777781459e-04, 0.0000000000000000e+00, 6.0000138888888891e+01, 0.0000000000000000e+00, -2.7777777777781459e-04</GeoTransform>
<VRTRasterBand dataType="Int16" band="1">
<NoDataValue>-32768</NoDataValue>
with open('nasadem.gti', 'w') as f:
f.write("""<GDALTileIndexDataset>
<IndexDataset>/vsiaz/items/nasadem.parquet</IndexDataset>
<LocationField>assets.elevation.href</LocationField>
<GeoTransform>-1.8000013888888890e+02, 2.7777777777781459e-04,0.0000000000000000e+00,6.0000138888888891e+01,0.0000000000000000e+00,-2.7777777777781459e-04</GeoTransform>
<XSize>1296001</XSize>
<YSize>417601</YSize>
<BandCount>1</BandCount>
<DataType>Int16</DataType>
</GDALTileIndexDataset>
""")
%%bash
CPL_DEBUG=OFF GDAL_DISABLE_READDIR_ON_OPEN=EMPTY_DIR \
VSICURL_PC_URL_SIGNING=YES \
AZURE_STORAGE_ACCOUNT=pcstacitems \
AZURE_STORAGE_SAS_TOKEN=`curl -s https://planetarycomputer.microsoft.com/api/sas/v1/token/pcstacitems/items | jq -r '.token'` \
gdalinfo nasadem.gti
Driver: GTI/GDAL Raster Tile Index
Files: nasadem.gti
Size is 1296001, 417601
Coordinate System is:
GEOGCRS["WGS 84",
ENSEMBLE["World Geodetic System 1984 ensemble",
MEMBER["World Geodetic System 1984 (Transit)"],
MEMBER["World Geodetic System 1984 (G730)"],
MEMBER["World Geodetic System 1984 (G873)"],
MEMBER["World Geodetic System 1984 (G1150)"],
MEMBER["World Geodetic System 1984 (G1674)"],
MEMBER["World Geodetic System 1984 (G1762)"],
MEMBER["World Geodetic System 1984 (G2139)"],
MEMBER["World Geodetic System 1984 (G2296)"],
ELLIPSOID["WGS 84",6378137,298.257223563,
LENGTHUNIT["metre",1]],
ENSEMBLEACCURACY[2.0]],
PRIMEM["Greenwich",0,
ANGLEUNIT["degree",0.0174532925199433]],
CS[ellipsoidal,2],
AXIS["geodetic latitude (Lat)",north,
ORDER[1],
ANGLEUNIT["degree",0.0174532925199433]],
AXIS["geodetic longitude (Lon)",east,
ORDER[2],
ANGLEUNIT["degree",0.0174532925199433]],
USAGE[
SCOPE["Horizontal component of 3D system."],
AREA["World."],
BBOX[-90,-180,90,180]],
ID["EPSG",4326]]
Data axis to CRS axis mapping: 2,1
Origin = (-180.000138888888898,60.000138888888891)
Pixel Size = (0.000277777777778,-0.000277777777778)
Corner Coordinates:
Upper Left (-180.0001389, 60.0001389) (180d 0' 0.50"W, 60d 0' 0.50"N)
Lower Left (-180.0001389, -56.0001389) (180d 0' 0.50"W, 56d 0' 0.50"S)
Upper Right ( 180.0001389, 60.0001389) (180d 0' 0.50"E, 60d 0' 0.50"N)
Lower Right ( 180.0001389, -56.0001389) (180d 0' 0.50"E, 56d 0' 0.50"S)
Center ( 0.0000000, 2.0000000) ( 0d 0' 0.00"E, 2d 0' 0.00"N)
Band 1 Block=256x256 Type=Int16, ColorInterp=Undefined
%%bash
INPUT=nasadem.gti
CPL_DEBUG=OFF GDAL_DISABLE_READDIR_ON_OPEN=EMPTY_DIR \
VSICURL_PC_URL_SIGNING=YES \
AZURE_STORAGE_ACCOUNT=pcstacitems \
AZURE_STORAGE_SAS_TOKEN=`curl -s https://planetarycomputer.microsoft.com/api/sas/v1/token/pcstacitems/items | jq -r '.token'` \
gdallocationinfo -geoloc $INPUT -106.500 38.500
Report:
Location: (264600P,77400L)
Band 1:
<LocationInfo><File>/vsicurl/https://nasademeuwest.blob.core.windows.net/nasadem-cog/v001/NASADEM_HGT_n38w107.tif</File></LocationInfo>
Value: 2762
%%bash
# Query Tif directly
INPUT=/vsicurl/https://nasademeuwest.blob.core.windows.net/nasadem-cog/v001/NASADEM_HGT_n38w107.tif
CPL_DEBUG=OFF GDAL_DISABLE_READDIR_ON_OPEN=EMPTY_DIR \
VSICURL_PC_URL_SIGNING=YES \
gdallocationinfo -geoloc $INPUT -106.500 38.500
Report:
Location: (1800P,1800L)
Band 1:
Value: 2762
%%bash
SSRS='EPSG:9055+5773'
TSRS='EPSG:7912'
PROJ_PIPELINE='+proj=pipeline +step +proj=axisswap +order=2,1 +step +proj=unitconvert +xy_in=deg +xy_out=rad +step +proj=vgridshift +grids=us_nga_egm96_15.tif +multiplier=1 +step +proj=cart +ellps=WGS84 +step +proj=helmert +x=-0.0007 +y=-0.0012 +z=0.0261 +rx=0 +ry=0 +rz=0 +s=-0.00212 +dx=-0.0001 +dy=-0.0001 +dz=0.0019 +drx=0 +dry=0 +drz=0 +ds=-0.00011 +t_epoch=2010 +convention=position_vector +step +inv +proj=cart +ellps=GRS80 +step +proj=unitconvert +xy_in=rad +z_in=m +xy_out=deg +z_out=m +step +proj=axisswap +order=2,1'
INPUT=nasadem.gti
OUTPUT=nasadem_7912.gti.vrt
CPL_DEBUG=OFF PROJ_DEBUG=2 \
PROJ_NETWORK=ON \
GDAL_DISABLE_READDIR_ON_OPEN=EMPTY_DIR \
VSICURL_PC_URL_SIGNING=YES \
AZURE_STORAGE_ACCOUNT=pcstacitems \
AZURE_STORAGE_SAS_TOKEN=`curl -s https://planetarycomputer.microsoft.com/api/sas/v1/token/pcstacitems/items | jq -r '.token'` \
gdalwarp -overwrite -wm 500 -co BLOCKXSIZE=512 -co BLOCKYSIZE=512 -r bilinear -ot Float32 -te -180.0001389 -56.0001389 180.0001389 60.0001389 -s_srs $SSRS -t_srs $TSRS -ct "${PROJ_PIPELINE}" ${INPUT} ${OUTPUT}
ERROR 1: Point outside of projection domain
Creating output file that is 1296001P x 417601L.
Processing nasadem.gti [1/1] : 0...10...20...30...40...50...60...70...80...90...100 - done.
%%bash
# Does this match opentopography VRT? Value: 2747.1611328125, yes
INPUT=nasadem_7912.gti.vrt
CPL_DEBUG=OFF GDAL_DISABLE_READDIR_ON_OPEN=EMPTY_DIR \
VSICURL_PC_URL_SIGNING=YES \
AZURE_STORAGE_ACCOUNT=pcstacitems \
AZURE_STORAGE_SAS_TOKEN=`curl -s https://planetarycomputer.microsoft.com/api/sas/v1/token/pcstacitems/items | jq -r '.token'` \
gdallocationinfo -geoloc $INPUT -106.500 38.500
Report:
Location: (264600P,77400L)
Band 1:
Value: 2747.1611328125
%%bash
# Does this match using PROJ directly?
INPUT=nasadem_7912.gti.vrt
CPL_DEBUG=OFF GDAL_DISABLE_READDIR_ON_OPEN=EMPTY_DIR \
VSICURL_PC_URL_SIGNING=YES \
AZURE_STORAGE_ACCOUNT=pcstacitems \
AZURE_STORAGE_SAS_TOKEN=`curl -s https://planetarycomputer.microsoft.com/api/sas/v1/token/pcstacitems/items | jq -r '.token'` \
gdallocationinfo -r bilinear -geoloc $INPUT -106.500000 38.500000
Report:
Location: (264600.500023667P,77400.5000251724L)
Band 1:
Value: 2747.16103365231
%%bash
# 7912 Single point using proj, agrees w/ GDAL to w/n mm
PROJ_PIPELINE='+proj=pipeline +step +proj=axisswap +order=2,1 +step +proj=unitconvert +xy_in=deg +xy_out=rad +step +proj=vgridshift +grids=us_nga_egm96_15.tif +multiplier=1 +step +proj=cart +ellps=WGS84 +step +proj=helmert +x=-0.0007 +y=-0.0012 +z=0.0261 +rx=0 +ry=0 +rz=0 +s=-0.00212 +dx=-0.0001 +dy=-0.0001 +dz=0.0019 +drx=0 +dry=0 +drz=0 +ds=-0.00011 +t_epoch=2010 +convention=position_vector +step +inv +proj=cart +ellps=GRS80 +step +proj=unitconvert +xy_in=rad +z_in=m +xy_out=deg +z_out=m +step +proj=axisswap +order=2,1'
#USE proj directly to convert this point
echo 38.5000000 -106.5000000 2762.0 | cct -d 5 $PROJ_PIPELINE
38.50000 -106.50000 2747.16309 inf