Your SlideShare is downloading. ×
Beginning to Spatial Data in SQL Server 2008
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Beginning to Spatial Data in SQL Server 2008

1,371
views

Published on

Beginning to Spatial Data in SQL Server 2008

Beginning to Spatial Data in SQL Server 2008

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,371
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • 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
  • Transcript

    • 1. Wprowadzenie do Spatial Data w SQL Server 2008
      {GET DATE – 31/05/2009}
      {WHERE – CodeCamp 2009 Kraków}
      {AUDIENCE TYPE – już trochę wymęczeni…}
    • 2. Tobiasz Janusz Koprowski
      Data Center OperationSpecialistat
      Asseco Business Solutions SA
    • 3. {get BIO}
      • związany z informatyką od połowy lat dziewięćdziesiątych
      • 4. kilkuletnie doświadczenie w informatyce bankowej [Zorba, AS/400, ICBS, BTeller]
      • 5. kilkuletnie doświadczenie w Centrum Przetwarzania Danych
      • 6. na co dzień zajmujący się MOSS, DisasterRecovery, High Availibility, wirtualizacją, bezpieczeństwem fizycznym, tworzeniem procedur bezpieczeństwa
      • 7. konsultant i wdrożeniowiec przy projektach audytów licencyjnych, systemów bezpieczeństwa, tworzenia ośrodków przetwarzania danych
      • 8. Microsoft Gold Partner Program Administrator
      • 9. uczestnik kilku programów Microsoft: Connect, Community LeadershipProgramm,
      ITProMomentum, VS2010 Terminology Community, Windows 7 Beta 2 PL
      • lider wrocławskiej grupy PLSSUG
      • 10. prelegent na spotkaniach społeczności
      • 11. 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
    • 12. 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.
    • 13. 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ę.
    • 14. 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.
    • 15. 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}
    • 16. 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))
    • 17. Praca z danymi przestrzennymi - Definiowanie informacji
      Common SQL 2008 Datatypes:
      • char | dateline | float | int | money | nvarchar
      SpatialDatatypesIntroduced SQL 2008:
      • geography / geodeticvectorspatial data
      • 18. geometry / planarvectorspatial data
      Geography and Geometry Datatypes – comparison:
    • 19. DEMO 1 – SELECT * FROMsys.spatial_reference_systems
    • 20. 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:
    • 21. 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!!!
    • 22. 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
    • 23. 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
    • 24. 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
    • 25. DEMO 2 – SELECT * FROM
      [eqs7day-M1]
    • 26. Przedstawianie danych – Management Studio 1
      DEMO 3 – DECLARE@Sometning
      [H5N1 Flu & Police Radar]
    • 27. 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,
    • 28. 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
    • 29. 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]
    • 30. Questions? Answer! Answer? Questions!
      DZIĘKUJĘ ZA UWAGĘ
      PROSZĘ O OCENĘ MOJEJ SESJI
    • 31. Kontakt:
      {MAILTO}: KoprowskiT(at)windowslive(dot)com
      {BLOG}: http://itblogs.pl/blogs/notbeautifulanymore/default.aspx
      • Przydatne linki:
      • 32. Portal WSS http://www.wss.pl
      • 33. 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.