SQL Server 2008空间数据应用系列九:使用空间工具(Spatial Tools)导入ESRI格式地图数据

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
简介:

 geography 和geometry数据类型包括以用于在OGC中所定义的地理数据的已知文本(Well Known Text,WKT)和已知二进制(Well Known Binary,WKB)格式导入和导出数据的方法,还包括普遍使用的地理标示语言(Geographic Markup Language,GML)格式,这使得很容易从支持这些格式的数据源导入地理数据。地理数据很容易从一些政府和商业数据源获得,并且可以相对容易地从许多现有的GIS应用程序和GPS系统中导出。Microsoft保持与一些第三方GIS供应商和地理数据解决方案供应商的紧密关系,这帮助确保SQL server 2008和广泛的行业标准工具间的强大兼容能力,以用于导入、导出和操纵空间数据。

 

  通常我们开发一个GIS应用,基于GIS做数据分布呈现、统计汇总、搜索等等的功能,几乎都离不开地图数据的支持,一方面是作为地图呈现需要,其次是为了方便做空间分析等诸多功能。而对于空间数据的需求,通常不需要自己去建立空间数据,市面上有许多非常成熟的地图数据可以直接被采购使用,并以此为基础直接建立基于地图空间数据的GIS应用。另外网上也提供了比较多的空间数据免费下载资源,可以轻松的获取到空间数据。本篇将使用SQL空间工具(SqlSpatialTools) 介绍ESRI地图空间数据(shpfile)导入到SQL Server 2008的实现。

 

一、SQL空间数据导入工具(Shape2SQL)

  SharpGIS发布了一个专门用来导入ESRI地图空间数据(shpfile)的工具,可以非常简单的实现将shpfile的地图数据文件中的空间数据导入到SQL Server 2008中,可以通过如下地址下载该工具。

  SQL空间工具下载地址:http://www.sharpgis.net/page/SQL-Server-2008-Spatial-Tools.aspx

        

 

  该工具的运行环境需要微软.NET Framewrok 3.5和Microsoft SQL Server System CLR Types。使用该工具通过简单的可视化界面即可连接上SQL Server 2008的数据库服务器,目前该工具仅仅只支持几种常用的主流空间类型数据,包括:Point 、MultiPoint、(Multi)Polygon 和 (Multi)LineStrings 。详细可访问:http://www.sharpgis.net/page/Shape2SQL.aspx

 

二、SQL空间数据查询工具(SqlSpatial-Query-Tool)

   SQL Server 2008空间数据查询工具可以直接连接到SQL Server 2008数据库服务器,实现空间数据的查询,可视化界面呈现。详细可访问:http://www.sharpgis.net/page/SqlSpatial-Query-Tool.aspx

        

  

 

三、导入Shpfile地图空间数据

   如本文篇前的截图,使用SQL空间导入工具实现将ESRI的shpfile地图空间数据导入SQL Server 2008其实非常简单,在导入的时候注意表名和SRID就可以了,其他的可以不用管。如下图演示了将重庆市的大区边界地图数据导入到SQL Server 2008中。

        

 

四、查询空间数据

  实现可以查询可以在SQL Server Management Studio中执行对表(CQ_Region)的的全表查询,于空间结果选项中可以看到如下图所示的空间呈现效果。  

        

  另外还可以使用空间查询工具实现SQL Server 2008中的空间数据查询,Spatial Query Tools查询出的空间输入结果如下所示。

        

 

五、空间计算支持

   数据库里面有了空间数据,就可以给予数据展开空间计算、统计、分析等给力的功能实现,与GIS客户端结合来完成各种简单、负责的空间计算、分析。如下SQL演示了计算上面导入的重庆大界区的地图的地理面积计算。

select  geom.STArea()  from  CQ_Region  WHERE  ID = 1 ;
select  geom.STArea()  from  CQ_Region  WHERE  ID = 2
select  geom.STArea()  from  CQ_Region  WHERE  ID = 3 ;
select  geom.STArea()  from  CQ_Region  WHERE  ID = 4 ;
select   SUM (geom.STArea())  from  CQ_Region;

 






本文转自 beniao 51CTO博客,原文链接:http://blog.51cto.com/beniao/524620,如需转载请自行联系原作者

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
13天前
|
SQL 数据库
如何应用SQL约束条件?
【10月更文挑战第28天】如何应用SQL约束条件?
30 11
|
12天前
|
SQL 存储 缓存
SQL Server 数据太多如何优化
11种优化方案供你参考,优化 SQL Server 数据库性能得从多个方面着手,包括硬件配置、数据库结构、查询优化、索引管理、分区分表、并行处理等。通过合理的索引、查询优化、数据分区等技术,可以在数据量增大时保持较好的性能。同时,定期进行数据库维护和清理,保证数据库高效运行。
|
1月前
|
SQL Oracle 关系型数据库
SQL语言的主要标准及其应用技巧
SQL(Structured Query Language)是数据库领域的标准语言,广泛应用于各种数据库管理系统(DBMS)中,如MySQL、Oracle、SQL Server等
|
6天前
|
SQL 监控 安全
员工上网行为监控软件:SQL 在数据查询监控中的应用解析
在数字化办公环境中,员工上网行为监控软件对企业网络安全和管理至关重要。通过 SQL 查询和分析数据库中的数据,企业可以精准了解员工的上网行为,包括基础查询、复杂条件查询、数据统计与分析等,从而提高网络管理和安全防护的效率。
16 0
|
27天前
|
SQL 移动开发 Oracle
SQL语句实现查询连续六天数据的方法与技巧
在数据库查询中,有时需要筛选出符合特定时间连续性条件的数据记录
|
1月前
|
SQL 数据库 索引
内连接(INNER JOIN)在SQL中的简单应用与技巧
在SQL查询中,内连接(INNER JOIN)是一种基本且常用的连接类型,用于从两个或多个表中检索匹配的记录
|
2月前
|
SQL 数据库
数据库数据恢复—SQL Server数据库报错“错误823”的数据恢复案例
SQL Server附加数据库出现错误823,附加数据库失败。数据库没有备份,无法通过备份恢复数据库。 SQL Server数据库出现823错误的可能原因有:数据库物理页面损坏、数据库物理页面校验值损坏导致无法识别该页面、断电或者文件系统问题导致页面丢失。
101 12
数据库数据恢复—SQL Server数据库报错“错误823”的数据恢复案例
|
4天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第8天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统准备、配置安装源、安装 SQL Server 软件包、运行安装程序、初始化数据库以及配置远程连接。通过这些步骤,您可以顺利地在 CentOS 系统上部署和使用 SQL Server 2019。
|
5天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第7天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统要求检查与准备、配置安装源、安装 SQL Server 2019、配置 SQL Server 以及数据库初始化(可选)。通过这些步骤,你可以成功安装并初步配置 SQL Server 2019,进行简单的数据库操作。
|
19天前
|
存储 数据挖掘 数据库
数据库数据恢复—SQLserver数据库ndf文件大小变为0KB的数据恢复案例
一个运行在存储上的SQLServer数据库,有1000多个文件,大小几十TB。数据库每10天生成一个NDF文件,每个NDF几百GB大小。数据库包含两个LDF文件。 存储损坏,数据库不可用。管理员试图恢复数据库,发现有数个ndf文件大小变为0KB。 虽然NDF文件大小变为0KB,但是NDF文件在磁盘上还可能存在。可以尝试通过扫描&拼接数据库碎片来恢复NDF文件,然后修复数据库。