Upcoming SlideShare
×

# Beginning to Spatial Data in SQL Server 2008

1,452
-1

Published on

Beginning to Spatial Data in SQL Server 2008

Published in: Technology
0 Likes
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

• Be the first to like this

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

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.
• Contactinformation
• TheEnd
• ### Beginning to Spatial Data in SQL Server 2008

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