SQL Server supports spatial extensions to enable the generation, storage, and analysis of geographic features.
AspMap supports the Geometry and Geography data type. The SqlServerLayer class can be used to access and edit such spatial data. A sample table in a SQL Server database may look as the following:
NAME TYPE -------------------------------------- ID int IDENTITY(1,1) CITY_NAME nvarchar(255) STATE_NAME nvarchar(255) POPULATION bigint GEOM geometry CREATE SPATIAL INDEX cities_geom ON cities (GEOM) USING GEOMETRY_GRID
The GEOM field stores shapes in the Geometry data format. The GEOM field has a spatial index (SPATIAL INDEX cities_geom) which is required to speed up spatial queries (for fast map rendering).
Please note that the Geography data type of SQL Server 2008 does not support filter shapes/extents that span more than half of the Earth's surface (for example, a map of the entire world cannot be rendered). It is recommended to use the Geometry data type instead. SQL Server 2012 is free from this limitation.
Create a SqlServerLayer object and pass the connection string, table name and GEOM field to its constructor. It is also necessary to specify the FieldList property if you need attribute data for labeling or editing. Depending on the spatial data type, the DataType property should be specified.
Add the SqlServerLayer to the Map control using the AddLayer method:
Imports AspMap Imports AspMap.Data
Dim connectionString As String = "Data Source=SERVER\\SQLEXPRESS;Initial Catalog=DB;Integrated Security=SSPI;"Dim tableName As String = "cities" Dim sqlLayer As SqlServerLayer sqlLayer = New SqlServerLayer(connectionString, tableName, "GEOM") sqlLayer.FieldList = "ID, CITY_NAME, POPULATION" sqlLayer.DataType = SqlServerDataType.Geometry Dim layer As Layer = map.AddLayer(sqlLayer)
The SqlServerLayer class supports editing of data as described in the Editing Spatial and Attribute Data topic.
© 2018 VDS Technologies
|Converted from CHM to HTML with chm2web Standard 2.85 (unicode)|