2

I have not found a solution yet to intersect two 3d vector layers. The solution is to calculate the intersection of the two polygonal 3d surfaces.

Does anyone know a solution to intersect two vector layers?

As an example I attach the following example. The dashed line marked in yellow is to be calculated as the intersection line. I have not found the appropriate command lines for GDAL.

enter image description here

CSV Code for the first polygon: enter link description here

1
4469855.780000 5507533.330000 2.149567
4469855.810000 5507533.060000 1.993225
4469856.750000 5507533.140000 1.998871
4469856.730000 5507533.430000 2.169739
4469855.780000 5507533.330000 2.149567
END
1
4469855.810000 5507533.060000 1.993225
4469855.840000 5507532.850000 1.944733
4469856.780000 5507532.930000 1.949158
4469856.750000 5507533.140000 1.998871
4469855.810000 5507533.060000 1.993225
END
1
4469856.780000 5507532.930000 1.949158
4469855.840000 5507532.850000 1.944733
4469855.880000 5507532.530000 2.085205
4469856.810000 5507532.620000 2.090668
4469856.780000 5507532.930000 1.949158
END
1
4469854.850000 5507532.980000 1.985687
4469855.810000 5507533.060000 1.993225
4469855.780000 5507533.330000 2.149567
4469854.800000 5507533.260000 2.181244
4469854.850000 5507532.980000 1.985687
END
1
4469854.850000 5507532.980000 1.985687
4469854.880000 5507532.760000 1.939545
4469855.840000 5507532.850000 1.944733
4469855.810000 5507533.060000 1.993225
4469854.850000 5507532.980000 1.985687
END
1
4469855.880000 5507532.530000 2.085205
4469855.840000 5507532.850000 1.944733
4469854.880000 5507532.760000 1.939545
4469854.930000 5507532.450000 2.074005
4469855.880000 5507532.530000 2.085205
END
END

CSV Code for the second polygon: enter link description here

1
4469855.780000 5507533.330000 2.061700
4469855.810000 5507533.060000 2.061700
4469856.750000 5507533.140000 2.056200
4469856.730000 5507533.430000 2.056200
4469855.780000 5507533.330000 2.061700
END
1
4469855.810000 5507533.060000 2.061700
4469855.840000 5507532.850000 2.061900
4469856.780000 5507532.930000 2.058100
4469856.750000 5507533.140000 2.056200
4469855.810000 5507533.060000 2.061700
END
1
4469856.780000 5507532.930000 2.058100
4469855.840000 5507532.850000 2.061900
4469855.880000 5507532.530000 2.061900
4469856.810000 5507532.620000 2.058100
4469856.780000 5507532.930000 2.058100
END
1
4469854.850000 5507532.980000 2.057300
4469855.810000 5507533.060000 2.061700
4469855.780000 5507533.330000 2.061700
4469854.800000 5507533.260000 2.057300
4469854.850000 5507532.980000 2.057300
END
1
4469854.850000 5507532.980000 2.057300
4469854.880000 5507532.760000 2.058000
4469855.840000 5507532.850000 2.061900
4469855.810000 5507533.060000 2.061700
4469854.850000 5507532.980000 2.057300
END
1
4469855.880000 5507532.530000 2.061900
4469855.840000 5507532.850000 2.061900
4469854.880000 5507532.760000 2.058000
4469854.930000 5507532.450000 2.058000
4469855.880000 5507532.530000 2.061900
END
END

With GDAL I can transform CSV code into a 3d shapefile:

ogr2ogr -f "ESRI Shapefile" -nlt POLYGON -dim 3 -overwrite   terrain_polz3d.shp   ogr_check2dm_mesh_polz.pol
ogr2ogr -f "ESRI Shapefile" -nlt POLYGON -dim 3 -overwrite   water_polz3d.shp     ogr_sol2net_wspmax_polz.pol

Now how to calculate the intersection of the two polygons?

A solution with GDAL or QGIS3 is preferable.


Ich habe noch keine Lösung gefunden, um zwei 3d-Vektorebenen zu schneiden. Die Lösung ist, den Schnittpunkt der beiden polygonalen 3d-Flächen zu berechnen.

Kennt jemand eine Lösung, um zwei Vektorebenen zu schneiden?

Als Beispiel füge ich das folgende Beispiel an. Die gestrichelte, gelb markierte Linie soll als Schnittlinie berechnet werden. Die entsprechenden Befehlszeilen für gdal habe ich nicht gefunden.

Ich bin für jeden Hinweis dankbar. Eine Lösung mit gdal oder QGIS3 ist wünschenswert.

1
  • That comma-less data format is not CSV, but Arc/Info GENERATE format. – Vince Jan 21 at 0:53

Your Answer

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

Browse other questions tagged or ask your own question.