sql server 空间数据(geometry类型)创建、查询、空间分析和计算
1、SQL语言实现空间对象的创建、插入、删除、查询。
1.1直接创建空间对象
查找SQLServer的帮助文档,查找到不需要建立表也能直接创建空间对象,运用DECLARE和SET STGeomFromText()的方法声明空间对象,并赋值,代码如下。
执行创建空间对象的代码,可以看到表结果和空间结果如下图所示。
1.2创建存储空间对象的表结构以存储空间对象。
创建空间对象的表,运用geometry的数据类型的代码如下。
执行创建表的代码后,可以看到创建空间对象的存储表的字段如下图所示。
1.3空间对象得插入。
运用insert values()结构和空间对象的STGeomFromText()方法创建点,线,面的代码如下所示。
插入五条数据后,可以看到表中新增了五条空间对象的记录。直接显示为他们的空间对象文本形式和转为文本的形式。
1.4空间对象的查询。
1.4.1 查找表中的满足Where条件的对象
书写SQL的查询语句,同时显示为十六进制形式和open gis的WKT文本形式的代码如下。
执行后的表结果和空间结果如下图所示,可以看到一条折线段和一个面状几何形状。
1.4.2查询表中与id为2的面相交的空间对象
查询与面相交需要用到空间函数Crosses,其查询的SQLServer代码如下。
可以看到查出的与面相交的空间对象为如图所示的折线段。
1.4.3查询获取面对象和线对象相交部分的空间对象
声名空间对象的变量,并把表中已有的空间数据赋值给空间数据变量,然后调用STIntersection()的空间方法代码如下。
执行代码后,可以看到如下图所示的空间结果和表结果,和上次查相交的对象相比较,这次查询的与两个对象相交的部分,由两个顶点的坐标表示。
1.4.4查空间对象的并集
声名并赋值两个空间对象,然后运用Union空间方法直接查询出并集的代码如下。
执行代码后,可以看到空间对象执行后查询到的并集对象的表结果和空间结果如下。
1.5空间对象的删除。
运用关系型数据库的删除语句,删除表中的行,即可以删除空间对象,代码如下。
删除后可以看到原来的空间数据表少了一行,即为删除了第五行空间数据。
2利用扩展的geometry方法实现简单的空间计算、空间分析。
2.1空间计算
2.1.1计算长度
运用Length()的空间方法计算空间对象的长度,其代码如下。
计算空间对象的长度结果如下所示。
2.1.2计算面积
运用area()空间方法计算空间对象的面积,其代码如下图所示。
计算表中空间对象的面积的表结果如下。
2.2缓冲区分析
声名并赋值一个三角形的空间对象,其代码如下。
创建的空间对象在生成缓冲区前的表结果和空间结果如下。
更改查询的条件,调用buffer()方法,获取缓冲区对象的代码如下。
获取的缓冲区对象的表结果和控件结果如下图所示。
微软sql server帮助文档参考:https://docs.microsoft.com/zh-cn/sql/t-sql/spatial-geometry/spatial-types-geometry-transact-sql?view=sql-server-ver15
sql server 空间数据(geometry类型)创建、查询、空间分析和计算相关推荐
- 减少SQL Server ASYNC_NETWORK_IO等待类型
The ASYNC_NETWORK_IO wait type is one of those wait types that can be seen very often by DBAs, and i ...
- 如何使用SQL Server Microsoft Mobile Publisher创建移动仪表盘?
Over the past three years, I read some interesting news about Microsoft which was "Microsoft ac ...
- 如何在SQL Server Management Studio中创建和配置链接服务器以连接到MySQL
This article will guide you with all the necessary steps to successfully create a linked server in S ...
- 数据库入门教程(SQL Server 2005)----数据库是如何查询数据的
数据库入门教程(SQL Server 2005)----数据库是如何查询数据的----查询:逻辑顺序 1.计算列 //以scott数据库中的emp表为例-----where可译为查找,其本质是在进行表 ...
- SQL SERVER的字段类型说明
SQL SERVER的字段类型说明 1.SQL SERVER的数据类型 数据类型是数据的一种属性,表示数据所表示信息的类型.任何一种计算机语言都定义了自己的数据类型.当然,不同的程序语言都具有不同的特 ...
- SQL Server中TEXT类型操作
SQL Server中TEXT类型字段值在数据库中追加字符串方法 对text类型字段值进行追加更新的操作,一开始用了简单的update语句试了试,有错误,原来text.ntext类型的字段不能和 va ...
- server sql 中类型为bit应该插入什么值_关于SQL Server中bit类型字段增删查改的一些事...
前言 本文主要给大家介绍了关于SQL Server中bit类型字段增删查改的一些事,话说BIT类型字段之前,先看"诡异"的一幕,执行Update成功,但是查询出来的结果依然是1,而 ...
- 在SQL Server中配置索引创建内存设置的最佳实践
介绍 (Introduction) The Index Create Memory setting is an advanced SQL Server configuration setting wh ...
- sql server 的 money类型
sql server的 money 类型其实就是小数类型 decimal ,我不喜欢用它,因为有一次什么工具生成,发现它自动把money类型转换成了decimal类型了,与其让它转,还不如自己设计数据 ...
- sql server 中将datetime类型转换为date,或者time
sql server 中将datetime类型转换为date,或者time 2008年01月14日 星期一 14:46 这个转换总是记不住,用到的时候就找,现贴上来,以备查用. datetime类型转 ...
最新文章
- vs2005无法断点调试网站,断点失效
- 用Maven插件生成Mybatis代码/数据库
- excel2010设置列宽为像素_vba:如何设置excel图表的宽度和高度(以像素为单位)?...
- php e all e notic,error_reporting(E_ALL ^ E_NOTICE)详细说明 | 慢生活的记忆
- 客户端突如其来的“白屏”等待该如何解决?
- 分享:一款快速传输大文件、支持英文版的工具
- IOS开发学习笔记024-UIButton和UIImageView的区别
- 下载知网Hownet中文信息结构数据
- 速成pytorch学习——9天构建模型的3种方法
- 关于onSaveInstanceState的javadoc的渣渣翻译
- c语言50例题答案,100个经典c语言例题(带答案).doc
- 智能小家居——智能插座TOP10方案合集
- c语言 2,有一函数: y= 写一程序,输入x,输出y值.,有一函数 ,编写一段程序,输入x的值,输出相应的y值....
- jeb java_jeb2 java 脚本插件
- 这篇文章说说特征工程(反欺诈与征信变量)
- Python小爬虫之协程爬虫快速上手
- 前端绝对路径不显示图片_img标签使用绝对路径无法显示图片
- C语言学习路线,思维脑图,学单片机的一定要知道
- 如何利用计算机隐藏文件,如何查找隐藏的计算机文件夹
- 8.1 结构体的定义和使用
热门文章
- 解决spring-boot-Admin的服务端和客户端不在同一个服务器的通信问题
- 手机如何用非默认打开html,手机设置默认浏览器方法
- ubuntu 16字体安装
- 从头搭建一个基于 Python 的在线聊天室
- 4种序列模式挖掘算法的比较分析
- 简易解说拉格朗日对偶
- 《SolidWorks 2016中文版机械设计从入门到精通》——1.8 参考点
- 调试腾讯转码接口报错问题{“code“:4100,“message“:“\u8eab\u4efd\u8ba4\u8bc1\u5931\u8d25\uff0c\u53c2\u6570\u9519\u8b
- python 网页游戏 渲染_WebRender:让网页渲染如丝顺滑
- linux mint 中文官网,Linux Mint OS 19中文纯净版(薄荷定制)