1

I am trying to use v.clean to fix small overlaps and gaps in a polygon dataset. However, I always get an empty output. What am I doing wrong? I've tried different thresholds but the result is always the same...

QGIS version: 3.22.4-Białowieża
QGIS code revision: ce8e65e9
Qt version: 5.15.2
Python version: 3.9.5
GDAL version: 3.4.1
GEOS version: 3.10.2-CAPI-1.16.0
PROJ version: Rel. 8.2.1, January 1st, 2022
PDAL version: 2.3.0 (git-version: 9f35b7)
Algorithm started at: 2022-03-16T21:28:11
Algorithm 'v.clean' starting…
Input parameters:
{ '-b' : False, '-c' : False, 'GRASS_MIN_AREA_PARAMETER' : 10, 'GRASS_OUTPUT_TYPE_PARAMETER' : 0, 'GRASS_REGION_PARAMETER' : None, 'GRASS_SNAP_TOLERANCE_PARAMETER' : 0.1, 'GRASS_VECTOR_DSCO' : '', 'GRASS_VECTOR_EXPORT_NOCAT' : False, 'GRASS_VECTOR_LCO' : '', 'error' : 'TEMPORARY_OUTPUT', 'input' : 'F:/NPG_EHZ_Karte/GeomCheck/geomCheck001_geom_check_topoCheckFixed geometries — buffered.gpkg', 'output' : 'TEMPORARY_OUTPUT', 'threshold' : '0.1', 'tool' : [0], 'type' : [4] }

Attempting to use v.external for direct layer read
g.proj -c wkt="C:/Users/Patrick/AppData/Local/Temp/processing_CQpMjU/c492180be3a14e139068da2827a6b7c9/crs.prj"
v.external input="F:\NPG_EHZ_Karte\GeomCheck\geomCheck001_geom_check_topoCheckFixed geometries — buffered.gpkg" output="vector_6232485bb45402" --overwrite -o
g.region n=280115.481894154 s=264651.481894154 e=556215.548999267 w=536611.548999267
v.clean input=vector_6232485bb45402 type="area" tool="break" threshold="0.1" output=output573c42b09e9c48c2a1179704d5a83cb6 error=error573c42b09e9c48c2a1179704d5a83cb6 --overwrite
v.out.ogr type="auto" input="output573c42b09e9c48c2a1179704d5a83cb6" output="C:\Users\Patrick\AppData\Local\Temp\processing_CQpMjU\a8fee6f951ba4b569fd7d40a083a9d68\output.gpkg" format="GPKG" --overwrite
v.out.ogr type="auto" input="error573c42b09e9c48c2a1179704d5a83cb6" output="C:\Users\Patrick\AppData\Local\Temp\processing_CQpMjU\d3926c0a47a44b3a94ab8efd1483df81\error.gpkg" format="GPKG" --overwrite
Starting GRASS GIS...
WARNUNG: Sperren gleichzeitiger Zugriffe auf ein Mapset ist unter Windows nicht möglich.
Cleaning up temporary files...
Executing <C:\Users\Patrick\AppData\Local\Temp\processing_CQpMjU\grassdata\grass_batch_job.cmd> ...
C:\Users\Patrick\Documents>chcp 1252 1>NUL
C:\Users\Patrick\Documents>g.proj -c wkt="C:/Users/Patrick/AppData/Local/Temp/processing_CQpMjU/c492180be3a14e139068da2827a6b7c9/crs.prj"
Die Standard Region wurde auf die neue Projektion aktualisiert. Wenn Sie aber mehrere Mapsets haben, sollten Sie `g.region -d` in jedem ausführen, um die Einstellungen von der Standardregion zu übernehmen.
Projektionsinformationen aktualisiert
C:\Users\Patrick\Documents>v.external input="F:\NPG_EHZ_Karte\GeomCheck\geomCheck001_geom_check_topoCheckFixed geometries — buffered.gpkg" output="vector_6232485bb45402" --overwrite -o
Übersteuere Projektionsprüfung
Erstelle Topologie für die Vektorkarte <vector_6232485bb45402@PERMANENT>...
Using external data format 'GPKG' (feature type 'multipolygon')
Registriere Primitive...
10000..20000..
50435 primitives registered
4937252 vertices registered
v.external komplett. Link to vector map <vector_6232485bb45402> created.
C:\Users\Patrick\Documents>g.region n=280115.481894154 s=264651.481894154 e=556215.548999267 w=536611.548999267
C:\Users\Patrick\Documents>v.clean input=vector_6232485bb45402 type="area" tool="break" threshold="0.1" output=output573c42b09e9c48c2a1179704d5a83cb6 error=error573c42b09e9c48c2a1179704d5a83cb6 --overwrite
ERROR 1: In ExecuteSQL(): sqlite3_prepare_v2(select * from geomCheck001_geom_check_topoCheckFixed geometries — buffered where 0 = 1):
near "—": syntax error
WARNUNG: Der Schwellwert für 1 sollte nicht > 0 sein, setze auf 0.
--------------------------------------------------
Werkzeug: Schwellwert
Teile: 0
--------------------------------------------------
Kopiere Objekte...
2..5..8..11..14..17..20..23..26..29..32..35..38..41..44..47..50..53..56..59..62..65..68..71..74..77..80..83..86..89..92..95..98..100
WARNUNG: Kann den Select-Cursor 'select * from geomCheck001_geom_check_topoCheckFixed geometries — buffered where 0 = 1' nicht öffnen.
WARNUNG: Kann die Tabelle <output573c42b09e9c48c2a1179704d5a83cb6> nicht kopieren.
WARNUNG: Unable to copy table <geomCheck001_geom_check_topoCheckFixed geometries — buffered> for layer 1 from <vector_6232485bb45402@PERMANENT> to <output573c42b09e9c48c2a1179704d5a83cb6>
WARNUNG: Failed to copy attribute table to output vector map
Erstelle Teile der Topologie neu...
Erstelle Topologie für die Vektorkarte <output573c42b09e9c48c2a1179704d5a83cb6@PERMANENT>...
Registriere Primitive...
10000..20000..30000..40000..50000..
--------------------------------------------------
Werkzeug: Teile Linien an Überschneidungen
--------------------------------------------------
Erstelle erneut Topologie für die Ausgabe-Vektorkarte...
Erstelle Topologie für die Vektorkarte <output573c42b09e9c48c2a1179704d5a83cb6@PERMANENT>...
Registriere Primitive...
10000..20000..30000..40000..50000..
Erzeuge Flächen...
0..2..4..6..8..10..12..14..16..18..20..22..24..26..28..30..32..34..36..38..40..42..44..46..48..50..52..54..56..58..60..62..64..66..68..70..72..74..76..78..80..82..84..86..88..90..92..94..96..98..100
Füge Inseln hinzu...
0..2..4..6..8..10..12..14..16..18..20..22..24..26..28..30..32..34..36..38..40..42..44..46..48..50..52..54..56..58..60..62..64..66..68..70..72..74..76..78..80..82..84..86..88..90..92..94..96..98..100
Füge Zentroide hinzu...
0..2..4..6..8..10..12..14..16..18..20..22..24..26..28..30..32..34..36..38..40..42..44..46..48..50..52..54..56..58..60..62..64..66..68..70..72..74..76..78..80..82..84..86..88..90..92..94..96..98..100
WARNUNG: Anzahl inkorrekter Grenzen: 580
WARNUNG: Anzahl der Zentroide außerhalb von Flächen: 386
WARNUNG: Anzahl duplizierter Zentroide: 56
--------------------------------------------------
Erstelle Topologie für die Fehler-Vektorkarte...
Erstelle Topologie für die Vektorkarte <error573c42b09e9c48c2a1179704d5a83cb6@PERMANENT>...
Registriere Primitive...
C:\Users\Patrick\Documents>v.out.ogr type="auto" input="output573c42b09e9c48c2a1179704d5a83cb6" output="C:\Users\Patrick\AppData\Local\Temp\processing_CQpMjU\a8fee6f951ba4b569fd7d40a083a9d68\output.gpkg" format="GPKG" --overwrite
FEHLER: Kann Tabelle <output573c42b09e9c48c2a1179704d5a83cb6> nicht beschreiben.
C:\Users\Patrick\Documents>v.out.ogr type="auto" input="error573c42b09e9c48c2a1179704d5a83cb6" output="C:\Users\Patrick\AppData\Local\Temp\processing_CQpMjU\d3926c0a47a44b3a94ab8efd1483df81\error.gpkg" format="GPKG" --overwrite
WARNUNG: Unable to determine input map's vector feature type(s).
WARNUNG: Keine Attributtabelle gefunden -> benutze nur Kategorienummern als Attributes.
WARNUNG: Output layer is empty, no features written
v.out.ogr komplett. 0 features (Unknown (any) type) written to <error573c42b09e9c48c2a1179704d5a83cb6> (GPKG format).
C:\Users\Patrick\Documents>exit
Execution of <C:\Users\Patrick\AppData\Local\Temp\processing_CQpMjU\grassdata\grass_batch_job.cmd> finished.
Cleaning up default sqlite database ...
Cleaning up temporary files...
Execution completed in 18.97 seconds
Results:
{'error': 'C:\\Users\\Patrick\\AppData\\Local\\Temp\\processing_CQpMjU\\d3926c0a47a44b3a94ab8efd1483df81\\error.gpkg',
'output': 'C:\\Users\\Patrick\\AppData\\Local\\Temp\\processing_CQpMjU\\a8fee6f951ba4b569fd7d40a083a9d68\\output.gpkg'}

Loading resulting layers
Algorithm 'v.clean' finished

EDIT: Log after exporting and renaming:

QGIS version: 3.22.4-Białowieża
QGIS code revision: ce8e65e9
Qt version: 5.15.2
Python version: 3.9.5
GDAL version: 3.4.1
GEOS version: 3.10.2-CAPI-1.16.0
PROJ version: Rel. 8.2.1, January 1st, 2022
PDAL version: 2.3.0 (git-version: 9f35b7)
Algorithm started at: 2022-03-16T22:14:25
Algorithm 'v.clean' starting…
Input parameters:
{ '-b' : False, '-c' : False, 'GRASS_MIN_AREA_PARAMETER' : 10, 'GRASS_OUTPUT_TYPE_PARAMETER' : 0, 'GRASS_REGION_PARAMETER' : None, 'GRASS_SNAP_TOLERANCE_PARAMETER' : 0.1, 'GRASS_VECTOR_DSCO' : '', 'GRASS_VECTOR_EXPORT_NOCAT' : False, 'GRASS_VECTOR_LCO' : '', 'error' : 'TEMPORARY_OUTPUT', 'input' : 'F:\\NPG_EHZ_Karte\\GeomCheck\\v10_bufferd_cleaned.shp', 'output' : 'TEMPORARY_OUTPUT', 'threshold' : '0.1', 'tool' : [0], 'type' : [4] }

Attempting to use v.external for direct layer read
g.proj -c wkt="C:/Users/Patrick/AppData/Local/Temp/processing_CQpMjU/f8e5cbc80aaa45a7861291bf19abcce7/crs.prj"
v.external input="F:\NPG_EHZ_Karte\GeomCheck\v10_bufferd_cleaned.shp" output="vector_62325331bb3db6" --overwrite -o
g.region n=280115.4818941541 s=264651.4818941541 e=556215.5489992674 w=536611.5489992674
v.clean input=vector_62325331bb3db6 type="area" tool="break" threshold="0.1" output=output223b20de0ee4424db755dc5ac7461427 error=error223b20de0ee4424db755dc5ac7461427 --overwrite
v.out.ogr type="auto" input="output223b20de0ee4424db755dc5ac7461427" output="C:\Users\Patrick\AppData\Local\Temp\processing_CQpMjU\381e48c5df0c4d96b896405d180f95cf\output.gpkg" format="GPKG" --overwrite
v.out.ogr type="auto" input="error223b20de0ee4424db755dc5ac7461427" output="C:\Users\Patrick\AppData\Local\Temp\processing_CQpMjU\d24405739402412fa3612917fd38f020\error.gpkg" format="GPKG" --overwrite
Starting GRASS GIS...
WARNUNG: Sperren gleichzeitiger Zugriffe auf ein Mapset ist unter Windows nicht möglich.
Cleaning up temporary files...
Executing <C:\Users\Patrick\AppData\Local\Temp\processing_CQpMjU\grassdata\grass_batch_job.cmd> ...
C:\Users\Patrick\Documents>chcp 1252 1>NUL
C:\Users\Patrick\Documents>g.proj -c wkt="C:/Users/Patrick/AppData/Local/Temp/processing_CQpMjU/f8e5cbc80aaa45a7861291bf19abcce7/crs.prj"
Die Standard Region wurde auf die neue Projektion aktualisiert. Wenn Sie aber mehrere Mapsets haben, sollten Sie `g.region -d` in jedem ausführen, um die Einstellungen von der Standardregion zu übernehmen.
Projektionsinformationen aktualisiert
C:\Users\Patrick\Documents>v.external input="F:\NPG_EHZ_Karte\GeomCheck\v10_bufferd_cleaned.shp" output="vector_62325331bb3db6" --overwrite -o
Übersteuere Projektionsprüfung
Erstelle Topologie für die Vektorkarte <vector_62325331bb3db6@PERMANENT>...
Using external data format 'ESRI Shapefile' (feature type 'polygon')
Registriere Primitive...
10000..20000..
50435 primitives registered
4937252 vertices registered
v.external komplett. Link to vector map <vector_62325331bb3db6> created.
C:\Users\Patrick\Documents>g.region n=280115.4818941541 s=264651.4818941541 e=556215.5489992674 w=536611.5489992674
C:\Users\Patrick\Documents>v.clean input=vector_62325331bb3db6 type="area" tool="break" threshold="0.1" output=output223b20de0ee4424db755dc5ac7461427 error=error223b20de0ee4424db755dc5ac7461427 --overwrite
WARNUNG: Der Schwellwert für 1 sollte nicht > 0 sein, setze auf 0.
--------------------------------------------------
Werkzeug: Schwellwert
Teile: 0
--------------------------------------------------
Kopiere Objekte...
2..5..8..11..14..17..20..23..26..29..32..35..38..41..44..47..50..53..56..59..62..65..68..71..74..77..80..83..86..89..92..95..98..100
WARNUNG: Unable to create index
WARNUNG: Unable to copy table <v10_bufferd_cleaned> for layer 1 from <vector_62325331bb3db6@PERMANENT> to <output223b20de0ee4424db755dc5ac7461427>
WARNUNG: Failed to copy attribute table to output vector map
Erstelle Teile der Topologie neu...
Erstelle Topologie für die Vektorkarte <output223b20de0ee4424db755dc5ac7461427@PERMANENT>...
Registriere Primitive...
10000..20000..30000..40000..50000..
--------------------------------------------------
Werkzeug: Teile Linien an Überschneidungen
--------------------------------------------------
Erstelle erneut Topologie für die Ausgabe-Vektorkarte...
Erstelle Topologie für die Vektorkarte <output223b20de0ee4424db755dc5ac7461427@PERMANENT>...
Registriere Primitive...
10000..20000..30000..40000..50000..
Erzeuge Flächen...
0..2..4..6..8..10..12..14..16..18..20..22..24..26..28..30..32..34..36..38..40..42..44..46..48..50..52..54..56..58..60..62..64..66..68..70..72..74..76..78..80..82..84..86..88..90..92..94..96..98..100
Füge Inseln hinzu...
0..2..4..6..8..10..12..14..16..18..20..22..24..26..28..30..32..34..36..38..40..42..44..46..48..50..52..54..56..58..60..62..64..66..68..70..72..74..76..78..80..82..84..86..88..90..92..94..96..98..100
Füge Zentroide hinzu...
0..2..4..6..8..10..12..14..16..18..20..22..24..26..28..30..32..34..36..38..40..42..44..46..48..50..52..54..56..58..60..62..64..66..68..70..72..74..76..78..80..82..84..86..88..90..92..94..96..98..100
WARNUNG: Anzahl inkorrekter Grenzen: 580
WARNUNG: Anzahl der Zentroide außerhalb von Flächen: 386
WARNUNG: Anzahl duplizierter Zentroide: 56
--------------------------------------------------
Erstelle Topologie für die Fehler-Vektorkarte...
Erstelle Topologie für die Vektorkarte <error223b20de0ee4424db755dc5ac7461427@PERMANENT>...
Registriere Primitive...
C:\Users\Patrick\Documents>v.out.ogr type="auto" input="output223b20de0ee4424db755dc5ac7461427" output="C:\Users\Patrick\AppData\Local\Temp\processing_CQpMjU\381e48c5df0c4d96b896405d180f95cf\output.gpkg" format="GPKG" --overwrite
FEHLER: Schlüsselspalte <> nicht gefunden
C:\Users\Patrick\Documents>v.out.ogr type="auto" input="error223b20de0ee4424db755dc5ac7461427" output="C:\Users\Patrick\AppData\Local\Temp\processing_CQpMjU\d24405739402412fa3612917fd38f020\error.gpkg" format="GPKG" --overwrite
WARNUNG: Unable to determine input map's vector feature type(s).
WARNUNG: Keine Attributtabelle gefunden -> benutze nur Kategorienummern als Attributes.
WARNUNG: Output layer is empty, no features written
v.out.ogr komplett. 0 features (Unknown (any) type) written to <error223b20de0ee4424db755dc5ac7461427> (GPKG format).
C:\Users\Patrick\Documents>exit
Execution of <C:\Users\Patrick\AppData\Local\Temp\processing_CQpMjU\grassdata\grass_batch_job.cmd> finished.
Cleaning up default sqlite database ...
Cleaning up temporary files...
Execution completed in 25.05 seconds
Results:
{'error': 'C:\\Users\\Patrick\\AppData\\Local\\Temp\\processing_CQpMjU\\d24405739402412fa3612917fd38f020\\error.gpkg',
'output': 'C:\\Users\\Patrick\\AppData\\Local\\Temp\\processing_CQpMjU\\381e48c5df0c4d96b896405d180f95cf\\output.gpkg'}

Loading resulting layers
Algorithm 'v.clean' finished
2
  • 1
    Maybe the problem is this strange character.: C:\Users\Patrick\Documents>v.external input="F:\NPG_EHZ_Karte\GeomCheck\geomCheck001_geom_check_topoCheckFixed geometries —
    – hugonbg
    Mar 16 at 21:00
  • Nop, I renamed the input - same result
    – parallax
    Mar 16 at 21:07

1 Answer 1

0

The way I solved this problem is I reprojected my input layer using a coordinate system that used meters. Let me know if that works for you as well.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.