FluvialGeomorph / FluvialGeomorph-toolbox

The FluvialGeomorph ArcGIS toolbox.
Creative Commons Zero v1.0 Universal
11 stars 0 forks source link

test geopackage implementation #19

Closed mpdougherty closed 1 year ago

mpdougherty commented 1 year ago

Testing on COE-MVRWK-56824 shows:

  1. 02 - Hydro DEM failed. Error said something like "can't create raster in geopackage".
  2. 06 - Flowline Points fails with the following message:
06 - Flowline Points
=====================
Parametersoutput_workspace     Z:\Work\FluvialGeomorph\Projects\GEOPackage\WilsonCreek_2019.gpkgflowline     Z:\Work\FluvialGeomorph\Projects\GEOPackage\WilsonCreek_2019.gpkg\main.flowlinedem     Z:\Work\FluvialGeomorph\Projects\GEOPackage\dem_hydrokm_to_mouth     0station_distance     1calibration_points     point_id_field     measure_field     search_radius     25 Metersflowline_points     
=====================
MessagesStart Time: Tuesday, March 7, 2023 2:24:56 PM
Workspace: Z:\Work\FluvialGeomorph\Projects\GEOPackage\WilsonCreek_2019.gpkg
flowline: main
km_to_mouth: 0
DEM: dem_hydro
Station distance: 1
Simplified flowline: flowline_simplify
Densified verticies of flowline: flowline_densify
Converted densfied flowline to a route: flowline_densify_route
Traceback (most recent call last):  File "Z:\Work\FluvialGeomorph\Tools\FluvialGeomorph-toolbox-0.1.5\tools\_06_FlowlinePoints.py", line 203, in <module>    # Call the StreamProfilePoints function with command line parameters  File "Z:\Work\FluvialGeomorph\Tools\FluvialGeomorph-toolbox-0.1.5\tools\_06_FlowlinePoints.py", line 187, in main    out_property = "Z",  File "Z:\Work\FluvialGeomorph\Tools\FluvialGeomorph-toolbox-0.1.5\tools\_06_FlowlinePoints.py", line 138, in StreamProfilePoints    route_id_field = "ReachName",   File "C:\Program Files\ArcGIS\Pro\Resources\ArcPy\arcpy\management.py", line 4560, in FeatureVerticesToPoints    raise e  File "C:\Program Files\ArcGIS\Pro\Resources\ArcPy\arcpy\management.py", line 4557, in FeatureVerticesToPoints    retval = convertArcObjectToPythonObject(gp.FeatureVerticesToPoints_management(*gp_fixargs((in_features, out_feature_class, point_location), True)))  File "C:\Program Files\ArcGIS\Pro\Resources\ArcPy\arcpy\geoprocessing\_base.py", line 512, in <lambda>    return lambda *args: val(*gp_fixargs(args, True))
arcgisscripting.ExecuteError: Failed to execute. Parameters are not valid.
ERROR 000732: Input Features: Dataset flowline_densify_route does not exist or is not supported
Failed to execute (FeatureVerticesToPoints).
Failed script 06 - Flowline Points...
Failed to execute (FlowlinePoints).
Failed at Tuesday, March 7, 2023 2:25:02 PM (Elapsed Time: 5.81 seconds)
bchileen commented 1 year ago

ESRIs Add Raster to GeoPackage tool doesn't want to play nice with the 32bit float raster data were trying to move to the geopackage, attempted to Generate Tile Cache Tiling Scheme but the Add Raster to GeoPackage tool would fail with any custom tiling schemes. We may want to look into using GDAL tools/code run via python to support this effort since ESRI internal tool dont seem to be able to handle transferring a 32-bit float raster to a geopackage.

bchileen commented 1 year ago

After extensive investigation, we have decided to go with the .tiff route as an open source solution to storing raster data, progress with vector data is forthcoming.

bchileen commented 1 year ago

tested some basic analysis tools (buffer, line to point, point to lines) using vector data stored in geopackages, tested using output geopackage data as inputs for additional geoprocesses. Internal ESRI geoprocessing tools in this group were able to successfully use geopackage data as both inputs and output locations with vector data.

bchileen commented 1 year ago

Create Routes geoprocessing tool does not write directly to geopackage, however you can write a shapefile to an outer folder and then move the output back to the geopackage

bchileen commented 1 year ago

Geopackage seems to be a tougher nut to crack than anticipated, pivoted to addressing user facing bug fixes over an entire overhaul of back end functionality