Download presentation
Presentation is loading. Please wait.
Published byCharlotte Gallagher Modified over 7 years ago
1
Spatial Data and Windows Azure SQL Database
Windows Azure SQL Database and Geospatial support Mihail Mateev Senior Technical Evangelist, Infragistics
2
Добро Пожаловать!
3
About me Mihail Mateev is a Senior Technical Evangelist, Team Lead at Infragistics Inc., Community Lead for Europe Mihail works in various areas related to Microsoft technologies : Silverlight, WPF, WP, LightSwitch, WCF, ASP.Net MVC,, MS SQL Server and Windows Azure
4
Agenda What is Spatial Data Spatial Reference System
Geospatial Features Spatial Data Types Creating Spatial Data Import Spatial Data Windows Azure SQL Database Architecture Migrating Spatial Data to SQL Azure Using Spatial Data in Windows Azure SQL Database
5
What is Spatial Data Spatial data describes the position, shape and orientation of objects in space
6
What is Spatial Data Analyzing sales trends
Analyzing the best placement depending of different criteria Navigating to s destination using a GPS device Allowing customers to track the deliveries Finding the optimum route for transportation tasks Reporting geospatial information on the map rather than in a tabular or chart format
7
Spatial Reference Systems
Define positions on a three-dimensional, round model of the earth
8
Spatial Reference Systems
Describe the position of points on the earth surface as the lie on a flat, two-dimensional plane. - X + Y - X - Y + X - Y X Data usually here Y
9
Spatial Reference Systems
Datum is a set of reference points on the Earth's surface against which position measurements are made Local datum NAD27 Ellipsoid CLARKE 1866 Earth-centered datum NAD83 Ellipsoid GRS80 + * * Earth surface Center of the Earth's mass
10
Spatial Reference Systems
Reference ellipsoid An approximation of the surface shape of the earth (or rather, the geoid) spheroid used for the needs of geodesy at some of the earth's surface
11
Geospatial Features Points Polylines Polygons Points Polylines
12
Geospatial Features Vector Data:
describes discrete spatial objects by defining the coordinates of geometries that approximate the shape of those features X,Y X,Y X,Y X,Y
13
Geospatial Features Raster Data:
represents spatial information using a matrix of cells. These cells are arranged into a grid that is overlaid onto the surface of the earth. Rows X,Y Columns
14
SQL Server Spatial Data Types
SQL Server supports two different spatial data types GEOMETRY and GEOGRAPHY
15
Shapefile format Donut shapefile Donut.dbf table
Shape field accesses separate coordinate files
16
Spatial Data Types Spatial data and SQL Server Point MultiPoint
LineString MultiLineString Polygon MultiPolygon GeometryCollection
17
Creating Spatial Data Creation of spatial objects
18
Creating Spatial Data Creation of spatial objects
Creating instances of UDT (User Defined Types) Geometry and Geography data types are implemented as user-defined types (User Defined Types, UDT), written on. NET. They are automatically installed with the server and are available for use in any database, SQL Server. Any variable, parameter, or column of a table can be declared as the type of Geometry. Note that the type name is not case sensitive. Geometry
19
Creating Spatial Data The use of spatial data
Use STGeomFromText () to create a LineString Geometry = Geometry::STGeomFromText('LINESTRING(0 0, 10 10, 21 2)', 0)
20
Creating Spatial Data The use of spatial data
Use STGeomFromText () and STPointFromtext () as geometry = geometry::STPointFromText('POINT( )', 27700) as geometry = geometry::STGeomFromText('POINT( )', 27700)
21
Creating Spatial Data The use of spatial data Z and M coordinates
Z coordinate represents the height or the height of a point. M coordinates are stored "measure" value of point. These coordinates can be used to provide additional details of a point, which can be expressed as a double-precision Imagine WKT from the Z and M coordinates: POINT (x y z m) or PONT (longitude latitude z m)
22
Creating Spatial Data The use of spatial data
Management of spatial data CREATE TABLE SpatialTable (Id int IDENTITY (1,1), GeomCol1 geometry, GeomCol2 AS GeomCol1.STAsText ()); GO INSERT INTO SpatialTable (GeomCol1) VALUES (geometry :: STGeomFromText ('LINESTRING ( , , ), 0));
23
Creating Spatial Data The use of spatial data
Management of spatial data STBuffer @g.STBuffer(8).ToString() STExteriorRing @g.STBuffer(8).STExteriorRing().ToString()
24
Creating Spatial Data The use of spatial data
Management of spatial data STArea, STLength GEOMETRY = 'POLYGON((10 10, 10 40, 40 40, 10 10))' as as Length
25
Creating Spatial Data Using Stored Procedures
CREATE PROCEDURE [dbo].[get_SelectedData] @pCntrNameValue nvarchar(255) BEGIN SET NOCOUNT ON; SELECT geom.STBuffer(2) as geom, CNTRY_NAME, POP_CNTRY FROM world WHERE CNTRY_NAME END
26
Indexing The Need for a Spatial Index How Does a Spatial Index Work?
The Primary and Secondary Filter Primary filter: Secondary filter:
27
Indexing The Grid Structure of a Spatial Index
28
Indexing The Grid Structure of a Spatial Index
29
Indexing Optimization Rules a Multilevel Grid Index Covering Rule
30
Indexing Using Spatial Indexes: USING GEOMETRY_GRID WITH (
BOUNDING_BOX = (0, 0, 4096, 4096), GRIDS = ( LEVEL_1 = MEDIUM, LEVEL_2 = MEDIUM, LEVEL_3 = MEDIUM, LEVEL_4 = MEDIUM), CELLS_PER_OBJECT = 16);
31
Indexing Using Spatial Indexes: SELECT id
FROM Points WITH(INDEX(sidxPoints)) WHERE = 1;
32
Creating Spatial Data Using Stored Procedures
33
Import Spatial Data SQL Server import and export spatial data formats
Well Known Text, Well Known Binary Geographic Markup Language (GML) Shapefile
34
Import Spatial Data Import spatial data in SQL Server
Conversion Utilities: ShapeToSQL: Shp2text: FME : Manifold:
35
Windows Azure SQL Database Architecture
There are four different levels of abstraction, which work together to provide a relational database for your application: Client layer Services layer Platform layer Infrastructure layer SQL Azure offers only DTS endpoint For each Windows Azure SQL database instance there was created 3 copies of SQL
36
Windows Azure SQL Database Architecture
Azure SQL Database Disadvantages Azure SQL Database does not support the following functions of the database Service Broker HTTP access CLR stored procedures
37
Windows Azure SQL Database Architecture
Azure SQL Database Disadvantages Azure SQL Database support spatial data types, but developers need to deploy libraries with spatial CLR types with their applications. Windows Azure has no installed predefined SQL spatial data types Azure SQL Database does not support the following functional features Distributes query Distributed transactions Any SQL query and views that change or get physical information resources
38
Migrating Spatial Data to SQL Azure
SQL Server 2008/2008 R2 Microsoft SQL Management Studio for SQL Server 2008/2008 R2 does not support the transfer of spatial data in Azure SQL Database SQL Azure Migration Wizard:
39
Migrating Spatial Data to SQL Azure
SQL Server 2012 Microsoft SQL Management Studio for SQL Server 2012 does supports the transfer of spatial data in Azure SQL Database
40
Migration of systems with spatial data in Windows Azure SQL Database
Create a new Azure SQL database Database migration – migrate your databse from the local SQL Server to SQL Azure Add a new Windows Azure Storage Account and Web services Add web project role in the decision Change settings in the Web.config and ServiceReferences.ClientConfig Publish Windows Azure Cloud Service
41
Using Spatial Data in Windows Azure SQL Database
Processing of spatial data using .NET in Windows Azure SqlCommand sqlCommand = new SqlCommand(); sqlCommand.Connection = sqlConnection; sqlCommand.CommandType = System.Data.CommandType.StoredProcedure; sqlCommand.CommandText = "get_WorldData"; sqlConnection.Open(); SqlDataReader reader = sqlCommand.ExecuteReader(); if (reader != null) while (reader.Read()) { Dictionary<string, string> valueDictionary = new Dictionary<string, string>(); for (int i = 0; i < reader.FieldCount; i++) valueDictionary.Add(reader.GetName(i), reader.GetValue(i).ToString()); } list.Add(valueDictionary); ....
42
Using Spatial Data in Windows Azure SQL Database
Using Entity Framework 5 List<SpatialPoint> multiPoints = new List<SpatialPoint>(); var numPoints = country.geom.Envelope.ElementAt(1).PointCount; for (int i = 1; i <= numPoints; i++) { SpatialPoint pnt = new SpatialPoint((double)(country.geom.Envelope.ElementAt(1). PointAt(i).XCoordinate), (double)(country.geom.Envelope.ElementAt(1).PointAt(i). YCoordinate)); multiPoints.Add(pnt); } SpatialRect rect = multiPoints.GetBounds();
43
Using Spatial Data in Windows Azure SQL Database
Windows Azure Web Site and spatial data Creating a Windows Azure Web Site
44
Using Spatial Data in Windows Azure SQL Database
What libraries to use? Microsoft.SqlServer.Types.dll (managed) .NET library \Program Files(x86)\Microsoft SQL Server\110\SDK\Assemblies SQLServerSpatial.dll / SQLServerSpatial110.dll (unmanaged) C++ library \Windows\System32
45
Using Spatial Data in Windows Azure SQL Database
Getting libraries Project –> Add Existing Item \Windows\SysWOW64 -> msvcp110.dll and msvcr110.dll files (Visual Studio 2012) or msvcp100.dll и msvcr100.dll (Visual Studio 2010) .
46
Using Spatial Data in Windows Azure SQL Database
Getting libraries Set the properties of msvcp110.dll, msvcr110.dll and SqlServerSpatial110.dll to “Copy to Output directory = Copy always”
47
Demo
48
Spatial Data and Windows Azure Storage
Using spatial data in the Windows Azure Blob Storage Accessing the Windows Azure Storage is done via a storage account. A storage account can have many blob containers. A container is a user-defined set of blobs that has only properties, which include a list of the blobs it contains. Containers don’t store data directly.
49
Spatial Data and Windows Azure Storage
Windows Azure Blob Storage Windows Azure Blob Storage Concepts
50
Spatial Data and Windows Azure Storage
Windows Azure Blob Storage Blob URL URL: Types of Blobs Block Blob Page Blob
51
Spatial Data and Windows Azure Storage
Steps to Implement Azure Application Reading Shapefiles from Blob Storage Implement a WCF to upload and download files, using Windows Azure Blob Storage. Add in the client application (ASP.Net / Silverlight ) XamMap component. Implement shapefile loading from Isolated Storage to XamMap. Create a new Windows Azure Storage Account and a Hosted Service (if you are using a Windows Azure Account). Add a Web Role project in Solution Edit settings in ServiceReferences.ClientConfig . Publish the Windows Azure Cloud Service
52
Useful links Shape To SQL Tools SAFE Software Infragistics Blogs
SAFE Software Infragistics Blogs
53
Спасибо за внимание!
54
Вопросы и ответы
55
Спонсоры
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.