I need to extract values to point features from Mosaic dataset made out of DEMs (Whole world SRTM) . My feature class has 18,000,00 points.
When I ran the below tools, only <20K points receive elevation values ,rest all are null though DEM at those location is not null.
- Extract Values to Points
- Extract Multi Values to Points
- Add Surface Information
Per suggestions in https://community.esri.com/ , I ensured below. None seems to work .
- CRS of DEM and Feature Class is same
- Do not open the fc and moasic in ArcMap
- Use Spatial Analyst or 3D Analyst tools in Catalog
- Put FC and Mosaic Dataset in a common Geodatabase
- Run using ArcPy
Often I see claims of of this tool working after a relevant patch to 10.1 . I am using latest version 10.6 and seems to have no solution to this problem.
My production system is built on ArcMap so using ArcGIS Pro is not an option for me.
How the tool is executed ?
Tool Boxes > System Tool Boxes > Spatial Analyst Tools > Extraction > Extract Values to Points
Input point features --> D:\Data\Terrain.gdb\points Input raster --> D:\Data\Terrain.gdb\SRTM3 Output point features --> D:\Data\Terrain.gdb\points_elev
Environment of the ArcMap
OS : Windows 10 Virtual Technology : None Webserver: None (using only desktop) Service Pack: None DBMS : File geodatabase (for storing Mosaic dataset and feature class) Virtual Technology : None DBMS OS: Windows 10 DBMS Version: File Geodatabase
import arcpy from arcpy import env from arcpy.sa import * # Set environment settings arcpy.env.workspace = r"in_memory" arcpy.env.overwriteOutput=True arcpy.CheckOutExtension('Spatial') # Set local variables inPointFeatures = "D:\Data\Terrain.gdb\points" inRaster = "D:\Data\Terrain.gdb\SRTM3" outPointFeatures = "D:\Data\Terrain.gdb\points_elev" # Execute ExtractValuesToPoints ExtractValuesToPoints(inPointFeatures, inRaster, outPointFeatures, "INTERPOLATE", "VALUE_ONLY")
What happens with subset of points ?
When we experimented with subset say - 600 points or 20,000 points - the same issue is seen. Some gets elevation values(correct values), the others have null values. Neither the toolbox nor the Arcpy script throw any error.
We noticed ,using one raster(Geotiffs on disk) at a time is giving us correct values. This is however taking 12 hours or more - not suitable for task at hand.