使用SQL2008中的空间数据类型
2010-07-16 15:44:20 来源:WEB开发网注意: STIntersects 方法用来决定geography 实例是否与另一个geography 实例进行交叉。在这个实例中,该方法用来查找与销售区域有交叉的存储数据。
选择您在上个步骤上输入的SELECT 语句,然后点击Execute 运行选中的脚本。其结果应当会显示出,那些销售区域内的商店及其销售代表的名字。
查找两个geography 实例的并集
在查询编辑器中,在原有代码的下方输入下面的Transact-SQL 代码:
注意: STUnion 方法创建了一个新的geography 实例,用来展现两个现有geography 实例的合并。在此示例中,新的geography 实例通过合并东西部的销售区域,从而展现了整个美国的完整销售区域。
选中上个步骤中刚刚输入的代码,然后点击Execute 运行选中的代码。结果应当显示出销售区域合并的多边形的一个文字描述。
查找某种地理区域附近的geography 实例
使用一个XML编辑器,例如Visual Studio 2008查看C:SQLHOLsSpatial DataStarterI5.xml文件的内容。这个文件中包含了下面图形中所示的Interstate 5 highway 的GML 定义。
关闭XML文件,然后在SQL Server Management Studio的查询编辑器中,输入下面的Transact-SQL 代码。
-- Load Interstate 5 GML from XML file
DECLARE @i5Gml xml
SET @i5Gml =(
SELECT * FROM OPENROWSET(
BULK 'C:SQLHOLsSpatial DataStarterI5.xml',
SINGLE_BLOB
) AS i5GML)
-- Find stores within 100 km of Interstate 5
DECLARE @i5 geography;
SET @i5 = geography::GeomFromGml(@i5Gml, 4326)
SELECT StoreName,
StoreAddress,
StoreLocation.STDistance(@i5)/1000 DistanceFromI5inKM
FROM Store
WHERE StoreLocation.STDistance(@i5) < 100000
ORDER BY DistanceFromI5inKM
注意:本段代码将使用OPENROWSET函数从XML文件当中,将I5的GML表示形式加载出来。然后,它使用geography数据类型的STDistance方法来找到I5的100公里附近的所有商店。
选中在上个步骤中输入的Transact-SQL 语句,然后点击Execute 运行选中的代码。结果将会显示出所有I5附近100公里以内的商店,并将按距离升序显示。
将查询脚本保存为C:SQLHOLsSpatial DataStarterQuerySpatial.sql文件。
保持SQL Server Management Studio 打开以备后面的练习使用。
- ››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数据库插入和读取图片数据
更多精彩
赞助商链接