WEB开发网
开发学院数据库MSSQL Server 使用SQL2008中的空间数据类型 阅读

使用SQL2008中的空间数据类型

 2010-07-16 15:44:20 来源:WEB开发网   
核心提示:注意: 这段代码使用geography 数据类型的GeoFromGml 方法,从GML 描述中创建了一个多边形的实例,使用SQL2008中的空间数据类型(5),选中刚刚添加的INSERT语句,然后点击Execute 运行选中的代码,然后查看结果,它将会按照平方公里显示每个销售区域,在现有的代码下方,添加下面的代码以查看

注意: 这段代码使用geography 数据类型的GeoFromGml 方法,从GML 描述中创建了一个多边形的实例。

选中刚刚添加的INSERT语句,然后点击Execute 运行选中的代码。

在现有的代码下方,添加下面的代码以查看销售区域数据。

SELECT SalesRegionName, SalesRegion.ToString()

FROM SalesPerson

选中刚刚添加的SELECT语句,然后点击Execute 运行选中的代码。下面的结果显示了定义每个销售区域所需的点。两个销售区域都显示在下面的地图当中。

保存查询脚本文件为C:SQLHOLsSpatial DataStarterSalesData.sql。

不要关闭SQL Server Management Studio ,在下个实验中还要继续使用。

练习 2:查询空间数据类型的实例

在本练习中,您将使用geography 数据类型的方法和属性,来执行空间查询和操作。在geography实例上执行空间操作,使得您可以创建丰富的空间应用程序,其中用户可以查找和处理基于位置的信息。

查找一个geography实例的区域

在SQL Server Management Studio中,点击New Query 来创建一个新的查询。如果出现提示对话框,则使用Windows Authentication连接到(local)数据库引擎实例。

在查询编辑器中,输入下面的Transact-SQL 代码:

USE AWSales
GO
-- Find the area of the sales regions
SELECT SalesRegionName, SalesRegion.STArea()/1000000 AreaInSqKm
FROM SalesPerson

注意: geography 数据类型的STArea 方法可以返回指定geography 实例的区域。根据geography 实例的SRID 决定所使用的测量单元。这个数据库的销售区域使用SRID 4326,这意味着将采用正方形来测量区域。

点击Execute 来运行脚本,然后查看结果,它将会按照平方公里显示每个销售区域。

查找与一个geography 实例相交的geography 实例

在查询编辑器中,在原有代码的下方输入下面的Transact-SQL 代码:

-- Find which stores are in which sales region
SELECT s.StoreName,
s.StoreAddress,
sp.SalesRegionName,
sp.FirstName + ' ' + sp.LastName Salesperson
FROM Store s, SalesPerson sp
WHERE sp.SalesRegion.STIntersects(s.StoreLocation) = 1
-- Create the union of the sales regions
DECLARE @westUS geography
DECLARE @eastUS geography
DECLARE @totalUS geography
SELECT @westUS = SalesRegion FROM SalesPerson WHERE SalesRegionName = 'Western US'
SELECT @eastUS = SalesRegion FROM SalesPerson WHERE SalesRegionName = 'Eastern US'
SET @totalUS = @westUS.STUnion(@eastUS)
SELECT @totalUS.ToString()

上一页  1 2 3 4 5 6 7  下一页

Tags:使用 SQL 空间

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接