Currently WebODM is still running on GRASS 7.6. GRASS 7.8 seems to have broken the volume calculation script.
This would be a good first issue for somebody who understands GRASS GIS.
Anyone available to help?
opened 03:41PM - 23 Sep 19 UTC
closed 03:19PM - 09 Jan 20 UTC
improvements
help wanted
Looking for someone to help troubleshooting GRASS 7.8 when running the volume ca⦠lculation script. Currently we're going to pin GRASS to 7.6, but eventually we should upgrade to 7.8.
Related: https://github.com/OpenDroneMap/WebODM/pull/735
OpenDroneMap:master
β pierotofy:grass76
opened 03:39PM - 23 Sep 19 UTC
Fixes #732
GRASS 7.8 broke (or fixed) something, but the output from `r.volu⦠me` is not showing in the output.
7.8 output:
```
Starting GRASS GIS...
Creating new GRASS GIS location <location8>...
Cleaning up temporary files...
Executing <sh script.sh> ...
-PROJ_INFO-------------------------------------------------
name : WGS 84 / UTM zone 15N
datum : wgs84
ellps : wgs84
proj : utm
zone : 15
no_defs : defined
-PROJ_EPSG-------------------------------------------------
epsg : 32615
-PROJ_UNITS------------------------------------------------
unit : meter
units : meters
meters : 1
WARNING: Projection of dataset does not appear to match current location.
Location PROJ_INFO is:
name: WGS 84 / UTM zone 15N
datum: wgs84
ellps: wgs84
proj: utm
zone: 15
no_defs: defined
init: EPSG:32615
Dataset PROJ_INFO is:
name: WGS 84
datum: wgs84
ellps: wgs84
proj: ll
no_defs: defined
ERROR: proj
Importing
</webodm/app/media/tmp/tmprtso3rpx_grass_engine/area_file.geojson> ...
Check if OGR layer <area_file> contains polygons...
100%
Creating attribute table for layer <area_file>...
Default driver / database set to:
driver: sqlite
database: $GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db
Importing 1 features (OGR layer <area_file>)...
100%
-----------------------------------------------------
Registering primitives...
-----------------------------------------------------
Cleaning polygons
-----------------------------------------------------
Breaking polygons...
Breaking polygons (pass 1: select break points)...
100%
Breaking polygons (pass 2: break at selected points)...
100%
-----------------------------------------------------
Removing duplicates...
100%
-----------------------------------------------------
Breaking boundaries...
100%
-----------------------------------------------------
Removing duplicates...
100%
-----------------------------------------------------
Cleaning boundaries at nodes...
100%
-----------------------------------------------------
Merging boundaries...
100%
-----------------------------------------------------
Removing dangles...
100%
-----------------------------------------------------
Building areas...
100%
-----------------------------------------------------
Removing bridges...
100%
-----------------------------------------------------
Registering primitives...
Building areas...
100%
Attaching islands...
100%
-----------------------------------------------------
Finding centroids for OGR layer <area_file>...
100%
-----------------------------------------------------
Writing centroids...
100%
-----------------------------------------------------
1 input polygons
Total area: 5.82563 (1 areas)
-----------------------------------------------------
Copying features...
100%
Building topology for vector map <[email protected] >...
Registering primitives...
Building areas...
100%
Attaching islands...
100%
Attaching centroids...
100%
Reprojecting <polygon_area>...
Reprojecting primitives ...
Building topology for vector map <[email protected] >...
Registering primitives...
Building areas...
100%
Attaching islands...
100%
Attaching centroids...
100%
WARNING: Projection of dataset does not appear to match current location.
Location PROJ_INFO is:
name: WGS 84 / UTM zone 15N
datum: wgs84
ellps: wgs84
proj: utm
zone: 15
no_defs: defined
init: EPSG:32615
Dataset PROJ_INFO is:
name: WGS 84
datum: wgs84
ellps: wgs84
proj: ll
no_defs: defined
ERROR: proj
Importing
</webodm/app/media/tmp/tmprtso3rpx_grass_engine/points_file.geojson> ...
Check if OGR layer <points_file> contains polygons...
100%
Creating attribute table for layer <points_file>...
Default driver / database set to:
driver: sqlite
database: $GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db
Importing 4 features (OGR layer <points_file>)...
100%
-----------------------------------------------------
Building topology for vector map <[email protected] >...
Registering primitives...
Reprojecting <polygon_points>...
Reprojecting primitives ...
Building topology for vector map <[email protected] >...
Registering primitives...
WARNING: Option 'minordistance' is not available with GEOS buffering
Buffering areas...
100%
Cleaning buffers...
Building parts of topology...
Building topology for vector map <[email protected] >...
Registering primitives...
Snapping boundaries...
Reading features...
Snap vertices Pass 1: select points
100%
Snap vertices Pass 2: assign anchor vertices
100%
Snap vertices Pass 3: snap to assigned points
100%
Breaking polygons...
Breaking polygons (pass 1: select break points)...
100%
Breaking polygons (pass 2: break at selected points)...
100%
Removing duplicates...
100%
Breaking boundaries...
100%
Removing duplicates...
100%
Cleaning boundaries at nodes
100%
Building topology for vector map <[email protected] >...
Building areas...
100%
Removing dangles...
100%
Removing bridges...
100%
Attaching islands...
Building topology for vector map <[email protected] >...
Attaching islands...
100%
Calculating centroids for all areas...
100%
Generating list of boundaries to be deleted...
100%
Deleting boundaries...
100%
Calculating centroids for areas...
100%
Building topology for vector map <[email protected] >...
Registering primitives...
Building areas...
100%
Attaching islands...
100%
Attaching centroids...
100%
Reading band 1 of 1...
Link to raster map <dsm> created.
Reading areas...
100%
Writing raster map...
100%
All subsequent raster operations will be limited to the MASK area. Removing
or renaming raster map named 'MASK' will restore raster operations to
normal.
Column <height> not found in the table <polygon_points>. Creating...
Reading features from vector map...
Update vector attributes...
100%
v.what.rast complete. 4 records updated.
Reading features from vector map ...
WARNING: Strip exists with insufficient data
Ignoring 1 points (too dense)
WARNING: 3 points given for interpolation (after thinning) is less than
given NPMIN=300
WARNING: There are less than 600 points for interpolation. No segmentation
is necessary, to run the program faster set segmax=600 (see
manual)
Processing all selected output files will require
145.71 KB of disk space for temp files.
Bitmap mask created
Processing segments in parallel...
Starting parallel work
100%
v.surf.rst complete.
100%
No clump map given, using MASK
100%
Execution of <sh script.sh> finished.
Cleaning up default sqlite database ...
Cleaning up temporary files...
```
7.6 output:
```
Starting GRASS GIS...
Creating new GRASS GIS location <location5>...
Executing <sh script.sh> ...
-PROJ_INFO-------------------------------------------------
name : WGS 84 / UTM zone 15N
datum : wgs84
ellps : wgs84
proj : utm
zone : 15
no_defs : defined
-PROJ_EPSG-------------------------------------------------
epsg : 32615
-PROJ_UNITS------------------------------------------------
unit : meter
units : meters
meters : 1
WARNING: Projection of dataset does not appear to match current location.
Location PROJ_INFO is:
name: WGS 84 / UTM zone 15N
datum: wgs84
ellps: wgs84
proj: utm
zone: 15
no_defs: defined
Dataset PROJ_INFO is:
name: WGS 84
datum: wgs84
ellps: wgs84
proj: ll
no_defs: defined
ERROR: proj
Importing
</webodm/app/media/tmp/tmprtso3rpx_grass_engine/area_file.geojson> ...
Check if OGR layer <area_file> contains polygons...
100%
Creating attribute table for layer <area_file>...
Default driver / database set to:
driver: sqlite
database: $GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db
Importing 1 features (OGR layer <area_file>)...
100%
-----------------------------------------------------
Registering primitives...
-----------------------------------------------------
Cleaning polygons
-----------------------------------------------------
Breaking polygons...
Breaking polygons (pass 1: select break points)...
100%
Breaking polygons (pass 2: break at selected points)...
100%
-----------------------------------------------------
Removing duplicates...
100%
-----------------------------------------------------
Breaking boundaries...
100%
-----------------------------------------------------
Removing duplicates...
100%
-----------------------------------------------------
Cleaning boundaries at nodes...
100%
-----------------------------------------------------
Merging boundaries...
100%
-----------------------------------------------------
Removing dangles...
100%
-----------------------------------------------------
Building areas...
100%
-----------------------------------------------------
Removing bridges...
100%
-----------------------------------------------------
Registering primitives...
Building areas...
100%
Attaching islands...
100%
-----------------------------------------------------
Finding centroids for OGR layer <area_file>...
100%
-----------------------------------------------------
Writing centroids...
100%
-----------------------------------------------------
1 input polygons
Total area: 5.82563 (1 areas)
-----------------------------------------------------
Copying features...
100%
Building topology for vector map <[email protected] >...
Registering primitives...
Building areas...
100%
Attaching islands...
100%
Attaching centroids...
100%
Reprojecting <polygon_area>...
Reprojecting primitives ...
Building topology for vector map <[email protected] >...
Registering primitives...
Building areas...
100%
Attaching islands...
100%
Attaching centroids...
100%
WARNING: Projection of dataset does not appear to match current location.
Location PROJ_INFO is:
name: WGS 84 / UTM zone 15N
datum: wgs84
ellps: wgs84
proj: utm
zone: 15
no_defs: defined
Dataset PROJ_INFO is:
name: WGS 84
datum: wgs84
ellps: wgs84
proj: ll
no_defs: defined
ERROR: proj
Importing
</webodm/app/media/tmp/tmprtso3rpx_grass_engine/points_file.geojson> ...
Check if OGR layer <points_file> contains polygons...
100%
Creating attribute table for layer <points_file>...
Default driver / database set to:
driver: sqlite
database: $GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db
Importing 4 features (OGR layer <points_file>)...
100%
-----------------------------------------------------
Building topology for vector map <[email protected] >...
Registering primitives...
Reprojecting <polygon_points>...
Reprojecting primitives ...
Building topology for vector map <[email protected] >...
Registering primitives...
WARNING: Option 'minordistance' is not available with GEOS buffering
Buffering areas...
100%
Cleaning buffers...
Building parts of topology...
Building topology for vector map <[email protected] >...
Registering primitives...
Snapping boundaries...
Reading features...
Snap vertices Pass 1: select points
100%
Snap vertices Pass 2: assign anchor vertices
100%
Snap vertices Pass 3: snap to assigned points
100%
Breaking polygons...
Breaking polygons (pass 1: select break points)...
100%
Breaking polygons (pass 2: break at selected points)...
100%
Removing duplicates...
100%
Breaking boundaries...
100%
Removing duplicates...
100%
Cleaning boundaries at nodes
100%
Building topology for vector map <[email protected] >...
Building areas...
100%
Removing dangles...
100%
Removing bridges...
100%
Attaching islands...
Building topology for vector map <[email protected] >...
Attaching islands...
100%
Calculating centroids for all areas...
100%
Generating list of boundaries to be deleted...
100%
Deleting boundaries...
100%
Calculating centroids for areas...
100%
Building topology for vector map <[email protected] >...
Registering primitives...
Building areas...
100%
Attaching islands...
100%
Attaching centroids...
100%
Reading band 1 of 1...
Link to raster map <dsm> created.
Reading areas...
100%
Writing raster map...
100%
All subsequent raster operations will be limited to the MASK area. Removing
or renaming raster map named 'MASK' will restore raster operations to
normal.
Column <height> not found in the table <polygon_points>. Creating...
Reading features from vector map...
Update vector attributes...
100%
v.what.rast complete. 4 records updated.
Reading features from vector map ...
WARNING: Strip exists with insufficient data
Ignoring 1 points (too dense)
WARNING: 3 points given for interpolation (after thinning) is less than
given NPMIN=300
WARNING: There are less than 600 points for interpolation. No segmentation
is necessary, to run the program faster set segmax=600 (see
manual)
Bitmap mask created
Processing segments in parallel...
Starting parallel work
100%
v.surf.rst complete.
100%
No clump map given, using MASK
100%
1:0.01:5:710:576704.83:5188142.51:0.09
Execution of <sh script.sh> finished.
Cleaning up default sqlite database ...
Cleaning up temporary files...
```
Note the last line: `1:0.01:5:710:576704.83:5188142.51:0.09`
Hi Piero,
Itβs just about v.import module, now you have to deal with use v.in.ogr and v.proj instead of v.import.
GDAL 3 + PROJ 6 are confirmed to not work properly with grass 7.6, so definitvely thinking moving to 7.8 β¦ in case you upgrade to gdal 3 or proj6.
All osgeo stack related to proj upgrade from 4 to 6 could have temporary problem but just move forward. Proj6 will help a lot especially with geoids corrections β¦
1 Like
Hi @kikislater , thanks for the pointers. Would you be interested in making a pull request?
Yes I have to find some time but I could do it !
4 Likes