• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Beginning to Spatial Data in SQL Server 2008
 

Beginning to Spatial Data in SQL Server 2008

on

  • 2,198 views

Beginning to Spatial Data in SQL Server 2008

Beginning to Spatial Data in SQL Server 2008

Statistics

Views

Total Views
2,198
Views on SlideShare
2,184
Embed Views
14

Actions

Likes
0
Downloads
0
Comments
0

2 Embeds 14

http://www.slideshare.net 13
https://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Do wymiarowania danych geometrycznych możemy użyć centymetrów, cali, metrów, stóp, pikseli
  • Odp: Katmai, czyli co nowego w SQL Server 2008 CTP 10.06.2007 (N) 17:41 … Ilość nowych funkcjonalności jest niewielka (i dobrze, bo nie trzeba się napinać, żeby wszystkie szybko poznać). Jestem zdania, że lepiej dla nas i dla MS będzie, jeżeli w SQL Server 2008 nie pojawi się za wiele nowinek (zwłaszcza tak ciężkich i specyficznych jak spatial data)…
  • POINT: A Point is an exact location, and is defined in terms of an X and Y pair of coordinates, as well as optionally by a Z (elevation) and M (measure) coordinate.  It does not have a length or any area associated with it.  Points are used as the fundamental building blocks of more complex spatial types.  Note: Z and M are recognized and maintained by SQL Server 2008 if supplied, but are not used in any calculations).LINESTRING: A line segment is the shortest path between two points.  A LineString, then, is defined as the path between a sequence of points (i.e., a series of connected line segments).  It is considered simple if it does not cross over itself, and is considered a ring if the starting point is the same as the ending point.  A LineString is always considered to be a one dimensional object; it has length, but does not have area (even if it is a ring).POLYGON: A Polygon is a closed two-dimensional shape defined by a ring.  It has both length and area.  A Polygon may also have holes in its interior (a hole is defined by another Polygon).  Area within a hole is considered to be exterior to the Polygon itself. COLLECTIONS: In addition to the single instance types (Point, LineString, and Polygon), there is also a type that can hold a collection of instances.  This is similar to a list or an array in most programming languages.  The most generic type of collection is the GeomCollection, whose members can be of any type.  Deriving from GeomCollection are MultiPolygon, MultiLineString, and MultiPoint.  As their names suggest, the members of these collection types must be of the single instance type (i.e., MultiPoint can only contain Points, etc).
  • People with backgrounds in mathematics may be compelled to put commas between each coordinate, but in WKT, a space is used to separate the coordinates of a point, and a comma is used to separate points within a more complex type.  Parentheses are used to group points into a single shape. 
  • Questions? Answer! Answer?Questions!
  • Contactinformation
  • TheEnd

Beginning to Spatial Data in SQL Server 2008 Beginning to Spatial Data in SQL Server 2008 Presentation Transcript

  • Wprowadzenie do Spatial Data w SQL Server 2008
    {GET DATE – 31/05/2009}
    {WHERE – CodeCamp 2009 Kraków}
    {AUDIENCE TYPE – już trochę wymęczeni…}
  • Tobiasz Janusz Koprowski
    Data Center OperationSpecialistat
    Asseco Business Solutions SA
  • {get BIO}
    • związany z informatyką od połowy lat dziewięćdziesiątych
    • kilkuletnie doświadczenie w informatyce bankowej [Zorba, AS/400, ICBS, BTeller]
    • kilkuletnie doświadczenie w Centrum Przetwarzania Danych
    • na co dzień zajmujący się MOSS, DisasterRecovery, High Availibility, wirtualizacją, bezpieczeństwem fizycznym, tworzeniem procedur bezpieczeństwa
    • konsultant i wdrożeniowiec przy projektach audytów licencyjnych, systemów bezpieczeństwa, tworzenia ośrodków przetwarzania danych
    • Microsoft Gold Partner Program Administrator
    • uczestnik kilku programów Microsoft: Connect, Community LeadershipProgramm,
    ITProMomentum, VS2010 Terminology Community, Windows 7 Beta 2 PL
    • lider wrocławskiej grupy PLSSUG
    • prelegent na spotkaniach społeczności
    • Thawte Web Of Trust Notary
  • Agenda
    Co to jest: Spatial Data [typy danych]
    Praca ze Spatial Data
    Implementacja
    Definiowanie informacji danych w SQL Server 2008
    Współpraca z .NET Framework
    Tworzenie Spatial Data
    Tworzenie danych
    Import danych
    Przedstawianie Spatial Data
    Spatial Data and Management Studio
    Zagadnienia na następne sesje
    Analiza
    Modyfikacje
    Testowanie
    Indeksowanie
    Materiały dodatkowe
    Q & A
  • Powtórka z matematyki
    W czasach szkoły średniej większość z nas miała lekcje geometrii.
    Na płaskim planie, na siatce rysowaliśmy:
    punkty,
    czasem łącząc je liniami
    często łącząc linie w kształty
    Trójkąty, kwadraty, romby oparte na siatce bazującej na Kartezjańskim Systemie Koordynatów
    Serwer SQL 2008 pozwala nam na przedstawianie danych reprezentowanych przez dwa wymiary, bardzo bliskie geometrycznym rysunkom z czasów szkolnych.
  • Powtórka z geografii
    Być może nie wszyscy o tym słyszeli, lub nie wszyscy pamiętają, ale…
    Obecnie ziemia nie jest płaska!
    Jest podobna do piłki !!
    Od kiedy ziemia nie jest płaska… nastąpiła zasadnicza zmiana w sposobie jej opisywania.
    Dalej używamy płaskich map (w samochodach, na wycieczce) ale musimy zwrócić uwagę na poziom dystorsji, zniekształceń obrazu. …[patrz: Grenlandia/Antarktyka].
    SQL Server 2008 pozwala nam przedstawiać dane konkretne miejsce na mapie ziemi uwzględniając jej kulistą budowę.
  • Co to jest: Spatial Data [typy danych] 01
    SQL Server 2008 wprowadza nowe typy danych umożliwiające gromadzenie, przetwarzanie i analizowanie danych lokalizacyjnych bezpośrednio w serwerze SQL, a co za tym idzie również w aplikacjach do niego podłączonych.
    Trzy najważniejsze pojęcia związane z danymi przestrzennymi:
    GEOGRAPHY - przechowywanie i przetwarzanie danych przestrzennych opartych na współrzędnych geodezyjnych {round-earthorgeodetic data}. Uwzględniają krzywiznę ziemi i służą do opisywania krajów, kontynentów, dróg, miast.
    DECLARE@geoggeography
    GEOMETRY - przechowywanie i przetwarzanie danych przestrzennych opartych na współrzędnych płaskich (planarnych) {flat-earth data}. Nie uwzględniają krzywizny ziemi i opisują względnie małe obiekty (np. pomieszczenia i figury).
    DECLARE @geomgeometry
    SPATIAL INDEX - pozwalający na osiągnięcie wysokiej wydajności przetwarzania danych przestrzennych.
  • Co to jest: Spatial Data [typy danych] 02
    Standardy: opracowane przezOpenGeospatialConsortium (NGO).
    The Open Geospatial Consortium zdefiniowało podstawowe typy danych jakich używamy do opisywania wszystkiego co ma związek z przestrzennymi danymi geograficznymi i geometrycznymi:
    Point {punkt}
    Linestring {linia}
    Polygon {kształt}
    MultiPoint {wiele punktów}
    MultiLinestring {wiele linii}
    MultiPolygon {wiele kształtów}
    GeomCollection {kolekcja}
  • Praca z danymi przestrzennymi - Implementacja
    Typy danych zawarte są w Simple Feature Access, zaś opisane w dwóch dokumentach:
    OpenGIS Implementation Specification for Geographic information - Simple feature access - Part 1: Common architecture
    OpenGIS Implementation Specification for Geographic information - Simple feature access - Part 2: SQL option
    Reprezentacja danych została opracowana przez OGC i dotyczy zarówno danych Geometry jak i Geography, dla Points, Linestrings i innych. SQL Server daje nam:
    Well-Known Text (WKT), [Longitude/Latitide]
    Well-Known Binary (WKB), [Longitude/Latitide]
    Geography Markup Language (GML).  [Latitude/Longitude]
    WKT Syntax:
    POINT(10 10)
    POINT(10 10 10 1) // X Y Z M shown here
    LINESTRING(0 0, 10 10)
    POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))
    POLYGON((0 0, 0 10, 10 10, 10 0, 0 0), (1 1, 4 5, 4 1, 1 1))
  • Praca z danymi przestrzennymi - Definiowanie informacji
    Common SQL 2008 Datatypes:
    • char | dateline | float | int | money | nvarchar
    SpatialDatatypesIntroduced SQL 2008:
    • geography / geodeticvectorspatial data
    • geometry / planarvectorspatial data
    Geography and Geometry Datatypes – comparison:
  • DEMO 1 – SELECT * FROMsys.spatial_reference_systems
  • Praca z danymi przestrzennymi – Współpraca z .NET
    Zapis tych samych wartości w różny sposób:
    SQL
    DECLARE @MyGeometry geometry
    SET @MyGeometry = geometry::Point(10, 20, 0)
    SELECT @MyGeometry.ToString()
    .NET
    Imports Microsoft.SqlServer.Types
    Module MyModule
    Sub Main()
    Dim MyGeometry As New SqlGeometry()
    MyGeometry = SqlGeometry.Point(10, 20, 0)
    Console.Write(MyGeometry.ToString())
    End Sub
    End Module
    C#
    using Microsoft.SqlServer.Types
    Class MyClass
    {
    static void Main(string[] args)
    {
    SqlGeometry MyGeometry = SqlGeometry,Point(10, 20, 0)
    System.Console.Write(MyGeometry.ToString());
    }
    }
    WYNIK DLA WSZYSTKICH TRZECH OPCJI:
  • Tworzenie Danych Przestrzennych - Geometry
    Do tworzenia danych przestrzennych geometrycznych używamy:
    ^ STGeomFromText, ^ STPointFromText,
    ^ STLineFromText, ^ STPolyFromText,
    ^ STMPointFromText, ^ STMLineFromText,
    ^ STMPolyFromText, ^ STGeomCollFromText,
    ^ STGeomFromWKB, ^ STPointFromWKB,
    ^ STLineFromWKB, ^ STPolyFromWKB,
    ^ STMPointFromWKB, ^ STMLineFromWKB,
    ^ STMPolyFromWKB, ^ STGeomCollFromWKB
    Tylko statyczne dane!!!
  • Tworzenie Danych Przestrzennych - Geometry
    Do tworzenia danych przestrzennych geometrycznych używamy:
    ^ STArea ^ STasBinary
    ^ STAsText ^ STBuffer
    ^ STDistance ^STDimension
    ^ STDisjoint ^ STDistance
    ^ STNumPoints ^ STEndpoint
    ^STPointN ^ STEquals
    ^ STGeometryN ^ STSrid
    ^ STStartPoint ^ STUnion
    ^ STSysDifference
  • Tworzenie Danych Przestrzennych - Geography
    Do tworzenia danych przestrzennych geograficznych używamy:
    ^ STBoundary ^ STInteriorRings
    ^ STCentroid ^ STIsRing
    ^ STContains ^STIsSimple
    ^ STCrossess ^ STIsValid
    ^ STNConvexNull ^ STNumInteriorRing
    ^STEnvelope ^ STOverlaps
    ^ STExteriorRing ^ STPointnSurface
    ^ STRelate ^ STTouches
    ^ STWithin ^ STX
    ^ STY
  • Tworzenie danych przestrzennych – Import danych
    Dane przestrzenne możemy importować do bazy SQL Server z przygotowanych przez nas plików (również płaskich „txt”)
    Dane przestrzenne możemy tez importować ze źródeł internetowych:
    US CensusBureauDivision– wysokiej jakości dane, zawierające bardzo dużą ilość informacji geograficznych – (ulice, kody pocztowe, drogi itp.)
    The United NationsGeo Data Portal – globalne, narodowe, regionalne, podregionalne dane statystyczne i przestrzenne, zawierające informacje o populacji, zdrowiu, klimacie, katastrofach
    The Global AdministrativeAreasDatabase– granice krajów, stanów, prowincji, serwowane przez uniwersytet w Berkely
    The US National Geospatial-InteligenceAgency– znajdujące się poza terytorium USA miejsca, lokalizacje, urzędy
    The US Government „Geospatial Non Stop” – portal z dużą ilością linków do stron gdzie można pobrać dane o ekologii, zdrowiu, demografii, transporcie.
    Polecania przydane przy imporcie:
    OPENROWSET, BULK INSERT – import ustrukturyzowanych danych jedna metoda BULK T-SQL
    ALTER TABLE – import danych geograficznych lub geometrycznych do nowych kolumn w tabeli
    T-SQL UPDATE – używane przede wszystkim do importu kolumn z koordynatami
  • DEMO 2 – SELECT * FROM
    [eqs7day-M1]
  • Przedstawianie danych – Management Studio 1
    DEMO 3 – DECLARE@Sometning
    [H5N1 Flu & Police Radar]
  • Zagadnienia zaawansowane na następne sesje
    Spatial Data Analysys
    sprawdzanie, modyfikowanie właściwości pojedynczych obiektów
    ModyfyingSpatialObjects
    tworzenie nowych obiektów bazujących na istniejących
    TestingSpatialRelationship
    Metody relacji miedzy obiektami przestrzennymi
    SpatialIndexing
    Poprawianie wydajności, uwalnianie nieużywanych zasobów,
  • Materiały dodatkowe - linki
    BeginningSpatialwith SQL Server 2008 <apress – AlastairAitchison>
    [http://www.apress.com/book/view/1430218290]
    BeginningSpatialwith SQL Server 2008 <przykłady, kody itp..>
    [http://www.apress.com/resource/bookfile/4279]
    SQL Server 2008 Developer Training Kit
    [http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=e9c68e1b-1e0e-4299-b498-6ab3ca72a6d7]
    Prezentacje (Spatial); Dema (SQL Server 2008 All-UpSpatial Demo & SpatialTypes Demo); Hands-onLabs (UsingSpatial Data in TSQL & UsingSpatial Data inManagedCode)
    T-SQL 2008 (cz. 4) - Przestrzenne typy danych i opcja Filestream <Marcin Szeliga>
    [http://wss.pl/Articles/9643.aspx/]
    Serwer SQL 2008. Administracja i programowanie <Szeliga, Widera, Mendrala, Potasiński>
    [http://helion.pl/ksiazki/ssql28.htm]
    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
  • Materiały dodatkowe - linki
    Microsoft Spatial Data Portal (j. pol.)
    [http://www.microsoft.com/poland/sql/wp-sql-2008-spatial-data.aspx]
    Saving Virtual Earth Polygons to SQL Server 2008 (j. ang.)
    [http://channel9.msdn.com/posts/keydet/Saving-Virtual-Earth-Polygons-to-SQL-Server-2008/]
    Rendering Polygons from SQL Server 2008 on Virtual Earth (j. ang.)
    [http://channel9.msdn.com/posts/keydet/Rendering-Polygons-from-SQL-Server-2008-on-Virtual-Earth/]
    Spatial Data to Help Car Radios Track the Big Game (j. ang.)
    [http://www.eweek.com/article2/0,1759,2246219,00.asp]
    Microsoft Readies SQL Server CTP-5 with Spatial Datatype Support (j. ang.)
    [http://www.directionsmag.com/article.php?article_id=2614&trv=1]
    SQL Server 2008 spatial data brings locations into view (j. ang.)
    [http://www.networkworld.com/community/node/21879]
    Microsoft Joins OGC (Oct. 23, 2007) (j. ang.)
    [http://home.businesswire.com/portal/site/home/index.jsp?epi-content=NEWS_VIEW_POPUP_TYPE&newsId=20071023006103&ndmHsc=v2*A1193137200000*B1193175376000*DgroupByDate*J1*N1000837&newsLang=en&beanID=202776713&viewID=news_view_popup]
    Microsoft Shares Details on SQL Server 2008 Spatial Support (j. ang.)
    [http://www.directionsmag.com/editorials.php?article_id=2477&trv=1]
  • Questions? Answer! Answer? Questions!
    DZIĘKUJĘ ZA UWAGĘ
    PROSZĘ O OCENĘ MOJEJ SESJI
  • Kontakt:
    {MAILTO}: KoprowskiT(at)windowslive(dot)com
    {BLOG}: http://itblogs.pl/blogs/notbeautifulanymore/default.aspx
    • Przydatne linki:
    • Portal WSS http://www.wss.pl
    • Portal PLSSUG http://www.ms-groups.pl/plssug
  • © 2008 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.