64位系统配置ST_Geometry函数

合集下载

postgis空间关系函数

postgis空间关系函数

postgis空间关系函数PostGIS是一个开源的空间数据库扩展,它为PostgreSQL数据库添加了对空间数据的支持。

PostGIS提供了许多空间关系函数,用于执行空间分析和查询。

这些函数可以帮助用户进行空间数据的处理和分析,包括空间关系的判断、几何对象的测量、空间操作等。

一些常用的PostGIS空间关系函数包括:1. ST_Intersects(geometry A, geometry B),判断两个几何对象是否相交。

2. ST_Contains(geometry A, geometry B),判断几何对象A是否包含几何对象B。

3. ST_Distance(geometry A, geometry B),计算两个几何对象之间的距离。

4. ST_Buffer(geometry A, distance),对几何对象进行缓冲区分析,生成缓冲区。

5. ST_Within(geometry A, geometry B),判断几何对象A是否在几何对象B内部。

6. ST_Centroid(geometry A),计算几何对象的中心点。

7. ST_Area(geometry A),计算几何对象的面积。

8. ST_Length(geometry A),计算几何对象的长度。

这些函数可以帮助用户进行空间数据的处理和分析,例如在地理信息系统中进行空间查询、空间分析和空间可视化等方面发挥重要作用。

通过使用这些函数,用户可以轻松地进行空间数据的处理和分析,从而更好地理解和利用空间数据。

除了上述列举的函数外,PostGIS还提供了许多其他空间关系函数,用户可以根据自己的需求选择合适的函数来进行空间数据的处理和分析。

总的来说,PostGIS的空间关系函数为用户提供了强大的空间分析工具,帮助他们更好地处理和分析空间数据。

sde st_geometry 点转面的函数

sde st_geometry 点转面的函数

sde st_geometry 点转面的函数SDE(Spatial Database Engine)是由Esri所开发的一款用于地理信息系统(GIS)的数据库引擎。

它提供了一些强大的功能,其中一个是st_geometry函数。

st_geometry函数可以用于将一些点转换为面,从而实现面的建立和计算。

本文将重点介绍如何使用sde st_geometry 点转面的函数。

1. 函数概述SDE st_geometry函数是一个用于建立点和面之间关系的函数。

在执行该函数之前,需要先确定点和面的位置关系,知道哪些点应该连接成面。

该函数通常使用以下几种方法:- 使用堆栈方法将点连接成面。

- 使用三角形网格方法将点连接成面。

- 使用泰森多边形方法将点连接成面。

- 使用缓冲区方法将点连接成面。

这些方法均出现过建立点和面之间关系的应用程序中。

在使用这些方法的过程中,需要将点转换成适当的地图单元,例如三角形或多边形。

然后,使用这些单元来创建面。

这些地图单元是由sde st_geometry函数生成的。

2. 函数实现在实现sde st_geometry函数之前,需要先处理输入的点数据。

这包括对点数据进行排序和筛选,以确保其正确性。

然后选择转换方法和地图单元类型。

对于大数据集,还需要考虑性能和可扩展性。

接下来,介绍一些常用的转换方法和地图单元类型。

2.1 堆栈方法这个方法将点按照特定的顺序进行排序,并将它们连接成一个连续的环。

这需要对输入点进行排序,并使用基于堆栈的算法将它们连接成一个环。

该方法通常用于处理复杂的几何形状。

但是,它需要大量的计算和内存以处理大数据集。

以下是堆栈方法的步骤:- 对点进行排序,使其按照一定的顺序排序。

- 从第一个点开始,将所有点都压入堆栈中。

- 选择一个没有连接过的点,连接它到堆栈顶端的点。

- 如果连接的新点是堆栈底端的点,则结束连接过程并形成面。

2.2 三角形网格方法这个方法将点连接成一系列三角形,将其作为面形成。

创建空间数据存储类型为ST_Geometry的要素类

创建空间数据存储类型为ST_Geometry的要素类

创建空间数据存储类型为ST_Geometry的要素类有2种方法:1)使用SDE创建要素类从9.3 开始,默认创建的要素类都使用ST_Geometry存储空间数据,9.3 版本之前,可以通过配置dbtune 参数来完成。

2)直接使用SQL语句创建要素类。

1. 首先使用sqlplus连接到oracle服务器,确保登陆用户有如下权限:CREATE TYPEUNLIMITED TABLESPACECREATE LIBRARYCREATE OPERATORCREATE INDEXTYPECREATE PUBLIC SYNONYMDROP PUBLIC SYNONYMThe CONNECT and RESOURCE roles include these privileges.2. 使用SQL语句创建包含ST_Geometry列的表,注意:要使SDE能够认识你创建的要素类,新建的表中有且只能有一个ST_Geometry列,并且最好包含唯一标识的列。

执行下面的sql语句CREATE TABLE sensitive_areas (area_id integer, name varchar(128),area_size float, type varchar(10), zone sde.st_geometry);注意st_geometry前面应添加sde schema 名,否则会报错。

51.png3. 使用sdelayer命令,将创建好的表注册到SDE中注册的时候一定要保证下面几点才能成功:1必须是表的所有者才能注册。

2表中只能有一个ST_Geometry列。

3没有其他用户自定义类型的列。

4必须是简单的集合类型(points, lines, or polygons)。

5Geometry 必须是有效的,否则读取的时候会产生不可预期的错误。

sdelayer 命令参数如下:sdelayer -o register -l <table,column> -e <entity_mask> [Spatial_Index][{-R <SRID> | [Spatial_Ref_Opts]}] [-P {BASIC | HIGH}]{[-C NONE] | [-C <row_id_column>[,{SDE|USER}[,<min_ID>]]]}[-E {empty | xmin,ymin,xmax,ymax}] [-t <storage_type>][-S <layer_description_str>] [-q][-k <config_keyword>] [-i <service>] [-s <server_name][-u <DB_User_name>] [-p <DB_User_password>] [-D <database>]在命令行中执行下列命令sdelayer -o register -l sensitive_areas,zone -e a -C area_id,SDE -u data -p sa -t ST_GEOMETRY-o参数为register -l参数为表名/ST_Geometry列-e 几何类型-C 用户唯一id/SDE 其中SDE表示由sde 维护唯一id,使用USER选项,则有用户维护唯一ID -u 注册地用户名-p 用户密码-t 数据存储类型sdelayer.pngbarry~~~~~~~~~~~~~4. 在catalog中查看,可以看到sensitive_areas已经被注册到sde中,并且图标显示为polygon类型。

SQL空间查询ST_Geometry配置

SQL空间查询ST_Geometry配置

SQL空间查询ST_Geometry配置自从ArcSDE推出ST_Geometry存储类型后我们就可以通过SQL语句方式查询空间数据。

使用ST_Geometry类型存储空间数据具有以下优势1通过SQL函数ISO SQL/MM 标准直接访问空间数据2使用SQL语句存储、检索操纵空间数据就像其他类型数据一样。

3通过存储过程来进行复杂的空间数据检索和分析。

4其他应用程序可以通过SQL语句来访问存储在geodatabase中的数据。

从ArcGIS 9.3开始新的ArcSDE geodatabases for Oracle 要求所以ST 函数调用的时候前面都要加上SDE schema名称。

例如要对查询出来的空间数据进行union操作则SQL函数需要这样写sde.ST_Union在92版本之前可以不加SDE schema名称。

但是需要通过ArcSDE提供的类库文件“st_shapelib”才能在数据库中通过SQL直接查询空间数据。

在不同的操作系统下该类库文件表示不一样该文件在Unix系统下可以在SDEHOME/lib 目录下而在Windows系统下则在SDEHOMEbin目录下如下表: Library Name Windows Unix/Linux HP-UX AIX IBM 64 st_shapelib st_shapelib.dll libst_shapelib.so libst_shapelib.sl libst_shapelib_64.so Projection Engine pe.dll libpe.so libpe.sl libpe_64.so Geometry sg.dll libsg.so libsg.sl libsg_64.so 所以我们需要针对不同操作系统做一些对应的相关配置主要是针对数据库的监听文件“listener.ora”和“tnsnames.ora”进行设置具体设置如下一、Windows操作系统中配置过程listener.ora: SID_LIST_LISTENER SID_LIST SID_DESC SID_NAME PLSExtProc01 ORACLE_HOME D:oracleproduct10.2.0db_1 PROGRAM extproc ENVSEXTPROC_DLLSC:Program FilesArcGISArcSDEora10gexebinst_shapelib.dll LISTENER DESCRIPTION_LIST DESCRIPTION ADDRESS PROTOCOL IPCKEY EXTPROC01 ADDRESS PROTOCOL TCPHOST zbcPORT 1521 tnsnames.ora: EXTPROC_CONNECTION_DATA DESCRIPTIONADDRESS_LIST ADDRESS PROTOCOL IPCKey EXTPROC01CONNECT_DATA SID PLSExtProc01 PRESENTATION RO 在配置过程时需要注意以下内容1、在配置了监听文件后需要重新启动数据库的监听程序2、在定义监听文件中环境时SID_LISTSID_DESCENVEXTPROC_DLLS值为ArcSDE安装目录下的“st_shapelib”类库还需要添加一个“SID_NAME”值3、在上述两个监听文件中的“ADDRESS-IPC-KEY”的值必须是一样的4、在listener 文件中的SID_NAME 和在tnsnames文件中的SID in CONNECT_DATA名称必须是一样的。

关于如何配置ST_Geometry及使用大全

关于如何配置ST_Geometry及使用大全

ArcGIS GeoDatabaseST_Geometry简介及配置北斗星(注:其中大部分内容来自ESRI内部技术文档、网络资源整理所得,如果设及到你的内容在此表示感谢)目录第一章 ST_Geometry与配置 (4)1.1简介 (4)1.2基于Oracle的ST_Geometry的配置 (5)1.2.1Oracle监听配置 (5)1.2.1.1Windows环境的配置 (5)1.2.1.2Linux环境的配置 (6)1.2.1.3Unix环境的配置 (7)1.2.2OracleTNS配置 (9)1.3Oracle的ST_Geometry权限及数据库 (9)1.3.1检查ST定义 (9)1.3.2检查st_shapelib对象定义 (10)第二章 ST_Geometry存储结构 (11)2.1存储结构 (11)2.2操作函数 (12)2.3构造ST_Geometry对象 (12)2.4用户权限限制 (13)第三章创建ST_Geometry要素类 (14)3.1使用SDE创建要素类 (14)3.2直接使用SQL语句创建要素类。

(14)3.2.1连接权限设置 (14)首先使用 (14)3.2.2SQL语句创建ST_Geometry (14)3.2.3使用sdelayer命令 (15)3.2.4SQL直接操纵FeatureClass (17)3.2.4.1数据的插入,删除,更新 (17)3.2.4.2查询 (18)3.2.4.3创建索引 (19)3.2.4.4创建空间参考系 (19)3.2.4.5Wkt和Wkb (20)第四章 SQL函数介绍 (28)4.1执行空间判断 (28)4.1.1ST_Contains (28)4.1.2ST_Crosses (29)4.1.3ST_Disjoint (30)4.1.4ST_Equals (31)4.1.5ST_Intersects (31)4.1.6ST_Overlaps (32)4.1.7ST_Touches (33)4.1.8ST_Within (34)4.2空间分析函数: (35)4.2.1ST_Buffer缓冲区分析 (35)4.2.2ConvexHull (35)4.2.3ST_Difference (36)4.2.4ST_Intersection (37)4.2.5ST_SymmetricDiff (38)4.2.6ST_Union (39)4.2.7ST_Distance (40)4.3聚集函数 (40)4.3.1ST_Aggr_ConvexHull (40)4.3.2ST_Aggr_Intersection (40)4.3.3ST_Aggr_Union (40)4.3.4空间数据属性提取的函数 (41)4.3.4.1求几何维度的函数: (41)4.3.4.2z值函数 (41)4.3.4.3量测值函数 (41)4.3.4.4取几何类型函数 (41)4.3.4.5ST_Point相关函数 (41)4.3.4.6面积和长度函数 (41)4.3.4.7ST_LineString相关函数 (41)4.3.4.8ST_MultiLineString 相关函数 (42)4.3.4.9ST_Polygon相关函数 (42)4.3.4.10ST_MultiPolygon相关函数 (43)4.3.4.11求几何坐标点个数函数 (43)4.3.4.12空间参考系相关函数 (43)4.3.4.13其他函数 (43)第一章ST_Geometry与配置1.1简介ArcSDE for Oracle提供了ST_Geometry类型来存储几何数据。

mysql的geometry函数

mysql的geometry函数

mysql的geometry函数MySQL的Geometry函数是一种强大的工具,可以在数据库中存储和处理空间数据。

它使得我们能够以人类的视角来理解和操纵地理和几何数据,从而更好地满足人们的需求。

一、什么是Geometry函数Geometry函数是MySQL中的一组函数,用于处理空间数据。

它支持几何类型,如点、线、多边形等,并提供了多种操作,如距离计算、交集计算、缓冲区计算等。

这些函数使得我们可以轻松地对地理和几何数据进行查询、分析和可视化。

二、Geometry函数的优点1. 空间索引:Geometry函数可以对空间数据进行索引,提高查询效率。

2. 空间分析:Geometry函数提供了一系列操作,如包含、相交、距离计算等,可以进行空间分析,满足各种需求。

3. 地理可视化:Geometry函数可以将空间数据转换为可视化图形,使得数据更加直观、易于理解。

三、Geometry函数的应用场景1. 地理信息系统:Geometry函数可以用于构建地理信息系统,实现地图显示、查询和分析等功能。

2. 位置服务:Geometry函数可以用于实现位置服务,如查找附近的餐馆、导航等。

3. 数据分析:Geometry函数可以用于空间数据的分析,如统计某个区域内的人口密度、犯罪率等。

4. 地理编码:Geometry函数可以用于将地址转换为经纬度,实现地理编码功能。

四、Geometry函数的使用示例1. 计算两点之间的距离:SELECT ST_Distance(Point(0, 0), Point(1, 1));2. 判断一个点是否在一个多边形内:SELECT ST_Contains(Polygon((0, 0), (0, 1), (1, 1), (1, 0), (0, 0)), Point(0.5, 0.5));3. 计算两个多边形的交集:SELECT ST_Intersection(Polygon((0, 0), (0, 1), (1, 1), (1,0), (0, 0)), Polygon((0.5, 0.5), (0.5, 1.5), (1.5, 1.5),(1.5, 0.5), (0.5, 0.5)));五、总结Geometry函数是MySQL中一个强大的工具,可以处理和分析空间数据。

ArcSDE投影表介绍-以ST_Geometry为例

ArcSDE 投影表介绍以ST_Geometry操作为例题记该文件不需要用户非要刨根问底的去理解相关内容,只需要了解这里的相互关系,以及在使用ST_Geometry的时候怎么来处理这些关系。

环境介绍操作系统:Winodows7数据库:Oracle 11.1.0.6 64Bit中间件:ArcSDE10 64BitArcSDE投影表介绍ArcSDE的投影信息涉及的表包括以下几个:GEOMETRY_COLUMNSGEOMETRY_COLUMNS 表为符合OpenGIS SQL 规范的每列类型几何都在数据库中存储一行。

ArcSDE 将此表视为只限写入,因此仅在添加或删除OpenGIS SQL 数据格式的图层时,才可通过ArcSDE 访问此表。

该表由OpenGIS SQL 规范定义,还可以在其他应用程序中用不由ArcSDE 托管的几何列更新该表。

以符合OpenGIS 标准的格式新建几何列时,完全限定的表名、列名和空间参考ID (SRID) 会添加到GEOMETRY_COLUMNS 表中。

每个几何列都与一个空间参考系相关联。

ArcSDE 将有关各空间参考系统的信息均存储在SPATIAL_REFERENCES 表中。

LAYERSLAYERS 表用于记录与数据库中各要素类相关的数据。

该信息帮助构建和维护空间索引、确保正确的形状类型、维护数据完整性以及存储坐标数据的空间参考。

数据库中的每个空间列对应该表中的一行。

应用程序使用图层属性来查找可用的空间数据源。

ArcSDE 使用这些图层属性来约束和验证空间列内容、索引几何值,以及正确创建和管理关联的DBMS 表。

SPATIAL_REFERENCESSPATIAL_REFERENCES 表中包含坐标系和从浮点型到整型的转换值。

存储前,内部功能会利用空间参考系的参数将几何的每个浮点型坐标都转换和调整为64 位正整数。

进行检索时,这些坐标将恢复为其初始外部浮点型形式。

GEOMETRY_COLUMNS 表的每个几何列都与一个空间参考系统相关联,与之相关的信息将存储在SPATIAL_REFERENCES 表中。

PostGreSQL(五)PostGIS-常用函数

PostGreSQL(五)PostGIS-常⽤函数PostGIS中的常⽤函数图形和地理位置ST_GeometryType(geometry) —— 返回⼏何图形的类型ST_Transform(geometry, srid)——将⼏何图形投影为地理坐标数据或转换为不同srid坐标系统的坐标数据Geography(geometry)——将基于EPSG:4326(srid=4326)的geometry数据类型转换为geography数据类型ST_NDims(geometry) —— 返回⼏何图形的维数ST_SRID(geometry) —— 返回⼏何图形的空间参考标识码 sridST_SetSRID(geometry,SRID)——设置sridsum(expression) ——返回⼀个计算式/表达式的和count(expression) ——返回⼀个表达式中的次数PS : geometry,是⼏何类型的列的列名srid,不同的srid就是不同标准的坐标系点空间函数:ST_X(geometry) —— 返回X坐标ST_Y(geometry) —— 返回Y坐标线串空间函数:ST_Length(geometry) —— 返回线串的长度ST_StartPoint(geometry) —— 将线串的第⼀个坐标作为点返回ST_EndPoint(geometry) —— 将线串的最后⼀个坐标作为点返回ST_NPoints(geometry) —— 返回线串的坐标数量多边形空间函数:ST_Area(geometry) —— 返回多边形的⾯积ST_NRings(geometry) —— 返回多边形中环的数量(通常为1个,其他是孔)ST_ExteriorRing(geometry) —— 以线串的形式返回多边形最外⾯的环ST_InteriorRingN(geometry, n) —— 以线串形式返回指定的内部环ST_Perimeter(geometry) —— 返回所有环的长度集合空间函数(多点、多线、多⾯、任意图形组合):ST_NumGeometries(geometry) —— 返回集合中的组成部分的数量ST_GeometryN(geometry, n) —— 返回集合中指定的组成部分ST_Area(geometry) —— 返回集合中所有多边形组成部分的总⾯积ST_Length(geometry) —— 返回所有线段组成部分的总长度⼏何图形输⼊和输出在数据库中,⼏何图形(Geometry)以仅供PostGIS使⽤的格式存储在磁盘上。

ST_Geometry教程

ArcGIS GeoDatabase ST_Geometry1 ST_Geometry oracle1.1ArcSDE for Oracle ST_Geometry ST_Geometry ISO OGC SQL oracle oracle ST_Geometry SDENBLOB B F ST_Geometry ( )ArcGIS 9.3 ArcSDE geodatabases for Oracle ST_Geometry SQL3 user-defined data types ST_GeometryST_Geometry1 SQL ISO SQL/MM2 SQL34 SQL geodatabase ArcGIS 9.3 ArcSDE geodatabases for Oracle ST SDE schema union SQL "sde.ST_Union", 9 2 SDE schema1.2ST_GeometryName TypeENTITY NUMBER(38)NUMPTS NUMBER(38)MINX FLOAT(64)MINY FLOAT(64)MAXX FLOAT(64)MAXY FLOAT(64)MINZ FLOAT(64)MAXZ FLOAT(64)MINM FLOAT(64)MAXM FLOAT(64)AREA FLOAT(64)LEN FLOAT(64)SRID NUMBER(38)POINTS BLOBEntity (linestring, multilinestring, multipoint, multipolygon, point, or polygon st_geom_util NUMPTSMinx, miny, maxx, maxyAreaLenSRID ID ST_Spatial_References POINTS1.3ST_Geometry ST_Geometry NumberST_AreaST_LenST_Entity .ST_NumPoints .ST_MinM, ST_MinX, ST_MinY, ST_MinZ . ST_MaxM, ST_MaxX, ST_MaxY, ST_MaxZ . ST_SRID ID.Get_release .us_states state state SELECT name, st_area(geometry)FROM us_statesORDER BY name;1.4 ST_GeometryST_LineString, ST_MultiLineString, ST_MultiPoint, ST_MultiPolygon, ST_Point, ST_Polygon ST_Geometry . ST_Geometry . ST_LineString, ST_MultiLineString, ST_MultiPoint, ST_MultiPolygon, ST_Point and ST_PolygonST_Point 1 xy SRID ST_PointMETHODFINAL CONSTRUCTOR FUNCTION ST_POINT RETURNS SELF AS RESULTArgument Name Type In/Out Default?PT_X NUMBER INPT_Y NUMBER INSRID NUMBER INSQL> insert into sample_pt values (ST_Point (10, 20, 1) );2 xy z SRID ST_PointMETHODFINAL CONSTRUCTOR FUNCTION ST_POINT RETURNS SELF AS RESULTArgument Name Type In/Out Default?PT_X NUMBER INPT_Y NUMBER INPT_Z NUMBER INSRID NUMBER INSQL> insert into sample_pt values (ST_Point (10, 20, 5, 1) );3 xy z m SRID ST_Point METHODFINAL CONSTRUCTOR FUNCTION ST_POINT RETURNS SELF AS RESULTArgument Name Type In/Out Default?PT_X NUMBER INPT_Y NUMBER INPT_Z NUMBER INMEASURE NUMBER INSRID NUMBER INSQL> insert into sample_pt values (ST_Point (10, 20, 5, 401, 1) );1.5oracle ST_GeometryCREATE TYPE l i k u W P D F -X C h a n g e ww .d o c u -t r a c k .c m C c t o b y N O !P D F -X C h a n g e w w .d o c u -t r a c k .c oUNLIMITED TABLESPACECREATE LIBRARYCREATE OPERATORCREATE INDEXTYPECREATE PUBLIC SYNONYMDROP PUBLIC SYNONYMThe CONNECT and RESOURCE roles include these privileges.2 ST_Geometry SQL oracleoracle ST_Geometry SQL oracle external procedure agent extproc SQL oracle listener oracle SDEST_Geometry PL/SQL PL/SQL c ST_SHAPELIBoracle listener oracle windows1 oracle oraclehome\NETWORK\ADMIN2 listener.ora oracle3 listener.ora (PROGRAM = extproc) ST_SHAPELIB ST_SHAPELIB (ENVS="EXTPROC_DLLS=C:\ProgramFiles\ArcGIS\ArcSDE\ora10gexe\bin\st_shapelib.dll")“C:\Program Files\ArcGIS\ArcSDE\ora10gexe\bin\st_shapelib.dll”ST_SHAPELIB4 listener.oralistener.ora# listener.ora Network Configuration File: D:\oracle\product\10.2.0\db_1 \network\admin\listener.ora# Generated by Oracle configuration tools.SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = PLSExtProc)(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)(PROGRAM = extproc)))LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))(ADDRESS = (PROTOCOL = TCP)(HOST = zbc)(PORT = 1521)) ))listener.ora# listener.ora Network Configuration File: D:\oracle\product\10.2.0\db_1 \network\admin\listener.ora# Generated by Oracle configuration tools.SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = PLSExtProc)(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)(PROGRAM = extproc)(ENVS="EXTPROC_DLLS=C:\ProgramFiles\ArcGIS\ArcSDE\ora10gexe\bin\st_shapelib.dll")))LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))(ADDRESS = (PROTOCOL = TCP)(HOST = zbc)(PORT = 1521))))3 ST_GeometryST_Geometry 21 SDE9.3 ST_Geometry 9.3 dbtune2 SQL1. sqlplus oracle CREATE TYPEUNLIMITED TABLESPACECREATE LIBRARYCREATE OPERATORCREATE INDEXTYPECREATE PUBLIC SYNONYMDROP PUBLIC SYNONYMThe CONNECT and RESOURCE roles include these privileges.2. SQL ST_Geometry SDE ST_GeometrysqlCREATE TABLE sensitive_areas (area_id integer, name varchar(128),area_size float, type varchar(10), zone sde.st_geometry);st_geometry sde schema51.png3. sdelayer SDE12 ST_Geometry34 (points, lines, or polygons)5Geometry sdelayersdelayer -o register -l <table,column> -e <entity_mask> [Spatial_Index][{-R <SRID> | [Spatial_Ref_Opts]}] [-P {BASIC | HIGH}]{[-C NONE] | [-C <row_id_column>[,{SDE|USER}[,<min_ID>]]]}[-E {empty | xmin,ymin,xmax,ymax}] [-t <storage_type>][-S <layer_description_str>] [-q][-k <config_keyword>] [-i <service>] [-s <server_name][-u <DB_User_name>] [-p <DB_User_password>] [-D <database>]sdelayer -o register -l sensitive_areas,zone -e a -C area_id,SDE -u data -p sa -t ST_GEOMETRY-o register -l /ST_Geometry -e -C id/SDE SDE sde id USER ID -u -p -tsdelayer.pngbarry~~~~~~~~~~~~~4. catalog sensitive_areas sde polygonSQL FeatureClass(oracle), ST_GeometryFeatureClass1insert ST_Geometry :1 WKT2 WKBOGC ST_PolyFromText() ST_PointFromWKB() WKT WKB ST_GeometrySTST_GeomFromText—Creates an ST_Geometry from a text representation of any geometry typeST_PointFromText—Creates an ST_Point from a point text representationST_LineFromText—Creates an ST_LineString from a linestring text representationST_PolyFromText—Creates an ST_Polygon from a polygon text representationST_MPointFromText—Creates an ST_MultiPoint from a multipoint representationST_MLineFromText—Creates an ST_MultiLineString from a multilinestring representationST_MPolyFromText—Creates an ST_MultiPolygon from a multipolygon representationST_AsText—converts an existing geometry into a text representationST_GeomFromWKB—Creates an ST_Geometry from a WKB representation of any geometry typeST_PointFromWKB—Creates an ST_Point from a point WKB representation ST_LineFromWKB—Creates an ST_LineString from a linestring WKB representationST_PolyFromWKB—Creates an ST_Polygon from a polygon WKB representationST_MPointFromWKB—Creates an ST_MultiPoint from a multipoint WKB representationST_MLineFromWKB—Creates an ST_MultiLineString from a multilinestring WKB representationST_MPolyFromWKB—Creates an ST_MultiPolygon from a multipolygon WKB representationST_AsBinary—converts an existing geometry value into well-known binary representation.wkt wkbsql sqlINSERT INTO sensitive_areas (area_id , name, area_size, type , zone,fid) VALUES (1, 'Summerhill Elementary School', 67920.64, 'school', sde.ST_PolyFromText('polygon((52 28,58 28,58 23,52 23,52 28))', 0));sensitive_areasinsert.pngArcMap featureClassarcmap.pngUPDATEsensitive_areasSET zone= sde.st_pointfromtext('polygon ((52 30,58 30,58 23,50 23,50 28))', 0))WHERE area_id = 1;DELETE FROM sensitive_areas WHERE names(SELECT sFROM sensitive_areas sa, hazardous_sites hsWHERE sde.st_overlaps (sa.zone, sde.st_buffer (hs.location,.01)) = 1);2infomix R PostgreSQ Generalized Search Tree (GiST) R-tree oracle DB2oracle1 grid grid2 grid34 ST ST_Intersects ST_ContainsSELECT "Sensitive Areas", "Hazardous Sites"FROM sensitive_areas sa, hazardous_sites hsWHERE sde.st_overlaps (sa.zone, sde.st_buffer(hs.location,.01)) = 1;3CREATE INDEX sa_idx ON sensitive_areas(zone)INDEXTYPE IS sde.st_spatial_indexPARAMETERS('st_grids=1,3,0 st_srid=0');createindex.png4ESRI ArcGIS Desktop SQL sqlINSERT INTO SDE.ST_SPATIAL_REFERENCES VALUES (GCS_North_American_1983,1,-400,-400,1000000000,-100000,10000,-100000,10000,9.999E35,-9.999E35,9.999E35,-9.999E35,9.999E35,-9.999E35,9.999E35,-9.999E35,4269,'GCS_North_American_1983','PROJECTED',NULL,'GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983", SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT ["Degree",0.0174532925199433]]','ArcSDE SpRef');4Wkt Wkbwkt(OGC well-known text) wkb(OGC well-known binary) OGC wkt wkbwkt wkbwktGeometrytype Textdescription Comment ST_Point 'pointempty' emptypointST_Point 'pointzempty'empty point with z-coordinateST_Point 'pointmempty'empty point withmeasureST_Point 'pointzmempty'empty point with z-coordinate andmeasureST_Point 'point(10.0510.28)' point ST_Point 'point z( 10.05 10.28 2.51 )'ST_Point 'point m( 10.05 10.28 4.72 )'poST_Point 'point zm(10.05 10.28 2.514.72 )'point withz-coordinate andmeasureST_LineString 'linestringempty' emptylinestringST_LineString 'linestringzempty'empty linestring with z-coordinatesST_LineString 'linestringmempty'empty linestring with measuresST_LineString 'linestring zm empty'empty linestring with z-coordinates and measuresST_LineString 'linestring (10.05 10.28 ,20.95 20.89 )'linestringST_LineString'linestring z(10.05 10.283.09, 20.95 31.984.72, 21.9829.80 3.51 )'linestring withz-coordinatesST_LineString'linestring m(10.05 10.285.84, 20.95 31.98 9.01, 21.98linestring withmeasures29.80 12.84 )'ST_LineString 'linestring zm(10.05 10.283.09 5.84, 20.95 31.984.729.01, 21.98 29.80 3.5112.84)'linestring withz-coordinates andmeasuresST_Polygon 'polygonempty' emptypolygonST_Polygon 'polygonzempty'empty polygon with z-coordinatesST_Polygon 'polygonmempty'empty polygon withmeasuresST_Polygon 'polygonzmempty'empty polygon with z-coordinates andmeasuresST_Polygon 'polygon ((10 10, 10 20, 2020, 20 15, 10 10))'polygonST_Polygon 'polygon z((10 10 3, 10 20 3, 20 20 3, 20 15 4, 10 10 3))'ST_Polygon 'polygon m((10 10 8, 10 20 9, 20 20 9, 20 15 9, 10 10 8 ))'ST_Polygon 'polygon zm((10 10 3 8, 10 203 9, 20 20 3 9, 20 154 9, 1010 3 8 ))'polygon withz-coordinates andmeasuresST_MultiPoint 'multipointempty' emptymultipointST_MultiPoint 'multipointzempty'empty multipoint with z-coordinatesST_MultiPoint 'multipointmempty'empty multipoint with measuresST_MultiPoint 'multipoint zm empty'empty multipoint with z-coordinates and measuresST_MultiPoint 'multipoint (10 10, 20 20)'pointsST_MultiPoint 'multipoint z(10 10 2, 20 203)'multipoint withz-coordinatesST_MultiPoint 'multipoint m(10 10 4, 20 205)'multipoint withmeasuresST_MultiPoint 'multipoint zm(10 10 2 4, 2020 3 5)'multipoint withz-coordinates andmeasuresST_MultiLineStringST_MultiLineString'ST_MultiLineString'ST_MultiLineString'wi coordinatesand measuresST_MultiLineString1020.95 20.89 ),( 20.9520.89, 31.92 21.45))'multilinestringST_MultiLineString4.5),( 20.95 20.89 4.5, 31.9221.45 3.6))'multilinestring with z-coordinatesST_MultiLineString 1028 8.4, 20.95 20.89 9.5),(20.95 20.89 9.5, 31.92 21.458.6))'multilinestringwith measuresST_MultiLineString '1tesand measures9.5, 31.92 21.45 3.6 8.6))'ST_MultiPolygon 'multipolygonempty' emptymultipolygonST_MultiPolygon 'multipolygon z empty'empty multipolygon with z-coordinatesST_MultiPolygon 'multipolygon m empty'empty multipolygon with measuresST_MultiPolygon 'multipolygonzmempty' emptyST_MultiPolygon'multipolygon (((10 10, 1020, 20 20, 20 15 , 10 10), (5040, 50 50, 60 50, 60 40, 5040)))'multipolygonST_MultiPolygon 'multipolygon z(((10 10 7, 1020 8, 20 20 7, 20 15 5, 10 107), (50 40 6, 50 50 6, 60 505, 60 40 6, 50 40 6)))'multipolygon withz-coordinatesST_MultiPolygon 'multipolygon m(((10 10 2, 1020 3, 20 20 4, 20 15 5, 10 102), (50 40 7, 50 50 3, 60 504, 60 40 5, 50 40 7)))'multipolygon withmeasuresST_MultiPolygon 'multipolygon zm(((10 10 7 2,1020 8 3, 20 20 7 4, 20 15 55, 10 10 7 2), (50 40 6 7, 5050 6 3, 60 50 5 4, 60 40 6 5,50 40 6 7)))'multipolygon withz-coordinates andmeasureswkbbyte : 1 byteuint32 : 32 bit unsigned integer (4 bytes) double : double precision number (8 bytes) Building Blocks : Point, LinearRingPoint {double x;double y;};LinearRing {uint32 numPoints;Point points[numPoints];}enum wkbGeometryType { wkbPoint = 1,wkbLineString = 2, wkbPolygon = 3, wkbMultiPoint = 4, wkbMultiLineString = 5, wkbMultiPolygon = 6, wkbGeometryCollection = 7 };enum wkbByteOrder {wkbXDR = 0, Big Endian wkbNDR = 1 Little Endian };WKBPoint {byte byteOrder;uint32 wkbType; 1 Point point;}WKBLineString {byte byteOrder;uint32 wkbType; 2uint32 numPoints;Point points[numPoints];}WKBPolygon {byte byteOrder;uint32 wkbType; 3uint32 numRings;LinearRing rings[numRings];}WKBMultiPoint {byte byteOrder;uint32 wkbType; 4uint32 num_wkbPoints;WKBPoint WKBPoints[num_wkbPoints];}WKBMultiLineString {byte byteOrder;uint32 wkbType; 5uint32 num_wkbLineStrings;WKBLineString WKBLineStrings[num_wkbLineStrings]; }wkbMultiPolygon {byte byteOrder;uint32 wkbType; 6uint32 num_wkbPolygons;WKBPolygon wkbPolygons[num_wkbPolygons];}WKBGeometry {union {WKBPoint point;WKBLineString linestring;WKBPolygon polygon;WKBGeometryCollection collection;WKBMultiPoint mpoint;WKBMultiLineString mlinestring;WKBMultiPolygon mpolygon;}};WKBGeometryCollection {byte byte_order;uint32 wkbType; 7uint32 num_wkbGeometries;WKBGeometry wkbGeometries[num_wkbGeometries]}point(1,1) WKB0101000000000000000000F03F000000000000F03FWKBPointByte order : 01WKB type : 01000000X : 000000000000F03FY : 000000000000F03Fbyte order little-endian (NDR) big-endian (XDR)WKB type wkbGeometryType . 1-7 Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon, and GeometryCollection.x,y double5SQLSDE SQL1ST_Containstruesde.st_contains (g1 sde.st_geometry, g2 sde.st_geometry)st_contains SQL functions reference ST_CrossestrueST_MultiPoint/ST_Polygon,ST_MultiPoint/ST_LineString,ST_Linestring/ST_LineString,ST_LineString/ST_Polygon, andST_LineString/ST_MultiPolygonsde.st_crosses (g1 sde.st_geometry, g2 sde.st_geometry)st_crosses SQL functions reference ST_Disjointtruesde.st_disjoint (g1 sde.st_geometry, g2 sde.st_geometry)st_disjoint SQL functions reference ST_Equalstruesde.st_equals (g1 sde.st_geometry, g2 sde.st_geometry)st_equals SQL functions referenceST_Intersectstrue st_disjointsde.st_intersects (g1 sde.st_geometry, g2 sde.st_geometry)st_intersects SQL functions reference ST_Overlapstruesde.st_overlaps (g1 sde.st_geometry, g2 sde.st_geometry)st_overlaps SQL functions referenceST_Touches truesde.st_touches (g1 sde.st_geometry, g2 sde.st_geometry)st_touches SQL functions referenceST_Withintrue ST_Containssde.st_within (g1 sde.st_geometry, g2 sde.st_geometry)st_within SQL functions referenceSQL SQL WHERE2ST_Buffersde.st_buffer (g1 sde.st_geometry, distance double_precision)st_buffer SQL functions referenceConvexHullConvexHull nullsde.st_convexhull (g1 sde.st_geometry)st_convexhull SQL functions referenceST_DifferenceDifferencesde.st_difference (g1 sde.st_geometry, g2 sde.st_geometry)st_difference SQL functions referenceST_Intersectionsde.st_intersection (g1 sde.st_geometry, g2 sde.st_geometry)st_intersection SQL functions reference ST_SymmetricDiffsde.st_symmetricdiff (g1 sde.st_geometry, g2 sde.st_geometry)st_symmetricdiff SQL functions reference ST_Unionsde.st_union (g1 sde.st_geometry, g2 sde.st_geometry)st_union SQL functions reference ST_Distancesde.st_distance (g1 sde.st_geometry, g2 sde.st_geometry)st_distance SQL functions referenceST_Aggr_ConvexHullmultipolygon multipolygon ST_Aggr_IntersectionST_Aggr_UnionST_DimensionST_CoordDimzST_Is3DST_ZST_MaxZST_MinZST_IsMeasuredST_MST_GeometryTypeST_EntityST_PointST_XST_YST_ZST_MST_LengthST_AreaST_LineStringST_StartPoint—Returns the first point of the specified ST_LineString ST_EndPoint—Returns the last point of an ST_LineStringST_PointN—Takes an ST_LineString and an index to nth point and returns that pointST_Length—Returns the length of an ST_LineString as a double-precision numberST_NumPoints—Evaluates an ST_LineString and returns the number of points in its sequenceas an integerST_IsRing—A predicate function that returns 1 (TRUE) if the specified ST_LineString is aring and 0 (FALSE) otherwiseST_IsClosed—A predicate function that returns 1 (TRUE) if the specified ST_LineString isclosed and 0 (FALSE) if it is notST_MultiLineStringST_Length —returns the cumulative length of all of its ST_LineString elements as a double-precision number.ST_IsClosed—returns 1 (TRUE) if the specified ST_MultiLineString is closed and 0 (FALSE)if it is not closed.ST_PolygonST_Area—Returns the area of an ST_Polygon as a double-precision number ST_Centroid—Returns an ST_Point that represents the center of theST_Polygon's envelopeST_ExteriorRing—Returns the exterior ring of an ST_Polygon as anST_LineStringST_InteriorRingN—Evaluates an ST_Polygon and an index and returns the nth interior ring asan ST_LineStringST_NumInteriorRing—Returns the number of interior rings that anST_Polygon containsST_PointOnSurface—Returns an ST_Point that is guaranteed to be on the surface of thespecified ST_Polygon10 ST_MultiPolygonST_Area —returns a double-precision number that represents the cumulative ST_Area of anST_MultiPolygon's ST_Polygon elements.ST_Centroid — an ST_Point that is the center of an ST_MultiPolygon's envelope.ST_PointOnSurface —returns an ST_Point that is guaranteed to be normal to the surface ofone of its ST_Polygon elements.11ST_NumGeometries— returns a count of the individual elements in a collection ofgeometries.ST_GeometryN — you can determine which geometry in the multipart geometry exists inposition N; N being a number you provide with the funciton12ST_SRIDST_EqualSRS13ST_BoundaryST_IsSimpleST_IsClosedST_IsRingST_IsEmptyST_Envelope。

ArcGIS平台中PostgreSQL数据连接配置总结

ArcGIS平台中PostgreSQL数据连接配置总结通常⽤户在使⽤要素服务时,要求数据必须是存放在空间数据库中的。

同时,需要将数据库注册到ArcGIS for Server,这样在发布服务时就不需要进⾏数据拷贝,从⽽可以节省磁盘空间及服务发布时间。

以下就ArcGIS平台的Desktop和Server产品中如何使⽤PostgreSQL数据库进⾏总结,包括Linux版的ArcGIS for Server和PostgreSQL以及Windows版的ArcGIS for Server和PostgreSQL。

1 前提条件1.1 ArcGIS平台软件⽀持操作系统要求在ArcGIS10.1以后版本,ArcGIS for Server产品的操作系统要求必须是64位。

不管是Windows还是Linux,这⼀点都需要注意。

建议⼤家安装软件之前⼀定核查当前操作系统是否满⾜当前版本软件的安装要求。

如ArcGIS for Server10.2安装系统要求列表:1.2 ArcGIS平台⽀持数据库系统版本要求PostgreSQL 9.0.5(64 位)、PostgreSQL 9.1.3(64 位)、PostgreSQL 9.2.2(64 位)1.3 软件安装和数据库连接配置的⽂件权限在进⾏软件安装或者数据库连接配置时,通常需要对相关⽂件或者⽬录有相应的操作权限,尤其是Linux环境。

在PostgreSQL软件和ArcGIS for Server软件进⾏安装时都要有安装⽬录及其⼦⽬录的读写权限。

⼀般通过Chmod –R 777 /home/arcgis/ArcGISServer来设置即可。

在软件安装或者配置出错时,请检查相关权限问题。

1.4 ArcGIS平台连接数据库软件的常识⼀般来说,数据库软件分为服务器端和客户端。

对于ArcGIS的⼯程师来说,配置数据库连接其实就是要配置不同操作系统环境不同数据库平台的客户端连接信息。

对于ArcGIS for Desktop的数据库连接配置来说,需要在安装Desktop的这台机器上安装或者配置免安装的数据库客户端,同时需要在数据库软件安装的机器设置环境变量和数据库监听信息。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

访问存储在oracle中的ST_Geometry类型数据的SQL函数通过扩展oracle的external procedure agent 或者extproc来实现,因此,直接使用这些SQL函数需要配置oracle的listener,让oracle能够找到这些扩展库。

如果使用SDE读取这些数据,则不需要配置。

这些对ST_Geometry类型数据进行操作的函数是用PL/SQL实现的,在PL/SQL中其实是转调的使用c语言编写的外部扩展库(ST_SHAPELIB)。

如果在64位的系统上安装了32位的oralce10g,配置ST_Geometry后,在重启oracle服务的时候,我们发现oracle监听启动后会自动停止。

是什么原因呢?有什么办法可以解决这个问题呢?
在安装ArcSDE时,路径是放在X86目录下,问题就出于此,我们需要将安装目录下的相关东西拷到合适的位置,具体操作如下:
1.将C:\Program Files (x86)\ArcGIS\ArcSDE\ora10gexe\bin\st_shapelib.dll
拷贝至
C:\Program Files\ArcGIS\ArcSDE\ora10gexe\bin\st_shapelib.dll
2.修改库路径
create or replace library st_shapelib as 'C:\Program Files\ArcGIS\ArcSDE\ora10gexe\bin\st_shapelib.dll';
3.查看库路径
select * from user_libraries;
------------------------------------------------------------------------
4.listener.ora
添加(ENVS="EXTPROC_DLLS=ANY")
--------------------------------------------------------------------------
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = d:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
(ENVS="EXTPROC_DLLS=ANY")
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = 1521))
)
)
-----------------------------------------------------------------------------
5.tnsnames.ora
添加(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = 1521))
------------------------------------------------------------------------------- EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = 1521))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
---------------------------------------------------------------------------------
6.listener.ora中的KEY值要和tnsnames.ora中的KEY一致
7.
lsnrctl stop
lsnrctl start。

相关文档
最新文档