Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
SQL/MM Spatial Manage Spatial Data in an ORDBMS Knut Stolze <[email protected]> IBM Germany, 2003-02-26 Agenda Overview Spatial Data Types & Methods Information Schema Demo Questions Overview Part 3 of SQL/MM Part 1 - Framework Part 2 - Full Text Part 3 - Spatial Part 5 - Still Image Part 6 - Data Mining Derived from OGC Simple Feature Specification for SQL Currently: progressed to FDIS IS expected for the end of the year Overview (continued) Based on SQL-99 Structured types, methods, ... The standard does not define: Indexing mechanisms Implementation issues number, names, and types of attributes of the types specific algorithms ƒ Follows the SQL99 approach Overview (continued) Store, manage, and analyse geometries as scalar (complex) values Points, lines, and polygons Collections Overview (continued) Primary application today: Geographic Information Systems (GIS) Only sparse integration into classical database applications Products: IBM DB2 Spatial Extender IDS Spatial DataBlade Oracle Spatial Spatial Data Types ST_Geometry ST_Surface ST_Curve ST_Point ST_GeomCollection ST_CurvePolygon ST_MultiSurface ST_MultiCurve ST_Polygon ST_MultiPolygon ST_MultiLineString ST_LineString ST_CircularString ST_CompoundCurve ST_MultiPoint Spatial Data Types - Discussion Attempt to implement Composite Design Pattern originated from OGC class hierarchy pattern cannot be implemented in SQL ST_Point unrelated to ST_MultiPoint, ST_LineString unrelated to ST_MultiLineString, ST_Polygon unrelated to ST_MultiPolygon further processing of results results oftentimes in more complex SQL Types not properly mirrored between single-part and multi-part subtrees of the hierarchy Spatial Data Types - Discussion - (continued) Inconsistent handling of empty geometries Possible type hierarchy to address the issues: ST_Geometry ST_MultiSurface ST_MultiCurve ST_MultiPolygon ST_MultiCircString ST_MultiLineString ST_Polygon ST_CircularString ST_LineString ST_MultiPoint ST_Point ST_Empty Spatial Methods ST_Geometry ST_Point ST_LineString ST_CircularString ST_CompoundCurve ST_CurvePolygon ST_Polygon ST_GeomCollection ST_MultiPoint ST_MultiLineString ST_MultiPolygon ST_AsText ST_AsBinary ST_AsGML ST_Transform ST_Dimension ST_CoordDim ST_GeometryType ST_SRID ST_IsEmpty ST_IsSimple ST_IsValid ST_Boundary ST_Envelope ST_ConvexHull ST_Buffer ST_Intersection ST_Union ST_Difference ST_SymDifference ST_X ST_Y ST_Length ST_StartPoint ST_EndPoint ST_IsClosed ST_IsRing ST_NumPoints ST_PointN ST_NumCurves ST_CurveN ST_Area ST_Perimeter ST_Centroid ST_PointOnSurface ST_ExteriorRing ST_InteriorRings ST_NumInteriorRing ST_InteriorRingN ST_Distance ST_Equals ST_Relate ST_Disjoint ST_Intersects ST_Touches ST_Crosses ST_Within ST_Contains ST_Overlaps Spatial Methods - Format Conversion Well-known Text Representation point (10 10) multipolygon (((1 1, 2 2, 1 2, 1 1)),((10 10, 10 20, 20 20, 20 10, 10 10))) Well-known Binary Representation x'01010000000000000000002440000000000000244 0' Geography Markup Language <gml:Point><gml:coord><gml:X>10</gml:X> <gml:Y>10</gml:Y></gml:coord></gml:Point> Spatial Data Methods - Discussion Duplicated functionality ST_Overlaps, ST_Intersects, ST_Crosses ST_GeometryType & SPECIFIC_TYPE (SQL99) Additional functionality already supported by products: ST_ShortestPath (in current WD) Z/M coordinate support Other external data representations ST_Generalize to simplify geometries Information Schema associat ed ST_GEOMETRY_ COLUMNS ST_SPATIAL_ REFERENCE_SYSTEMS is subset ST_UNITS_OF_ MEASURE COLUMNS (SQL99) ST_SIZINGS Information Schema - Discussion Merge ST_SIZINGS view with SIZINGS (SQL99) additional facilities in SQL99 needed, first ST_SPATIAL_REFERENCE_SYSTEMS is rather primitive, EPSG uses: Coordinate Axis Name, Coordinate Axis, Coordinate System, Coordinate Reference System, Coordinate Operation, Ellipsoid, Datum, Prime Meridian, Coord_Op Method, Coord_Op Parameter, Coord_Op Parameter Usage, Coord_Op Parameter Value, DEMO Questions??