1 / 21

Spatial Support

Spatial Support. Relational and Non-Relational Data. Relational data uses simple data types Each type has a single value Generic operations work well with the types Relational storage/query may not be optimal for Hierarchical data Sparse, variable, property bags Some types

lizina
Download Presentation

Spatial Support

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Spatial Support

  2. Relational and Non-Relational Data • Relational data uses simple data types • Each type has a single value • Generic operations work well with the types • Relational storage/query may not be optimal for • Hierarchical data • Sparse, variable, property bags • Some types • benefit by using a custom library • use extended type system (complex types, inheritance) • use custom storage and non-SQL APIs • use non-relational queries and indexing

  3. Spatial Data • Spatial data provides answers to location-based queries • Which roads intersect the Microsoft campus? • Does my land claim overlap yours? • List all of the Italian restaurants within 5 kilometers • Spatial data is part of almost every database • If your database includes an address

  4. Spatial Data Types • The Open Geospatial Consortium defines a hierarchy of spatial data types • Point • Linestring • Polygon • MultiPoint • MultiLinestring • MultiPolygon • GeomCollection • Non-instanciable classes based on these

  5. OGC Hierarchy of Spatial Types

  6. SQL Server 2008 and Spatial Data • SQL Server supports two spatial data types • GEOMETRY - flat earth model • GEOGRAPHY - round earth model • Both types support all of the instanciable OGC types • InstanceOf method can distinguish between them • Supports two dimension data • X and Y or Lat and Long members • Z member - elevation (user-defined semantics) • M member - measure (user-defined semantics)

  7. GEOGRAPHY Requirements • GEOGRAPHY type has additional requirements • Coordinate order is • Longitude/Latitude for WKT, WKB • Latitude/Longitude for GML • Exterior polygon rings must have their describing coordinates in counter-clockwise order (left-hand rule) with interior rings (holes) in clockwise-order (right-hand rule) • A single GEOGRAPHY object cannot span more than a logical hemisphere

  8. Spatial Data demo

  9. Properties and Methods • The spatial data types are exposed as SQLCLR UDTs • Use '.' syntax for properties • Use '.' syntax for instance methods • Use '::' syntax for static methods • Methods and Properties are case-sensitive • Each type uses a set of properties and methods that correspond to OGC functionality • With Extensions • Geometry implements all OGC properties and methods • Geography implements most OGC properties and methods • 2-D vector only implemented

  10. Input • Spatial data is stored in a proprietary binary format • Instance of the type can be NULL • Can be input as • Well Known binary - ST[Type]FromWKB • Well Known text - ST[Type]FromText • Geography Markup Language (GML) - GeomFromGml • Can also use SQLCLR functions • Parse • Point - extension function • Input from SQLCLR Type - SqlGeometry, SqlGeography • Spatial builder API – Populate, IGeometrySink/IGeographySink

  11. Output • Spatial Data Can Be Output As • Well Known binary - STAsBinary • Well Known text - STAsText • GML - AsGml • Text with Z and M values - AsTextZM • SQLCLR standard method • ToString - returns Well Known text • As SQLCLR object - SqlGeometry, SqlGeography • Other useful formats are GeoRSS, KML • Not Directly Supported

  12. SRID • Each instance of a spatial type must have an SRID • Spatial Reference Identifier • SRID specifies the specification used to compute it • SRID 4326 - GPS, default for GEOGRAPHY • SRID 4269 - usually used by ESRI • SRID 0 - no special reference, default for GEOMETRY • Methods that use multiple spatial types (e.g., STDistance) must have types with matching SRID • Else method returns NULL • Geography instance must reference one of these SRID stored in sys.spatial_reference_systems

  13. Useful Methods/Properties • Descriptive • STArea • STLength • STCentroid • Relation between two instances • STIntersects • STDistance • Manipulation • STUnion • STSymDifference • Collections • STGeometryN • STPointN

  14. Sample Query SELECT * FROM roads WHERE roads.geom.STIntersects(@ms)=1 Which roads intersect Microsoft’s main campus?

  15. Extension Methods • SQL Server 2008 extends OGC methods • MakeValid - Converts to OGC valid instance • BufferWithTolerence - similar to STBuffer, allows approximation and variation • Reduce - Simplify a complex geography or geometry • NumRings, RingN - polygons with multiple rings • GML support • Z and M properties and AsTextZM method • Filter - provides a quick intersection set but with false positives • EnvelopeCenter,EnvelopeAngle for Geography types

  16. Spatial Indexes • SQL Server Spatial Indexes Based on B-Trees • Uses tessellation to tile 2D to linear • Divides space into grid of cells(uses Hilbert algorithm) • Meant as a first level of row elimination • Can produce false positives • Never false negatives • You specify • Bounding box of top level grid - GEOMETRY index only • Cells per object - number of cells recorded for matching • Grids • Four Grid Levels • Three Grid Densities Per Level - Low, Medium, High

  17. Tessellation process

  18. Spatial Analytics demo

  19. Review • Spatial data provides answers to location-based queries • SQL Server supports two spatial data types • GEOMETRY - flat earth model • GEOGRAPHY - round earth model • Spatial data has • Useful properties and functions • Library of spatial functions • Three standard input and output formats • Spatial indexes

  20. Resources • SQL Server Spatial Data Technology Center http://www.microsoft.com/sql/2008/technologies/spatial.mspx • Whitepaper: Delivering Location Intelligence with Spatial Data http://www.microsoft.com/sql/techinfo/whitepapers/spatialdata.mspx • MSDN Webcast: Building Spatial Applications with SQL Server 2008, Event ID: 1032353123 • Whitepaper: What's New for XML in SQL Server 2008 http://www.microsoft.com/sql/techinfo/whitepapers/sql_2008_xml.mspx • Whitepaper: Managing Unstructured Data with SQL Server 2008 http://www.microsoft.com/sql/techinfo/whitepapers/sql_2008_unstructured.mspx

  21. © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

More Related