STGeometry教程

合集下载

ansoft操作步骤

ansoft操作步骤

a n s o f t操作步骤(共23页) -本页仅作为预览文档封面,使用时请删除本页-1、创建二维电磁设计模型Utility Menu-project-insert Maxwell 2D design2、选择模型设计坐标系以及电磁分析求解器Utility Menu-Maxwell 2D design-Solution type→Cartesian xy (笛卡儿坐标)-Transient(瞬态)(1)电磁场的geometry [dʒi'ɔmitri] mode 几何模型有:平面xy坐标系和轴对称坐标系(2_1)磁场Magnetic分析类型有:Magnetostatic [mæɡ,ni:təu'stætik] 静磁的Eddy current 涡流Transient ['trænziənt ] 瞬态场(2_2)电场Electric分析类型有:electrostatic [i,lektrə'stætik] 静电AC conduction [kən'dʌkʃən]传导DC conduction3、建模建模命令:Utility Menu-Draw-相关指令(1)初级铁心绘制矩形(初级铁轭:0,0—@316,50)绘制矩形(齿槽:,0—@12,35)-复制齿槽(edit-duplicate-along line-选择基点dx=,dy=0,total num=15)Boolean-substract运算减去中间槽部定义初级名称为CORE、材料(steel-1008)、颜色等属性。

(2)线圈绘制矩形(线圈:,1—@10,16)→纵向复制(dx=0,dy=17;total num=2)选择槽1内的两个线圈横向复制(dx=,dy=0,total num=15)定义线圈材料(copper)、颜色等属性/注意:可以先确定线圈的属性在进行复制等命令,以免重复定义/(3)次级铝板绘制矩形(铝板:-50,-3—@150,-3)定义次级铝板(aluminum)、颜色等属性。

OGRE StaticGeometry 教程

OGRE  StaticGeometry 教程

中级教程 5From Ogre Wiki中级教程5: StaticGeometry内容[hide]∙ 1 介绍∙ 2 必要条件∙ 3 创建场景o 3.1 创建Mesho 3.2 添加静态几何体[edit]介绍很多情况,你需要在场景中添加物体,但是却根本不需要移动它们。

比如,除非你加入了物理因素,一块石头或者一棵树将永远不会被移动。

Ogre为这种情况提供了StaticGeometry类,它允许你批渲染很多物体。

这个通常要比手动在SceneNodes添加要快多了。

在这个教程里我们要涵盖StaticGeometry的基本使用方法,另外还会再提及ManualObject 的使用。

请在前一个教程中获取ManualObject的使用方法。

在这个教程中,我们将手动创建一个草地mesh,然后在我们的场景中的StaticGeometry 实例中添加许多这样的草地。

本教程的代码在这里下载。

必要条件创建一个cpp 文件,添加下面代码:#include "ExampleApplication.h"class TutorialApplication : public ExampleApplication{protected:public:TutorialApplication(){}~TutorialApplication(){}protected:MeshPtr mGrassMesh;void createGrassMesh(){}void createScene(void){createGrassMesh();mSceneMgr->setAmbientLight(ColourValue(1, 1, 1));mCamera->setPosition(150, 50, 150);mCamera->lookAt(0, 0, 0);Entity *robot = mSceneMgr->createEntity("robot", "robot.mesh");mSceneMgr->getRootSceneNode()->createChildSceneNode()->attachObject(robot);Plane plane;plane.normal = Vector3::UNIT_Y;plane.d = 0;MeshManager::getSingleton().createPlane("floor",ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME, plane,450,450,10,10,true,1,50,50,Vector3::UNIT_Z);Entity* pPlaneEnt = mSceneMgr->createEntity("plane", "floor");pPlaneEnt->setMaterialName("Examples/GrassFloor");pPlaneEnt->setCastShadows(false);mSceneMgr->getRootSceneNode()->createChildSceneNode()->attachObject(pPlaneEnt);}};#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32#define WIN32_LEAN_AND_MEAN#include "windows.h"INT WINAPI WinMain(HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT)#elseint main(int argc, char **argv)#endif{// Create application objectTutorialApplication app;try {app.go();} catch(Exception& e) {#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32MessageBoxA(NULL, e.getFullDescription().c_str(), "An exception has occurred!", MB_OK | MB_ICONERROR | MB_TASKMODAL);#elsefprintf(stderr, "An exception has occurred: %s\n",e.getFullDescription().c_str());#endif}return 0;}在继续教程之前,确信你的代码可以编译。

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 三角形网格方法这个方法将点连接成一系列三角形,将其作为面形成。

PostGIS操作geometry方法

PostGIS操作geometry方法

PostGIS操作geometry⽅法WKT定义⼏何对象格式:POINT(0 0) ——点LINESTRING(0 0,1 1,1 2) ——线POLYGON((0 0,4 0,4 4,0 4,0 0),(1 1, 2 1, 2 2, 1 2,1 1)) ——⾯MULTIPOINT(0 0,1 2) ——多点MULTILINESTRING((0 0,1 1,1 2),(2 3,3 2,5 4)) ——多线MULTIPOLYGON(((0 0,4 0,4 4,0 4,0 0),(1 1,2 1,2 2,1 2,1 1)), ((-1 -1,-1 -2,-2 -2,-2 -1,-1 -1))) ——多⾯GEOMETRYCOLLECTION(POINT(2 3),LINESTRING((2 3,3 4))) ——⼏何集合常⽤函数:wkt转geometry st_geomfromtext(wkt,wkid)geometry转wkt st_astext(geom)获取点对象x、y坐标值 st_x(geom)、st_y(geom)获取线/⾯对象四⾄ st_xmin(geom)、st_ymin(geom)、st_xmax(geom)、st_ymax(geom)计算两点之间距离 st_distance(geom,geom) / st_distance(wkt,wkt)计算线的长度 st_length(geom) / st_length(wkt)计算⾯积 st_area(geom) / st_area(wkt)缓冲区计算 st_buffer(geom,distance) / st_buffer(wkt,distance)管理函数:添加⼏何字段 AddGeometryColumn(, , , , , )删除⼏何字段 DropGeometryColumn(, , )检查数据库⼏何字段并在geometry_columns中归档 Probe_Geometry_Columns()给⼏何对象设置空间参考(在通过⼀个范围做空间查询时常⽤) ST_SetSRID(geometry, integer)⼏何对象关系函数:获取两个⼏何对象间的距离 ST_Distance(geometry, geometry)如果两个⼏何对象间距离在给定值范围内,则返回TRUE ST_DWithin(geometry, geometry, float)判断两个⼏何对象是否相等(⽐如LINESTRING(0 0, 2 2)和LINESTRING(0 0, 1 1, 2 2)是相同的⼏何对象) ST_Equals(geometry, geometry)判断两个⼏何对象是否分离 ST_Disjoint(geometry, geometry)判断两个⼏何对象是否相交 ST_Intersects(geometry, geometry)判断两个⼏何对象的边缘是否接触 ST_Touches(geometry, geometry)判断两个⼏何对象是否互相穿过 ST_Crosses(geometry, geometry)判断A是否被B包含 ST_Within(geometry A, geometry B)判断两个⼏何对象是否是重叠 ST_Overlaps(geometry, geometry)判断A是否包含B ST_Contains(geometry A, geometry B)判断A是否覆盖 B ST_Covers(geometry A, geometry B)判断A是否被B所覆盖 ST_CoveredBy(geometry A, geometry B)通过DE-9IM 矩阵判断两个⼏何对象的关系是否成⽴ ST_Relate(geometry, geometry, intersectionPatternMatrix)获得两个⼏何对象的关系(DE-9IM矩阵) ST_Relate(geometry, geometry)⼏何对象处理函数:获取⼏何对象的中⼼ ST_Centroid(geometry)⾯积量测 ST_Area(geometry)长度量测 ST_Length(geometry)返回曲⾯上的⼀个点 ST_PointOnSurface(geometry)获取边界 ST_Boundary(geometry)获取缓冲后的⼏何对象 ST_Buffer(geometry, double, [integer])获取多⼏何对象的外接对象 ST_ConvexHull(geometry)获取两个⼏何对象相交的部分 ST_Intersection(geometry, geometry)将经度⼩于0的值加360使所有经度值在0-360间 ST_Shift_Longitude(geometry)获取两个⼏何对象不相交的部分(A、B可互换) ST_SymDifference(geometry A, geometry B)从A去除和B相交的部分后返回 ST_Difference(geometry A, geometry B)返回两个⼏何对象的合并结果 ST_Union(geometry, geometry)返回⼀系列⼏何对象的合并结果 ST_Union(geometry set)⽤较少的内存和较长的时间完成合并操作,结果和ST_Union相同 ST_MemUnion(geometry set)⼏何对象存取函数:获取⼏何对象的WKT描述 ST_AsText(geometry)获取⼏何对象的WKB描述 ST_AsBinary(geometry)获取⼏何对象的空间参考ID ST_SRID(geometry)获取⼏何对象的维数 ST_Dimension(geometry)获取⼏何对象的边界范围 ST_Envelope(geometry)判断⼏何对象是否为空 ST_IsEmpty(geometry)判断⼏何对象是否不包含特殊点(⽐如⾃相交) ST_IsSimple(geometry)判断⼏何对象是否闭合 ST_IsClosed(geometry)判断曲线是否闭合并且不包含特殊点 ST_IsRing(geometry)获取多⼏何对象中的对象个数 ST_NumGeometries(geometry)获取多⼏何对象中第N个对象 ST_GeometryN(geometry,int)获取⼏何对象中的点个数 ST_NumPoints(geometry)获取⼏何对象的第N个点 ST_PointN(geometry,integer)获取多边形的外边缘 ST_ExteriorRing(geometry)获取多边形内边界个数 ST_NumInteriorRings(geometry)同上 ST_NumInteriorRing(geometry)获取多边形的第N个内边界 ST_InteriorRingN(geometry,integer)获取线的终点 ST_EndPoint(geometry)获取线的起始点 ST_StartPoint(geometry)获取⼏何对象的类型 GeometryType(geometry)类似上,但是不检查M值,即POINTM对象会被判断为point ST_GeometryType(geometry)获取点的X坐标 ST_X(geometry)获取点的Y坐标 ST_Y(geometry)获取点的Z坐标 ST_Z(geometry)获取点的M值 ST_M(geometry)⼏何对象构造函数:参考语义:Text:WKTWKB:WKBGeom:GeometryM:MultiBd:BuildAreaColl:Collection ST_GeomFromText(text,[])ST_PointFromText(text,[])ST_LineFromText(text,[])ST_LinestringFromText(text,[])ST_PolyFromText(text,[])ST_PolygonFromText(text,[])ST_MPointFromText(text,[])ST_MLineFromText(text,[])ST_MPolyFromText(text,[])ST_GeomCollFromText(text,[])ST_GeomFromWKB(bytea,[])ST_GeometryFromWKB(bytea,[])ST_PointFromWKB(bytea,[])ST_LineFromWKB(bytea,[])ST_LinestringFromWKB(bytea,[])ST_PolyFromWKB(bytea,[])ST_PolygonFromWKB(bytea,[])ST_MPointFromWKB(bytea,[])ST_MLineFromWKB(bytea,[])ST_MPolyFromWKB(bytea,[])ST_GeomCollFromWKB(bytea,[])ST_BdPolyFromText(text WKT, integer SRID)ST_BdMPolyFromText(text WKT, integer SRID)。

创建空间数据存储类型为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类型。

数据库st函数 空间对象线路自定义切割方法

数据库st函数 空间对象线路自定义切割方法

数据库中的st函数以及空间对象线路自定义切割方法是目前在地理信息系统和数据处理领域中比较热门的话题。

作为一种高级的数据库功能,st函数可以帮助用户处理和分析地理空间数据,而空间对象线路自定义切割方法则可以帮助用户更灵活地处理线状地理空间对象。

在本篇文章中,我将从简到繁地介绍这两个主题,让你能够更深入地理解它们的概念、用法和意义。

一、st函数1. st函数是什么?st函数是一种用于处理空间数据的数据库函数,它能够对空间对象进行空间分析和空间操作,例如空间查询、几何运算、距离计算等。

2. st函数的使用场景在地理信息系统中,st函数被广泛应用于地图制图、地理空间分析、位置导航等领域,它能够帮助用户快速准确地处理各种空间数据,提高数据的可视化和分析效率。

3. st函数的优势和局限尽管st函数在空间数据处理方面有着诸多优势,但它也存在一些局限性,如不同数据库系统之间的兼容性、性能表现等方面需要用户注意。

二、空间对象线路自定义切割方法1. 空间对象线路自定义切割方法的定义空间对象线路自定义切割方法是一种用户根据实际需求,自定义划分线状地理空间对象的方法,以便更灵活地处理和展现地理空间信息。

2. 切割方法的实现步骤用户可以通过指定线路、节点等地理元素,进行自定义的切割操作,以满足特定的地理信息处理需求。

3. 切割方法的应用场景空间对象线路自定义切割方法适用于道路交通分析、地块划分、环境规划等领域,它能够为用户提供更个性化、精准的地理数据处理解决方案。

总结与展望通过对st函数和空间对象线路自定义切割方法的深入介绍,我们可以看到它们的重要性和应用前景。

随着地理信息技术的不断发展,对空间数据处理的需求也越来越复杂和多样化,因此掌握这两个主题的知识将对我们未来的工作和研究具有重要意义。

个人观点及理解作为地理信息技术的从业者,我深知st函数和空间对象线路自定义切割方法在实际工作中的重要性。

它们能够帮助我们更快速、更精准地处理和分析地理空间数据,为地理信息技术的应用提供了强大的支持。

ST_Geometry教程

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。

geometry宏包使用说明

geometry宏包使用说明

geometry宏包使用说明Hideo UmekiReleased by ChinaT E X Documentation Workshop.April30,2011Maker:Ruifeng DuTranslator:Ruifeng Dugeometry宏包使用说明2011年3月21日摘要这个宏包提供了一个能够方便灵活地管理页面规格的接口。

用户能够利用直观的参数来改变页面的布局。

比如说:如果你想让文章边缘和纸张边缘的距离为2厘米,你只需要输入如下命令:\usepackage[margin=2cm]{geometry}。

页面的布局可以利用\newgeometry命令在文章的任意位置来修改。

1第五版前言•能够在文章中改变页面样式这里要利用两个新的命令:\newgeometry{···}和\restoregeometry。

这两个新的命令使得用户能够在文章中改变页面的布局。

\newgeometry这个命令使得在之前声明的所有关于页面布局的选项无效化,并将忽略一切与纸张大小相关的参数,这些参数包括:landscape,portrait和纸张大小的参数(比如说papersize,paper=a4paper等)。

在其他的方面\newgeometry和\geometry命令相同。

•加入了一些新的表示布局区域的参数一些新的参数在计算页面区域和布局的时候可以用到,这些参数有:layout,layoutsize,layoutwidth,layoutheight等等。

这些参数可以帮助我们在不同的纸张大小下打印特定的页面布局。

举例来说,在a4paper和layout=a5paper这两个命令的作用下,geometry宏包会在’A4’的纸张上使用’A5’的布局来计算边界。

•一个新的驱动选项——xetex在第五版中新加入了一个驱动选项xetex。

程序自动检测驱动系统已经做了完善,以避免’undefined control sequences’这种错误。

st_geomfromtext函数

st_geomfromtext函数

st_geomfromtext函数ST_GeomFromText函数是PostGIS空间数据库中的一种函数,它是将文本表达式转换为几何图形的函数。

本文将从以下方面介绍ST_GeomFromText函数:函数的语法、参数表达式、函数的使用方式以及函数的案例分析。

1. 函数的语法:ST_GeomFromText函数的语法如下:ST_GeomFromText(text, SRID)其中text是一个表示几何图形的文本表达式,SRID 是空间参考标识符。

text和SRID是函数的两个参数,都是必须的。

2. 参数表达式:ST_GeomFromText函数可以接受多种几何类型的文本表达式,如点、线、多边形等等。

每种几何类型的文本表达式都有特定的语法格式。

点的文本表达式语法格式如下:POINT(x y)其中x和y是点的坐标。

线的文本表达式语法格式如下:LINESTRING(x1 y1, x2 y2, ... , xn yn)其中x1 y1、x2 y2、xn yn表示线的各个点的坐标。

多边形的文本表达式语法格式如下:POLYGON((x1 y1, x2 y2, ... , xn yn, x1 y1), (x1 y1, x2 y2, ... , xn yn, x1 y1), ...)其中括号中的每个坐标串表示一个多边形的边界。

第一个坐标串和最后一个坐标串是相同的,因为多边形是封闭的。

3. 函数的使用方式:ST_GeomFromText函数可以用于创建几何类型的列、计算几何图形之间的距离、空间查询等等。

下面是ST_GeomFromText函数的一些使用方式。

创建几何类型的列:可以使用ST_GeomFromText函数在表中创建几何类型的列。

例如,创建一个points表,包含点的几何类型列和名称列。

CREATE TABLE points (the_geom geometry(Point, 4326), name varchar(20));INSERT INTO points (the_geom, name) VALUES (ST_GeomFromText('POINT(-71.102343 42.346723)', 4326), 'A'), (ST_GeomFromText('POINT(-71.099832 42.345899)', 4326), 'B');计算几何图形之间的距离:可以使用ST_GeomFromText函数来计算几何图形之间的距离。

mysql geometry 方法

mysql geometry 方法

MySQL中的Geometry方法用于处理和操作空间数据,包括点、线、多边形等几何对象。

下面是一些常用的Geometry方法:
1.ST_GeomFromText(wkt:将Well-Known Text(WKT)格式的字符串转换为Geometry对象。

2.ST_AsText(geom):将Geometry对象转换为Well-Known Text(WKT)格式的字符串。

3.ST_Point(x, y):创建一个二维点对象。

4.ST_LineString(p1,p2,...):创建一个线对象,由一系列点构成。

5.ST_Polygon(outer_ring, inner_ring1, inner_ring2,...):创建一个多边形对象,由外环和内环(可选)组成。

6.ST_Buffer(geom, distance):根据指定距离创建一个缓冲区。

7.ST_Intersection(geom1, geom2):计算两个几何对象的交集。

8.ST_Union(geom1, geom2):计算两个几何对象的并集。

9.ST_Distance(geom1, geom2):计算两个几何对象之间的最短距离。

10.ST_Area(geom):计算几何对象的面积。

这只是一小部分常用的Geometry方法,还有很多其他方法可用于更复杂的空间操作。

您可以参考MySQL官方文档或其他资源以获取更详细的信息和示例。

1。

OracleSpatial中SDOGeometry(WKT)详细说明

OracleSpatial中SDOGeometry(WKT)详细说明

Oracle Spatial中SDO_Geometry详细说明在ArcGIS中通过SDE存储空间数据到Oracle中有多种存储方式,分别有:二进制Long Raw 、ESRI的ST_Geometry以及基于Oracle Spatial的SDO_Geometry等等。

<UpDooGIS原创>关于这几种方式的各自的优缺点不是主要的探讨的方向,这些我们可以通过ArcGIS中的ArcGIS Server Help得到相关的帮助。

这里主要是学习关于基于Oracle Spatial的存储方式,通过这种存储方式几何列Shape的字段类型为mdsys.sde_geometry类型。

Oracle Spatial定义的SDO_GEOMETRY类型为:CREATE TYPE sdo_geometry AS OBJECT (SDO_GTYPE NUMBER, //前面字符串为字段名;后面字符串为字段类型SDO_SRID NUMBER,SDO_POINT SDO_POINT_TYPE,SDO_ELEM_INFO SDO_ELEM_INFO_ARRAY,SDO_ORDINATES SDO_ORDINATE_ARRAY);其中sdo_geometry AS OBJECT ,标识该类型为对象类型。

开始我们可以想想它为ArcObjects 中的Geometry对象(本来要素的shape字段中的对象就是Geometry),而不要理解他是怎么样组织的。

至于该类型中的SDO_POINT_TYPE、SDO_ELEM_INFO_ARRAY、SDO_ORDINATE_ARRAY 也是Oracle Spatial自定义的类型和 sdo_geometry 是一样的。

现在对sdo_geometry 类型中的各个参数简单的介绍:1、SDO_GTYPE :表示要存储的几何类型,如点线面。

它是通过 NUMBER类型来表达的;2、SDO_SRID :几何的空间参考坐标系,类型也为 NUMBER;3、SDO_POINT :如果几何类型点类型的话,就是存储点坐标,否则为空。

(完整版)ST语言编程手册

(完整版)ST语言编程手册

ST语言编程手册目录1. ST基本原理 (6)1.1语言描述 (6)1.1.1语法图 (6)1.1.2语法图中的块 (6)1.1.3规则的意义(语义) (7)1.2基本元素的语言 (7)1.2.1 ST字符组 (7)1.2.2 ST中的标识符 (8)1.2.2.1标识符的规则 (8)1.2.2.2标识符举例 (9)1.2.3预留标识符 (9)1.2.3.1保护标识符 (10)1.2.4数字和布尔值 (16)1.2.4.1整数 (16)1.2.4.2浮点数 (17)1.2.4.3指数 (17)1.2.4.4布尔值 (17)1.2.4.5数字的数据类型 (18)1.2.5字符串 (18)1.3 ST源文件的结构 (19)1.3.1语句 (20)1.3.2注释 (21)1.4数据类型 (22)1.4.1基本数据类型 (22)1.4.1.1基本数据类型 (22)1.4.1.2基础数据类型的值的范围限制 (24)1.4.1.3普通的数据类型 (25)1.4.1.4基础系统数据类型 (26)1.4.2用户定义的数据类型 (26)1.4.2.1用户定义的数据类型 (26)1.4.2.2用户定义的数据类型的语法(类型声明) (27)1.4.2.3基础派生或派生的数据类型 (28)1.4.2.4 派生数据类型ARRAY (29)1.4.2.5 派生的数据类型—枚举 (30)1.4.2.6派生的数据类型STRUCT(结构) (31)1.4.3技术目标数据类型 (33)1.4.3.1技术目标数据类型的描述 (33)1.4.3.2轴属性的继承 (34)1.4.3.3技术目标数据类型的例子 (35)1.4.4系统数据类型 (36)1.5变量声明 (36)1.5.1变量声明的语法 (36)1.5.2所有变量声明的概述 (38)1.5.3变量或数据类型的初始值 (39)1.6赋值和表达式 (42)1.6.1赋值 (43)1.6.1.1赋值的语法图 (43)1.6.1.2基础数据类型的变量的数值指定 (44)1.6.1.3串基础数据类型的变量数值指定 (44)1.6.1.4位数据类型的变量的数值指定 (45)1.6.1.5派生的枚举数据类型的变量的数值指定 (47)1.6.1.6派生的阵列数据类型的变量的数值指定 (47)1.6.1.7派生的STRUCT数据类型的变量数值指定 (47)1.6.2表达式 (48)1.6.2.1表达式结果 (48)1.6.2.2表达式的解释顺序 (49)1.6.3运算对象 (49)1.6.4算术表达式 (50)1.6.4.1算术表达式的例子 (53)1.6.5关系表达式 (53)1.6.6逻辑表达式和位串行表达式 (55)1.6.7运算符的优先级 (56)1.7控制语句 (57)1.7.1 IF语句 (57)1.7.2 CASE语句 (59)1.7.3 FOR语句 (60)1.7.3.1处理FOR语句 (61)1.7.3.2 FOR语句规则 (61)1.7.3.3FOR语句例子 (62)1.7.4WHILE语句 (62)1.7.5REPEAT语句 (63)1.7.6EXIT语句 (63)1.7.7RETURN语句 (64)1.7.8WAIFORCONDITION语句 (64)1.7.9GOTO语句 (66)1.8数据类型转换 (66)1.8.1基础数据类型转换 (66)1.8.1.1隐式数据类型转换 (67)1.8.1.2显式数据类型转换 (69)1.8.2补充的转换 (70)2.功能,功能块和程序 (70)2.1创建和调用功能和功能块 (71)2.1.1定义功能 (71)2.1.2定义功能块 (72)2.1.3FC和FB的声明部分 (72)2.1.4FB和FC部分的语句 (74)2.1.5功能和功能块的调用 (75)2.1.5.1参数转移的原则 (75)2.1.5.2转移给输入参数的参数 (76)2.1.5.3参数转移给in/out参数 (77)2.1.5.4参数转移到输出参数(仅对FB) (78)2.1.5.5参数访问时间 (78)2.1.5.6调用一个功能 (78)2.1.5.7调用功能块(实例调用) (79)2.1.5.8 在FB外访问FB输出参数 (80)2.1.5.9在FB外访问FB输入参数 (81)2.1.5.10FB调用时的错误源 (81)2.2功能和功能块的比较 (82)2.2.1例子说明 (82)2.2.2带注释的源文件 (83)2.3程序 (84)2.4表达式 (86)3.在SIMOTION中ST的集成 (88)3.1源文件部分的使用 (88)3.1.1源文件部分的使用 (88)3.1.1.1interface部分 (88)3.1.1.2implementation部分 (90)3.1.1.3程序组织单元(POU) (90)3.1.1.4功能(FC) (91)3.1.1.5功能块(FB) (91)3.1.1.6程序 (92)3.1.1.7表达式 (93)3.1.1.8声明部分 (93)3.1.1.9语句部分 (94)3.1.1.10数据类型定义 (94)3.1.1.11变量声明 (95)3.1.2在ST源文件之间的导入和导出 (97)3.1.2.1单元标识符 (97)3.1.2.2一个导出单元的interface部分 (98)3.1.2.3一个导出单元的例子 (98)3.1.2.4在一个导入单元的USES语句 (99)3.1.2.5一个导入单元的例子 (100)3.2在SIMOTION中的变量 (101)3.2.1变量模型 (101)3.2.1.1单元变量 (103)3.2.1.2不保留的单元变量 (104)3.2.1.3保持单元变量 (105)3.2.1.4本地变量(静态和临时变量) (106)3.2.1.5静态变量 (108)3.2.1.6临时变量 (109)3.2.2全局设备变量的使用 (110)3.2.3变量类型的存储范围 (111)3.2.3.1存储区域的例子,有效关于KernelV3.1 (112)3.2.3.2本地数据栈变量的存储要求(kernel V3.1或更高) (115)3.2.4变量初始化的时间 (117)3.2.4.1保留全局变量的初始化 (117)3.2.4.2不保留的全局变量的初始化 (118)3.2.4.3本地变量的初始化 (119)3.2.4.4静态编程变量的初始化 (120)3.2.4.5功能块实例的初始化 (121)3.2.4.6技术目标的系统变量的初始化 (121)3.2.4.7全局变量的版本ID和下载时的初始化 (122)3.2.5变量和HMI设备 (123)3.3访问输入和输出(过程图像,I/O变量) (125)3.3.1访问输入和输出的概述 (125)3.3.2直接访问和过程图像访问的重要特征 (126)3.3.3直接访问和循环任务的过程图像 (127)3.3.3.1 直接访问和循环任务的过程图像的I/O地址的规则 (128)3.3.3.2为直接访问和循环任务的过程图像创建一个I/O变量 (129)3.3.3.3输入I/O地址的语法图 (130)3.3.3.4可能的I/O变量的数据类型 (131)3.3.4背景任务的固定过程图像的访问 (131)3.3.4.1背景任务的固定过程图像的绝对访问(绝对PI访问) (132)3.3.4.2一个绝对过程图像访问的标识符语法 (133)3.3.4.3背景任务的固定过程图像的符号访问(符号PI访问) (134)3.3.4.4可能的符号PI访问的数据类型 (135)3.3.4.5符号PI访问的例子 (135)3.3.4.6为访问背景任务固定过程图像而创建一个I/O变量 (135)3.3.5访问I/O变量 (136)3.4使用库 (136)3.4.1编辑一个库 (137)3.4.2库的know-how保护 (138)3.4.3从库中使用数据类型,功能和功能块 (139)3.5相同的标识符和命名空间的使用 (140)3.5.1相同的标识符的使用 (140)3.5.2命名空间 (142)3.6参考数据 (145)3.6.1交叉对照表 (146)3.6.1.1创建一个交叉对照表单 (146)3.6.1.2交叉对照表的内容 (146)3.6.1.3交叉对照表的使用 (147)3.6.2程序结构 (147)3.6.2.1程序结构的内容 (148)3.6.3代码属性 (148)3.6.3.1代码属性内容 (149)3.7控制预处理器和pragma编辑 (149)3.7.1控制一个预处理器 (149)3.7.1.1预处理器语句 (150)3.7.1.2预处理器语句的例子 (153)3.7.2属性控制编辑器 (154)3.8跳转语句和标签 (156)4.错误源和程序调试 (157)4.1避免错误和有效编程的注释 (157)4.2程序调试 (157)4.2.1程序测试的模式 (157)4.2.1.1SIMOTION设备模式 (157)4.2.1.2life-sign监视的重要信息 (159)4.2.1.3life-sign监视参数 (160)4.2.2符号浏览器 (161)4.2.2.1符号浏览器的属性 (161)4.2.2.2使用符号浏览器 (161)4.2.3在watch表中监视变量 (163)4.2.3.1在watch表中的变量 (163)4.2.3.2使用watch表格 (163)4.2.4程序运行 (164)4.2.4.1程序运行:显示代码位置和调用路径 (164)4.2.4.2参数调用栈程序运行 (165)4.2.4.3程序运行工具栏 (165)4.2.5程序状态 (165)4.2.5.1程序状态的属性 (165)4.2.5.2使用状态程序 (166)4.2.5.3程序状态的调用路径 (168)4.2.5.4参数调用路径状态程序 (169)4.2.6断点 (169)4.2.6.1设置断点的普通步骤 (169)4.2.6.2设置debug模式 (170)4.2.6.3定义debug任务组 (171)4.2.6.4debug任务组参数 (172)4.2.6.5debug表格参数 (173)4.2.6.6设置断点 (173)4.2.6.7断点工具栏 (175)4.2.6.8定义一个单独断点的调用路径 (175)4.2.6.9断点调用路径/任务选择参数 (177)4.2.6.10定义所有断点的调用路径 (178)4.2.6.11每个POU所有断点的调用路径/任务选择参数 (179)4.2.6.12激活断点 (180)4.2.6.13显示调用栈 (181)4.2.6.14断点调用栈参数 (182)4.2.7追溯 (182)1. ST基本原理此章节描述了ST中的语言资源和使用方法。

ST_Geometry教程

ST_Geometry教程

ST_Geometry教程ArcGIS GeoDatabase ST_Geometry简介1使⽤ST_Geometry存储空间数据(oracle)1.1简介ArcSDE 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_Geometry类型创建列来存储诸如界址点,街道,地块等空间数据。

使⽤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",在9,2版本之前,可以不加SDE schema名称。

mybatis plus st_geometryfromtext 注解

mybatis plus st_geometryfromtext 注解

mybatis plus st_geometryfromtext 注解MyBatis-Plus是一款基于MyBatis的扩展库,主要用于简化MyBatis 的繁琐操作。

在MyBatis-Plus中,ST_GeometryFromText注解用于将几何图形数据类型(如POINT、LINESTRING、POLYGON等)从文本字符串转换为对应的Java对象。

以下是使用ST_GeometryFromText注解的基本步骤:1. 添加MyBatis-Plus依赖:在项目的pom.xml文件中添加MyBatis-Plus依赖:```xml<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.x.x</version></dependency>```2. 创建Java对象:创建一个对应于几何图形数据类型的Java类,例如Point、LineString、Polygon等。

在这些类中,使用ST_GeometryFromText注解标注对应的属性。

```javapublic class Point {@TableField(value = "point", fill = FieldFill.INSERT)@ST_GeometryFromText(geometryType = "POINT", sqlType = " geography")private String point;// 其他属性和getter、setter方法}public class LineString {@TableField(value = "linestring", fill = FieldFill.INSERT)@ST_GeometryFromText(geometryType = "LINESTRING", sqlType = "geography")private String linestring;// 其他属性和getter、setter方法public class Polygon {@TableField(value = "polygon", fill = FieldFill.INSERT)@ST_GeometryFromText(geometryType = "POLYGON", sqlType = "geography")private String polygon;// 其他属性和getter、setter方法}```3. 在Mapper接口中,使用`@Select`注解映射SQL查询:```javapublic interface MyMapper {@Select("SELECT * FROM my_table WHERE id = #{id}")@Results({@Result(column = "point", property = "point", one = @One(select = "com.example.mapper.PointMapper.findPointById")) @Result(column = "linestring", property = "linestring", one = @One(select ="com.example.mapper.LineStringMapper.findLineStringById"))@Result(column = "polygon", property = "polygon", one = @One(select = "com.example.mapper.PolygonMapper.findPolygonById"))})List<MyEntity> findById(@Param("id") Long id);}```4. 注入Mapper并调用查询方法:```java@Autowiredprivate MyMapper myMapper;public List<MyEntity> getEntitiesById(Long id) {return myMapper.findById(id);}```这样,当查询结果返回时,MyBatis-Plus会将几何图形数据类型从文本字符串转换为对应的Java对象。

SQL空间查询ST_Geometry配置

SQL空间查询ST_Geometry配置
) ) tnsnames.ora: EXTPROC_CONNECTION_DATA =
(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(Key = EXTPROC01)) ) (CONNECT_DATA = (SID = PLSExtProc01) (PRESENTATION= = RO) )
SQL 空间查询 ST_Geometry 配置
自从 ArcSDE 推出 ST_Geometry 存储类型后,我们就可以通过 SQL 语句方式
查询空间数据。使用 ST_Geometry 类型存储空间数据,具有以下优势: 1)通过
SQL 函数( ISO SQL/MM 标准)直接访问空间数据; 2)使用 SQL 语句存储、检
二、Linux/Unix 操作系统配置过程
listener.ora: LISTENER =
(DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.189.0.102)(PORT =
) 在配置过程时需要注意以下内容: 1、在配置了监听文件后,需要重新启动数据库的监听程序; 2、在定义监听文件中环境时(SID_LIST=>SID_DESC=>ENV),EXTPROC_DLLS 值为
ArcSDE 安装目录下的“st_shapelib”类库,还需要添加一个“SID_NAME” 值; 3、在上述两个监听文件中的“ADDRESS->IPC->KEY”的值必须是一样的; 4、在 listener 文件中的 SID_NAME 和在 tnsnames 文件中的 SID in CONNECT_DATA 名称必须是一样的。

三菱ST语言编程中常用的函数功能块使用方法

三菱ST语言编程中常用的函数功能块使用方法

三菱ST语言编程中常用的函数功能块使用方法大部分PLC都会内置很多基本的函数和功能块供编程人员调用,而且很多具有通用性,也就是在不同品牌的PLC中,这些函数和功能块的名称、用法和功能相同,记住这些函数和功能块的名称和使用方法,能让我们编程时更加便捷。

下面以三菱PLC的编辑软件GX Works3为例,展示这些函数、功能块的使用方法。

边缘检测与计时器1, R_TRIG/F_TRIG(上升/下降沿检测功能块)上升沿和下降沿应该是所有程序里最常用的FB(功能块)之一了,他的功能是检测一个bool变量变化的边缘,输出一个扫描周期,下面通过一个例子介绍一下常用的命名方法和编程格式:检测开始按钮X1的上升沿,置位Y0,检测停止按钮X2的下降沿,复位Y0。

第一步声明标签,我个人习惯将上升沿加前缀“rt”,下降沿加“ft”:声明标签第二步编程,FB的输入引脚赋值要在()内操作,而输出引脚可以当作变量直接使用,节省一个标签:编程格式增加变量前缀,无论在程序的什么地方使用,都能一眼看出变量的类型,方便阅读程序。

2,TON/TOF(延时启动/关闭功能块)延时功能块也是非常常用的FB,除了起到延时的作用,还可以用来过滤信号,起到筛选的作用,例如:使用对射光电传感器X0(阻挡时ON)检测皮带上产品缝隙,当传感器OFF时间超过100ms时报警Y0。

声明标签编程3,TP(脉冲定时器)脉冲定时器的功能是输出一个固定时长脉冲,典型的应用如报警灯的控制,举个例子:当变量bAlarm触发后,点亮报警灯Y0,要求每隔700ms亮一次,一次亮200ms,持续闪烁。

声明标签编程ton功能块的输入设置为自身输出的非,作用是每隔700ms生成一个单扫描周期的脉冲,tp功能块将脉冲的时长设定为200ms,并给到指示灯。

算术运算算数运算除了常用的'+','-','*','/'(加减乘除)还有“**”(幂运算)'<','=','>'(比较)等。

st_geomfromgeojson 的用法

st_geomfromgeojson 的用法

st_geomfromgeojson 的用法st_geomfromgeojson是PostGIS中的一个方法,用于将GeoJSON格式的几何数据转换为PostGIS支持的几何对象。

在本文中,我们将介绍st_geomfromgeojson的用法并提供相关示例。

首先,让我们了解一下GeoJSON是什么。

GeoJSON是一种用于表示地理空间数据的开放标准格式,基于JavaScript Object Notation(JSON)。

它可以用于描述点、线、面以及相关属性数据。

GeoJSON广泛应用于Web地图服务、GIS软件等领域。

st_geomfromgeojson方法接受一个GeoJSON字符串作为输入,并返回一个PostGIS几何对象。

下面是st_geomfromgeojson的语法:```ST_GeomFromGeoJSON(json text) -> geometry```其中,json参数是一个包含GeoJSON数据的字符串。

返回值是一个PostGIS几何对象,可以是点、线或面。

以下是一些使用st_geomfromgeojson方法的示例:1. 将一个点的GeoJSON转换为PostGIS几何对象:```sqlSELECTST_AsText(ST_GeomFromGeoJSON('{"type":"Point","coordinate s":[100, 0]}'));```这个例子中,通过使用st_geomfromgeojson方法,将一个点的GeoJSON转换为PostGIS的点几何对象。

结果是一个字符串,表示该点的WKT(Well-Known Text)表示。

2. 将一个线的GeoJSON转换为PostGIS几何对象:```sqlSELECTST_AsText(ST_GeomFromGeoJSON('{"type":"LineString","coor dinates":[[100,0],[101,1]]}'));```这个例子中,通过使用st_geomfromgeojson方法,将一个线的GeoJSON转换为PostGIS的线几何对象。

geometrydescriptor geometry 转换坐标系

geometrydescriptor geometry 转换坐标系

geometrydescriptor geometry 转换坐标系
要转换几何对象的坐标系,可以使用各种地理信息系统(GIS)软件或库来实现。

以下是一般步骤的概述:
1. 确定源坐标系和目标坐标系:首先,您需要知道源几何对象所使用的坐标系以及您希望将其转换到的目标坐标系。

这些坐标系通常由其EPSG代码(European Petroleum Survey Group)表示。

2. 使用适当的工具:根据您选择的GIS软件或库,可以使用相应的函数或方法来执行坐标系转换。

以下是一些常见的工具:
GDAL(Geospatial Data Abstraction Library):这是一个功能强大的开源GIS库,提供了许多用于几何对象转换的函数和工具。

Proj4:这是一个用于坐标系转换的开源库,广泛用于许多GIS软件中。

QGIS:这是一个流行的开源GIS软件,提供了用户友好的界面和功能来执行坐标系转换。

ArcGIS:这是一款商业化的GIS软件,也提供了丰富的功能来处理坐标系转换。

3. 执行坐标系转换:根据您选择的工具和库,您可以按照其提供的文档和示例来执行坐标系转换操作。

通常,您需要提供源几何对象的坐标系和目标坐标系的EPSG代码,并使用相应的函数或方法进行转换。

需要注意的是,几何对象的坐标系转换可能涉及投影转换、旋转、平移和缩放等操作,具体的步骤和方法取决于您的需求和所选择的工具。

因此,在实际操作中,
请参考所使用的GIS软件或库的文档和指南以获取详细的步骤和示例。

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

ArcGIS GeoDatabase ST_Geometry简介1使用ST_Geometry存储空间数据(oracle)1.1简介ArcSDE 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_Geometry类型创建列来存储诸如界址点,街道,地块等空间数据。

使用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",在9,2版本之前,可以不加SDE schema名称。

1.2存储结构ST_Geometry 存储空间数据的结构如下表:Name 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 存储过程获得。

NUMPTS为坐标点的个数Minx, miny, maxx, maxy :对应几何的外包络矩形Area:几何的面积Len :几何的周长SRID :空间参考系ID,对应ST_Spatial_References 表中的空间参考信息POINTS:坐标序列1.3操作函数下面是一些针对ST_Geometry进行操作的函数,输入为ST_Geometry类型数据,输出为Number型数据、ST_Area 返回几何的面积。

ST_Len 返回几何的周长。

ST_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_Geometry对象ST_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_Polygon的构造函数的定义是相同的,构造函数的名字就是类型名。

ST_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.5用户权限限制在oracle使用ST_Geometry ,用户必须有以下权限:CREATE TYPEUNLIMITED TABLESPACECREATE LIBRARYCREATE OPERATORCREATE INDEXTYPECREATE PUBLIC SYNONYMDROP PUBLIC SYNONYMThe CONNECT and RESOURCE roles include these privileges.2为使用ST_Geometry SQL函数配置oracle 的网络服务访问存储在oracle中的ST_Geometry类型数据的SQL函数通过扩展oracle的external procedure agent或者extproc来实现,因此,直接使用这些SQL函数需要配置oracle的listener,让oracle能够找到这些扩展库。

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

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

关于oracle的listener的详细配置方法请参考oracle的相关文档,下面主要介绍一下默认情况下如何配置(windows下面)。

1)找到oracle数据库的安装目录(服务器端),然后定位到oraclehome\NETWORK\ADMIN目录2)备份listener.ora文件,这点很重要,在对oracle的配置做任何更改的时候都要进行备份3)打开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_SHAPELIB的物理路径,可以根据安装情况自己修改。

4)保存listener.ora文件,重新启动监听程序。

附录:未修改前的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)))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_Geometry 的要素类创建空间数据存储类型为ST_Geometry的要素类有2种方法:1)使用SDE创建要素类从9.3 开始,默认创建的要素类都使用ST_Geometry存储空间数据,9.3 版本之前,可以通过配置dbtune参数来完成。

相关文档
最新文档