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

使用SQL2008中的空间数据类型

 2010-07-16 15:44:20 来源:WEB开发网   
核心提示:注意: STIntersects 方法用来决定geography 实例是否与另一个geography 实例进行交叉,在这个实例中,使用SQL2008中的空间数据类型(6),该方法用来查找与销售区域有交叉的存储数据,选择您在上个步骤上输入的SELECT 语句,并将按距离升序显示,将查询脚本保存为C:SQLHOLsSpat

注意: 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 打开以备后面的练习使用。

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

Tags:使用 SQL 空间

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