加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

ms sqlserver 2008 空间查询操作

发布时间:2020-12-12 14:51:11 所属栏目:MsSql教程 来源:网络整理
导读:?geometry字段的数据是平面坐标,不用投影 ?geography是经纬度,需要投影? 1. 首先下载一个导入shp的工具,绿色版的。 http://www.sharpgis.net/page/SQL-Server-2008-Spatial-Tools.aspx 2. 导入已有的shp文件到数据库 3. 可以用sql management studio tool

?geometry字段的数据是平面坐标,不用投影

?geography是经纬度,需要投影?

1. 首先下载一个导入shp的工具,绿色版的。

http://www.sharpgis.net/page/SQL-Server-2008-Spatial-Tools.aspx

2. 导入已有的shp文件到数据库

3. 可以用sql management studio tools查询,并且显示地图,用下载的那个工具包里面的查询工具,也可以查询地图。

4. ms sqlserver 空间查询

sql语句如下:

? select SUM(geom.STArea()) from [GeoDBForFieldInspector].[dbo].[bou2_4p] where [ID]=1 or [ID]=2;
? select geom.STArea() from [GeoDBForFieldInspector].[dbo].[bou2_4p] where [ID]=1 or [ID]=2;
select geom.STAsText() from [GeoDBForFieldInspector].[dbo].[bou2_4p] where [ID]=1;

点执行不要点调试

5. 资料链接

空间信息基础?http://zhiwenweb.cn/jszx/sjkjs/mssql/201110/29036.html

SQL?Server?2008空间数据类型?http://zhiwenweb.cn/jszx/sjkjs/mssql/201110/29034.html

SQL?Servr?2008空间数据应用系列四:基础空间对象与函数应用?http://zhiwenweb.cn/jszx/sjkjs/mssql/201110/29033.html

空间索引(Spatial?Index)基础?http://zhiwenweb.cn/jszx/sjkjs/mssql/201110/29035.html

基于Bing?Maps(Silverlight)?的空间数据展现?http://zhiwenweb.cn/jszx/sjkjs/mssql/201110/29030.html

基于SQLCRL的空间数据可编程性?http://zhiwenweb.cn/jszx/sjkjs/mssql/201110/29029.html

基于Bing?Maps(Silverlight)的空间数据存储?http://zhiwenweb.cn/jszx/sjkjs/mssql/201110/29026.html

使用存储过程生成GeoRSS聚合空间信息?http://zhiwenweb.cn/jszx/sjkjs/mssql/201110/29021.html


6.在程序中使用,包括使用所有SQLCLR编程中所提供的编程接口,意思是通过引用

C:Program?FilesMicrosoft?SQL?Server100SDKAssembliesMicrosoft.SqlServer.Types.dll

可以实现计算距离等功能,不止是调用数据库。

比如

var?pointStart?=?SqlGeometry.Point(107.04352,?28.8705544326);
var?pointEnd?
103.8404129.170240);
var?result?
?pointStart.STDistance(pointEnd);

//

??//定义一个多边形
????var?polygon??SqlGeography.STGeomFromText(
????????
new?SqlChars(
????????
?SqlString("POLYGON?((-114.01611328125?42.0003251483162,?-114.0380859375?42.0003251483162,
????????????
+?-113.994140625?37.0200982013681,?-109.05029296875?37.0200982013681,?-109.09423828125?41.0130657870063,0)">-111.07177734375?41.0462168145206,?-111.07177734375?42.0003251483162,?-114.01611328125?42.0003251483162))111)),245)">);
????var?sql?
insert?Cities?(CityName,CityLocation)?values?('test','?polygon.ToString()?');
????InsertToDB(sql);

privatestaticvoid?InsertToDB(string?sql)
{
????
using?(var?conn??SqlConnection(ConfigurationManager.AppSettings[SQL2008]))
????{
????????
if?(conn.State?==?ConnectionState.Closed)?conn.Open();
????????
?(var?cmd??SqlCommand(sql,?conn))
????????{
????????????
int?row??cmd.ExecuteNonQuery();
????????}
????}
}

//

?var?sql?select?CityLocation?from?Cities?where?ID?=?5;
????var?result?
?QueryDB(sql);

????var?polygon?
?SqlString(result)),245)">);

????Console.WriteLine(polygon.ToString());?

?QueryDB(return?cmd.ExecuteScalar().ToString();
????????}
????}
}

具体可参考:

http://www.cnblogs.com/beniao/archive/2011/02/24/1961729.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读