Saturday 1 February 2020

topology - Benefits of Multipart Features?


Multipart points, lines, and polygons are implemented in nearly every GIS, but what benefits, if any, do they provide?


In a relational database attributes shared by different features can be stored once, and IDs used to link them to separate geometry records. So are multipart features a legacy of flat file data storage?


alt text



Answer



If your software doesn't support multi-part features you may have to go to extraordinary and complicated lengths to execute spatial operations. For example, the intersection of two polygons can, in general, have more than one connected component. It is convenient, both algorithmically and conceptually, to suppose that such an intersection returns a single object (a multipart polygon) rather than an arbitrary number of polygons. (For the same reasons it is helpful to support various forms of null and degenerate features--for example, polygons having an extent but zero area or even polygons with locations but neither extent nor area. These things can arise from geometric operations; supporting them eliminates a lot of fussy case-by-case post-processing and can prevent useful information from disappearing.)


From a relational database point of view, multipart features make normalization possible: when an attribute is inseparable from a collection of polygons, you want to represent that collection as a single object. A good example would be a feature representing almost any country in the world having a coastline, because the country probably includes some islands. Do you really want to force your RDBMS to make one copy of the country's attributes for every little island? Most likely not. You don't even want (or need) to maintain multiple copies of a pointer to the attributes, either.


How would you represent a network or a branching tree if not as a coordinated multi-polyline?


From the point of view of mathematics or algorithmic data structures, allowing a multipart feature is a simplification, not a complication. In order to support multiply connected polygons (rings and polygons with "holes") you already need the apparatus for representing multi-part polygons.


Finally, "vector" objects and their typical "spaghetti representation" have their origin in the theory of simplicial complexes. (It is only through this somewhat tenuous connection to the theory of topology that the term "topology" made it into GIS, which otherwise uses essentially nothing from that theory.) That theory requires, and benefits from, multi-part features. In fact, having just a single component is not part of the definition of a simplicial complex, but rather turns out to be a special property enjoyed by some of them (as detected by the rank of their zeroth homology group). As such, "single part" is not a defining property, but is just a topological quality in the same sense that having a ring or a "hole" in a polygon is a topological quality (related to the rank of the first homology group).



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...