使用Arcgis时,在sde空间库常用的相关函数
一.Oracle库中配置好sde空间库常见的场景
1.在sde库中创建表:community
- 创建表:community
字段:id(INTEGER),- shape(ST_GEOMETRY)
2.往sde库中添加资源类型:
1.1点资源:
- 方式一:
- insert into 表名(id,shape) values(1,sde.st_point(108.88,34.18,#srid值#));
- //例如:insert into community(id,shape) values(1,sde.st_point(108.88,34.18,2));
- 方式二: insert into 表名(id,shape) values(2,sde.st_geometry('point(108.88 34.19)',#srid值#));
- //例如:insert into community(id,shape) values(2,sde.st_geometry('point(108.88 34.19)',2));
注意点:1.方式一,其中st_point()函数为点资源函数,参数为坐标及坐标系(即:srid值);2.方式二,st_geometry()函数传入点坐标及坐标系;
1.2线资源:
- insert into 表名(id,shape) values(1,sde.ST_LineString('linestring(108.88 34.19,108.98 34.29)',#srid值#));
- //例如:insert into community (id,shape) values(1,sde.ST_LineString('linestring(108.88 34.19,108.98 34.29)',2));
注意点:1.线资源使用ST_LineString()函数,传入多个点(至少两个不同点)及坐标系;2.线资源的点使用linestring()处理;
1.3面资源:
- insert into 表名(id,shape) values(1,sde.st_geometry ('polygon (108.88 34.19,108.98 34.29,108.88 34.19)',#srid值#));
- //例如:insert into community(id,shape) values(1,sde.st_geometry ('polygon (108.88 34.19,108.98 34.29,108.88 34.19)',2));
注意点:1.面资源使用st_geometry()函数,传入多个点(至少三个不同点,必须按照一定的方向首位相接,连起来不能相交)和坐标系;2.面资源的点使用polygon()处理;
4.sde库中表srid值的查看:
- SELECT SRID FROM SDE.ST_GEOMETRY_COLUMNS WHERE TABLE_NAME = '#表名#';
注意点:ST_GEOMETRY_COLUMNS 为sde库的一张表,将sde库中的其他表的信息及srid进行保存
5.修改sde库表的srid值
- update #表名# set shape = st_geomfromtext(ST_AsText(shape),#新的srid值#);
- //例如:update community set shape = st_geomfromtext(ST_AsText(shape),2);
注意点:shape:该表中st_geometry类型的字段,使用st_geomfromtext()函数将文本类型的点进行转换;
5.sde库中判断点资源是否在一个面资源内:(SDE.ST_INTERSECTS()函数)
- SELECT SDE.ST_INTERSECTS(R.SHAPE,SDE.ST_POINT(108.88, 34.19,#srid值#))FROM community R where id= '#id#'
- //例如:SELECT SDE.ST_INTERSECTS(R.SHAPE,SDE.ST_POINT(108.88, 34.19,2))FROM community R where id= '1'
注意点:ST_INTERSECTS()函数返回结果为1:表示该点(108.88, 34.19)在面(shape)内;结果为0:表示该点不再面内;
6.查看字段shape中的点信息:
1.查看shape面中的任意一点:
- SELECT id,sde.st_astext (sde.st_pointonsurface (shape)) as Surface_Points FROM sde.表名 g where id='1';
注意点:st_pointonsurface()函数从shape字段中获取点,在通过st_astext()转为文本类型clob类型,点击clob可查看具体的点信息,文本内容:point(108.88 34.19);
2.查看shape面中的点资源,线资源,面资源的点:
- SELECT id,sde.st_astext(shape) POINTS FROM sde.表名 WHERE id= '1'
注意点:点击clob类型的POINTS字段值,如下:
如果是点,则显示:point(108.88 34.19);
如果是线,则显示:linestring(108.88 34.19,108.98 34.29);
如果是面,则显示:polygon (108.88 34.19,108.98 34.29,108.88 34.19)
二.总结
优势:
sde库中的字段简单,一个shape字段,包含的信息量多;
缺点:
对shape字段处理,需掌握大量的函数;
使用Arcgis时,在sde空间库常用的相关函数的更多相关文章
- 通过SQL直接插入、修改ArcGIS SDE空间表中的数据
基于Arcgis Server 10.1 +Oracle 11g环境测试 ArcGIS SDE ? 1 2 INSERT INTO CAMERA_INFO(OBJECTID,ID,SHAPE) ...
- ArcGIS影像配准与空间配准
ArcGIS影像配准与空间配准 ArcGIS影像配准与空间配准 地图配准可分为影像配准和空间配准.影像配准的对象是raster图,譬如TIFF图.配准后的图可以保存为ESRI GRID, TIFF,或 ...
- ubuntu16.04搭建geodjango+postgresql+postgis的WebGIS框架(一)安装第三方空间库
postgis是postgresql的空间扩展对象,它需要一些第三方库的支持.包括GEOS, PROJ.4 和 GDAL.我们首先安装这几个空间库. 在ubuntu系统终端执行:(预先装一些依赖的库) ...
- Python之Numpy库常用函数大全(含注释)
前言:最近学习Python,才发现原来python里的各种库才是大头! 于是乎找了学习资料对Numpy库常用的函数进行总结,并带了注释.在这里分享给大家,对于库的学习,还是用到时候再查,没必要死记硬背 ...
- Matplotlib库常用函数大全
Python之Matplotlib库常用函数大全(含注释) plt.savefig(‘test’, dpi = 600) :将绘制的图画保存成png格式,命名为 test plt.ylabel(‘Gr ...
- Python之Numpy库常用函数大全(含注释)(转)
为收藏学习,特转载:https://blog.csdn.net/u011995719/article/details/71080987 前言:最近学习Python,才发现原来python里的各种库才是 ...
- gcc编译时头文件和库文件搜索路径
特殊情况:用户自定义的头文件使用#include"mylib"时,gcc编译器会从当前目录查找头文件 一.头文件 gcc 在编译时寻找所需要的头文件 : ※搜寻会从-I开始( ...
- VMware虚拟机Mac OS X无法调整扩展硬盘大小,更新xcode时出现磁盘空间不足
使用VMware虚拟机搭建的MacOSX,安装xcode时出现磁盘空间不足的错误. 因为很多朋友在初次安装MacOSX的时候都默认选择40G的磁盘大小,结果用了没两天之后就发现磁盘不够用了. 这时,百 ...
- gcc/g++链接时.o文件及库的顺序问题
折腾gcc/g++链接时.o文件及库的顺序问题 链接静态库的顺序问题 GCC 编译使用动态链接库和静态链接库--及先后顺序----及环境变量设置总结
随机推荐
- PHP sleep() 函数
实例 延迟执行当前脚本 5 秒: <?phpecho date('h:i:s') . "<br>"; //sleep for 5 secondssleep(5); ...
- PHP ucfirst() 函数
实例 把 "hello" 的首字符转换为大写: <?phpecho ucfirst("hello world!");?> 运行实例 » 定义和用法 ...
- 二维线段树->树套树
现在上真正的二维线段树 毕竟 刚刚那个是卡常 过题我们现在做一个更高级的做法二维线段树. 大体上维护一颗x轴线段树 然后在每个节点的下方再吊一颗维护y轴的线段树那么此时我们整个平面就被我们玩好了. 这 ...
- Android运行时注入浅析与使用
背景 最近接触新项目,项目中引入了Android Annotation(AA)依赖注入开源框架,代码中大片的注解代码,对于没用过注解框架(或者说没有如此大面积的使用)的我来说确实看得很费力,于是花时间 ...
- vue_shop(基于vue电商管理后台网站)
vue_shop 目录 vue_shop day01 实现登录功能 项目预开发处理 Login.vue完整代码: 处理步骤: 添加element-ui的表单组件 添加第三方字体: 添加表单验证 导入a ...
- iOS苹果美区 Apple ID 账号最新注册教程,iPhone用户务必收藏!
编の语 前言 今天杀手宝宝出一个注册美区ID的教程,这是目前注册苹果美区ID最快的方法,所有人适合使用! 提の示 温馨提示: 所有内容均免费分享,部分资源来自于 网络,如与版权问题联系宝宝处理! 知道 ...
- Win10系统安装MySQL Workbench 8
系统:Window10 专业版 MySQL Workbench 8.0.19 下载地址:https://dev.mysql.com/downloads/workbench/8.0.html 点击Dow ...
- 《计算机存储与外设》 1Cache存储器与虚拟存储器
初读这本书,是2020年3,4月吧,以前学的大多数处理器,balabala的,虽然也有介绍储存器的,但总是不是很详细,主要还是关注cpu等计算部件或者总线等事物,就如同这本书中所写,人们往往可以很清楚 ...
- 用 Python 下载抖音无水印视频
说起抖音,大家或多或少应该都接触过,如果大家在上面下载过视频,一定知道我们下载的视频是带有水印的,那么我们有什么方式下载不带水印的视频呢?其实用 Python 就可以做到,下面我们来看一下. 很多人学 ...
- 【项目实战】sass使用基础篇(上)
Sass是一种CSS预处理语言.CSS预处理语言是一种新的专门的编程语言,编译后形成正常的css文件,为css增加一些编程特性,无需考虑浏览器的兼容性(完全兼容css3),让css更加简洁.适应性更强 ...