PostGIS 1.5.1 Manual 28 / 315 For example, consider a linear dataset representi

PostGIS 1.5.1 Manual 28 / 315 For example, consider a linear dataset representing a road network. It may be the task of a GIS analyst to identify all road segments that cross each other, not at a point, but on a line, perhaps invalidating some business rule. In this case, ST_Crosses does not adequately provide the necessary spatial filter since, for linear features, it returns true only where they cross at a point. One two-step solution might be to first perform the actual intersection (ST_Intersection) of pairs of road segments that spatially intersect (ST_Intersects), and then compare the intersection’s ST_GeometryType with ’LINESTRING’ (properly dealing with cases that return GEOMETRYCOLLECTIONs of [MULTI]POINTs, [MULTI]LINESTRINGs, etc.). A more elegant / faster solution may indeed be desirable. PostGIS 1.5.1 Manual 29 / 315 A second [theoretical] example may be that of a GIS analyst trying to locate all wharfs or docks that intersect a lake’s boundary on a line and where only one end of the wharf is up on shore. In other words, where a wharf is within, but not completely within a lake, intersecting the boundary of a lake on a line, and where the wharf’s endpoints are both completely within and on the boundary of the lake. The analyst may need to use a combination of spatial predicates to isolate the sought after features: • ST_Contains(lake, wharf) = TRUE • ST_ContainsProperly(lake, wharf) = FALSE • ST_GeometryType(ST_Intersection(wharf, lake)) = ’LINESTRING’ • ST_NumGeometries(ST_Multi(ST_Intersection(ST_Boundary(wharf), ST_Boundary(lake)))) = 1 ... (needless to say, this could get quite complicated) So enters the Dimensionally Extended 9 Intersection Model, or DE-9IM for short. 4.3.6.1 Theory According to the OpenGIS Simple Features Implementation Specification for SQL, "the basic approach to comparing two ge- ometries is to make pair-wise tests of the intersections between the Interiors, Boundaries and Exteriors of the two geometries and to classify the relationship between the two geometries based on the entries in the resulting ’intersection’ matrix." Boundary The boundary of a geometry is the set of geometries of the next lower dimension. For POINTs, which have a dimension of 0, the boundary is the empty set. The boundary of a LINESTRING are the two endpoints. For POLYGONs, the boundary is the linework that make up the exterior and interior rings. Interior The interior of a geometry are those points of a geometry that are left when the boundary is removed. For POINTs, the interior is the POINT itself. The interior of a LINESTRING are the set of real points between the endpoints. For POLYGONs, the interior is the areal surface inside the polygon. Exterior The exterior of a geometry is the universe, an areal surface, not on the interior or boundary of the geometry. uploads/Industriel/ mathematica-guide.pdf

  • 11
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager