Thursday, 28 June 2018

qgis - Are there Desktop GIS alternatives to ArcGIS 10.X for topology and vector conflation?



Is there any options other than ArcGIS for Desktop for topological rules and automatic topology integrity enforcing in a Desktop GIS? I am looking for something that will automatically snap features to some base layer bounds (eliminating gaps and overlaps in dataset).


I know about PostGIS topology functions but I would like something in a Desktop GIS.


QGIS 2 is trying to implement topological rules but nothing to automatically clean the data.


Is Esri's ArcGIS for Desktop actually the only solution?



Answer



"Back in the “olden-days” GIS users, particularly ArcInfo users, were well versed in geospatial topology because of the coverage" (Geospatial Topology, the Basics)


But ESRI is not the only solution:



  • From these beginnings (at the same time as ArcInfo), GRASS GIS is also a full topological GIS with rules that differ from those of ESRI:

  • The topology in PostGIS is much more recent with other rules



The GRASS GIS Topology Data Model (from GRASS wiki and Full planar topology in GRASS, in Italian).


In the GRASS GIS data model are defined various topological elements:




  • nodes - 0D elements:


     for each node is defined which lines/boundaries starts and ends in this node;


  • lines - 1D elements which cannot form areas:



      for each line is defined a start and end node;


  • boundaries - 1D elements which can form areas:


      for each boundary is defined a start and end node, and an area on the left and right


  • centroid : point located inside area:


      for each centroid is defined an area 



  • areas - 2D elements formed by closed set of boundaries and optionally by one centroid located inside the area:


      for each area is defined the list of boundaries which forms the area 
    (outer ring), and the list of isles located inside the area


  • isle - 2D elements formed by areas:


      for each isle is defined the list of boundaries which forms the isle (it's outer ring), 
    and optionally by the area where the isle is located.



The PostGIS Topology Model:


The model defines only topological elements




  • nodes - 0D elements


    Is defined by geometry (point) and by the face where the node is located (can be NULL) 


  • edges - 1D elements



    Is defined by geometry (linestring), start and end node, next left and right edge 
    (ie. connectivity) and by the face on the left and right.


  • faces - 2D elements


    Is defined by bounding box. 


So:




  • when you import a shapefile or a QGIS layer in GRASS GIS, they are modified to comply with the topological rules (GRASS layers, see Vector data processing in GRASS GIS, v.clean,v.build)

  • The same is true when digitizing new vector maps


You can use GRASS GIS only or GRASS GIS from QGIS with the grass plugin or the Sextante plugin, but be careful, even if the layer is topologically correct in GRASS GIS, this would not be the case of the resulting layer in QGIS (no topology) !


No comments:

Post a Comment

arcpy - Changing output name when exporting data driven pages to JPG?

Is there a way to save the output JPG, changing the output file name to the page name, instead of page number? I mean changing the script fo...