使用SQL2008中的空间数据类型
2010-07-16 15:44:20 来源:WEB开发网注意: 这段代码使用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()
- ››sql server自动生成批量执行SQL脚本的批处理
- ››使用linux中的quota教程
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››使用jxl生成带动态折线图的excel
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
更多精彩
赞助商链接