一.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空间库常用的相关函数的更多相关文章

  1. 通过SQL直接插入、修改ArcGIS SDE空间表中的数据

    基于Arcgis Server 10.1 +Oracle 11g环境测试 ArcGIS SDE ? 1 2 INSERT INTO CAMERA_INFO(OBJECTID,ID,SHAPE)     ...

  2. ArcGIS影像配准与空间配准

    ArcGIS影像配准与空间配准 ArcGIS影像配准与空间配准 地图配准可分为影像配准和空间配准.影像配准的对象是raster图,譬如TIFF图.配准后的图可以保存为ESRI GRID, TIFF,或 ...

  3. ubuntu16.04搭建geodjango+postgresql+postgis的WebGIS框架(一)安装第三方空间库

    postgis是postgresql的空间扩展对象,它需要一些第三方库的支持.包括GEOS, PROJ.4 和 GDAL.我们首先安装这几个空间库. 在ubuntu系统终端执行:(预先装一些依赖的库) ...

  4. Python之Numpy库常用函数大全(含注释)

    前言:最近学习Python,才发现原来python里的各种库才是大头! 于是乎找了学习资料对Numpy库常用的函数进行总结,并带了注释.在这里分享给大家,对于库的学习,还是用到时候再查,没必要死记硬背 ...

  5. Matplotlib库常用函数大全

    Python之Matplotlib库常用函数大全(含注释) plt.savefig(‘test’, dpi = 600) :将绘制的图画保存成png格式,命名为 test plt.ylabel(‘Gr ...

  6. Python之Numpy库常用函数大全(含注释)(转)

    为收藏学习,特转载:https://blog.csdn.net/u011995719/article/details/71080987 前言:最近学习Python,才发现原来python里的各种库才是 ...

  7. gcc编译时头文件和库文件搜索路径

    特殊情况:用户自定义的头文件使用#include"mylib"时,gcc编译器会从当前目录查找头文件 一.头文件 gcc 在编译时寻找所需要的头文件 :    ※搜寻会从-I开始( ...

  8. VMware虚拟机Mac OS X无法调整扩展硬盘大小,更新xcode时出现磁盘空间不足

    使用VMware虚拟机搭建的MacOSX,安装xcode时出现磁盘空间不足的错误. 因为很多朋友在初次安装MacOSX的时候都默认选择40G的磁盘大小,结果用了没两天之后就发现磁盘不够用了. 这时,百 ...

  9. gcc/g++链接时.o文件及库的顺序问题

    折腾gcc/g++链接时.o文件及库的顺序问题 链接静态库的顺序问题 GCC 编译使用动态链接库和静态链接库--及先后顺序----及环境变量设置总结

随机推荐

  1. PHP timezone_identifiers_list() 函数

    ------------恢复内容开始------------ 实例 输出非洲的所有时区: <?phpprint_r(timezone_identifiers_list(1));?> 运行实 ...

  2. C/C++编程笔记:inline函数的总结!C/C++新手值得收藏!

    在c/c++中,为了解决一些频繁调用的小函数大量消耗栈空间(栈内存)的问题,特别的引入了inline修饰符,表示为内联函数. 栈空间就是指放置程序的局部数据(也就是函数内数据)的内存空间. 在系统下, ...

  3. 牛客练习赛63 牛牛的树行棋 差分 树上博弈 sg函数

    LINK:牛牛的树行棋 本来是不打算写题解的. 不过具体思考 还是有一段时间的. 看完题 一直想转换到阶梯NIM的模型上 转换失败. 考虑SG函数. 容易发现 SG函数\(sg_x=max{sg_{t ...

  4. Python的基本运用(一)

    1.a**b  表示a的b次方. 2.def something(a,b):  定义函数,注意 python的缩进 . 3.print (a)与print a 的区别,python3中不支持print ...

  5. 8月1日起全部无版号游戏下架,ios手游想上架看这里!

      在苹果至中国游戏开发者的邮件中声明:如果开发者不能在7月31日前提交版号及相关文件,付费游戏将不可以在中国AppStore供应.也就是说:   从8月1日开始,苹果将正式下架全部.所有的ios付费 ...

  6. JS 鼠标放上去滑出内容案例

    .sliderbar { width: 200px; height: 40px; position: relative; margin: 0 auto; } .sliderbar span { dis ...

  7. 02-java实现单链表

    02-手撸链表 本篇是恋上数据结构第一季个人总结 借鉴https://juejin.im/post/6844904001478066183#heading-0 本人git https://github ...

  8. Springboot日志LOGO改变和设计

    每次启动Springboot的时候,SpringBoot都会打印一个LOGO,那么这个LOGO是可以关闭和改变的. 1.关闭Springboot的LOGO 2.改变Springboot的日志LOGO ...

  9. Flutter build apk 如何访问网络

    将下列配置放到路径:your_project\android\app\src下的 main 文件夹下的 AndroidManifest.xml 和 profile 文件夹下的 AndroidManif ...

  10. Vue 使用mixin抽取共通方法

    引入原因: 当一段逻辑在不同的地方使用时 step-1: 定义mixin文件,methods里有一个handleToLink方法 /** * this mixin file will be used ...