`
nlslzf
  • 浏览: 1045416 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

OpenGIS Geometry Object Model

阅读更多
http://www.3snews.net/html/60/3360-5667.html
学习资料: OpenGIS Simple Features Specification For SQL Revision 1.0 PDF.pdf




     基类Geometry拥有Point(点), Curve(曲线), Surface(面)和GeometryCollection(集合图元)。每一个几何对象都与一个空间参照系相互关联,几何对象所定义的坐标在空间参照系得到反映。

1 Geometry

      Geometry是OpenGIS几何模型层次关系的根类,Geometry是一个抽象(不能实例化)类。其子类实例化可得到空间参照系中的0,1,2维几何对象。
      在该层次关系中的所有可实例化类这样定义可以使在系统中是拓扑相关的(例如,所有几何对象定义都包括他们的边界)。

1.1Geometry的属性

Dimension–表示该几何对象的维,他必须小于等于坐标系的维;
CoordinateDimension –表示该几何对象坐标的维,他必须与空间参照系的维一样;

1.2 Geometry基本方法

Spatial ReferenceeSpatialReference()–返回该几何对象的空间参照系;
EnvelopeEnvelope()–该几何对象的最小外包矩形,返回一个class Envelope实例;
Well-known RepresentationExport() -输出该几何对象到一个DCP细节描述;
BooleanIsEmpty()–返回TRUE则该几何对象是空的几何元素;
BooleanIsSimple()–返回TRUE则该几何对象没有非规则点,如:自交叉/自相切;每个对实例化的几何对象描述将包括精确的坐标,该坐标可能会导致对象不是简单的几何元素。
Geometry Boundary() –返回几何的边界;
1.3        几何对象之间的空间关系检查方法

描述更多关于Geometry子类型的细节;
BooleanEqual(Geometry anotherGeometry) –检查对象是否与另外一个对象相等;
      BooleanDisjoint(Geometry anotherGeometry) –检查对象与另外一个对象是否是脱离的;
      BooleanIntersect(Geometry anotherGeometry) –检查对象与另外一个对象是否是相交的;
      BooleanTouch(Geometry anotherGeometry) –检查对象与另外一个对象是否是相切的;
      BooleanCross(Geometry anotherGeometry) –检查对象与另外一个对象是否是交叉的;
      BooleanWithin(Geometry anotherGeometry) –检查对象是否是在另外一个对象之内;
      BooleanContains(Geometry anotherGeometry) –检查对象是否是包含另外一个对象;
      BooleanOverlap(Geometry anotherGeometry) –检查对象与另外一个对象是否是相互重叠的;
      BooleanRelate(Geometry antherGeometry , String intersectionPatternMatrix) –检查该几何对象与另外一个对象是相互联系的,该种检查是通过检查对象内部,边界和外部是否相关;

1.4空间分析方法

DoubleDistance(Geometry anotherGeometry) –返回几何对象之间的最短距离;
GeometryBuffer(distance) –返回从几何对象出发的小于或等于distance距离的范围内的所有点的描述;
GeometryConvexHull() –返回一个描述该几何对象凸壳的一个几何对象;
GeometryIntersection(Geometry anotherGeometry) –返回几何对象之间交集的点集合的几何图元;
GeometryUnion(Geometry anotherGeometry) –返回几何对象并集集合对象;
GeometryDifference(Geometry anotherGeometry) –返回几何对象差集集合对象;
GeometrySymmetricDifference(Geometry anotherGeometry) –返回对称差集集合对象;

2几何元素集合

2.1方法

      GeometryIteratorGeometries() –返回集合的迭代器;

3 Point

      0D几何对象;一个点有x坐标和y坐标
      点的边界(Boundary)为空集;
3.1属性

      X – x坐标值;
      Y – y坐标值;

4多点

0D几何元素集合,其中成员为点;点之间是没有连接或者顺序的;
如果多点内没有相等的点,则多点是简单的;
多点的边界(Boundary)是空集;

5曲线

曲线是1D几何对象,通常是点的一个序列,其自类型中有具体的描述;
如果一个曲线的开始点和结束点相等则,该曲线是封闭的;
曲线的边界是空集;
如果曲线即是简单的又是封闭的,则为Ring;
5.1方法

      DoubleLength() –曲线长度;
      PointStartPoint() –曲线开始点;
PointEndPoint() -曲线结束点;

6线串,线,线环



图二
7多曲线(MultiCurve)

多曲线是1D的几何元素集合,他是由曲线(Curves)组成,如图三;
在本规格中,MultiCurve是不能实例化的,他定义了一组针对其子类的方法和一些扩展的原则;
当且仅当所有元素是简单的,并且任何两个元素之间只有一个交互点(该交互点都必须是两元素的边界),则一个MultiCurve是简单的;
如果MultiCurve中所有元素是封闭的,则MultiCurve是封闭的,封闭的MultiCurve的边界往往为空;





图三

7.1方法
Double Length() –该MultiCurve的长度,等于其中所有曲线元素长度的总和;

8多线串(MultiLineString)
      多线串的元素是线串(LineString),如图三;

9面(Surface)
面是2D的几何对象;
      OpenGIS抽象规范把简单面定义为由一个”片” (patch)组成,该”patch”与一个”扩展的边界”和“内部边界”相关联;
9.1方法
      Double Area() –面区域;
      Double Perimeter() –面周长;
      Double Centroid() –面的几何重心;不保证该中心位于面上;
      Double PointOnSurface() –在面上的一个点;

10多边形(Polygon)
      Polygon是一个平坦的面,由一个扩展边界和内部边界所定义,每个内部边界定义多边形的一个洞;
      图四展现了Polygon的例子,图五展现的是不能由单个Polygon实例所描述的几何对象;

图四

图五
10.1方法
      Geometry ExteriorRing() –返回多边形外环;
      Int NumInteriorRings() –返回多边形内环的数量;
      List<Geometry>InteriorRings() –返回多边形内环;

11多面(MultiSurface)
      2D几何对象集合,元素为面;
11.1方法
      Double Area() –多面(MultiSurface)的面积;
      Double Perimeter() –多面(MultiSurface)的周长;
      Double Centroid() –多面(MultiSurface)的重心,不保证该重心位与面之上;
      Double PointOnSurface() –保证在多面之上的点;

12多多边形(MultiPolygon)
      多多边形(MultiPolygon),以多边形为元素的多边形组合;
      图六展示了4个有效的MultiPolygons,图七展示了不能由单个MultiPolygons描述的几何对象。
[img]http://www.3snews.net/attachments/2007/01/3360_200701161544011.jpg [/img]
图六


图七
分享到:
评论

相关推荐

    OpenGIS规范 中文资料

    10. **SOSI(Simple Object Access Protocol for Imaging)**:这是OpenGIS的一个早期规范,用于提供图像服务,虽然已被更先进的服务如WMS取代,但理解其历史背景有助于了解GIS的发展历程。 学习OpenGIS规范的中文...

    opengis ppt

    opengis开源gis ppt

    OpenGIS规范文档

    OpenGIS,全称为开放地理信息联盟(Open Geospatial Consortium),是一个国际组织,致力于制定和推广地理信息处理的开放标准。这些标准确保不同系统之间的互操作性和数据共享,促进了地理空间信息的广泛应用。...

    OpenGIS_WMS_Cookbook_v1.0.2

    标题: "OpenGIS_WMS_Cookbook_v1.0.2" 描述: "OpenGIS Web Map Server(WMS)接口实现说明。" 标签: "OpenGIS_WMS" OpenGIS Web Map Server (WMS) 是一种重要的地理信息系统(GIS)的标准协议,由Open Geospatial ...

    opengis Web Map server

    **OpenGIS Web Map Server (WMS)** OpenGIS Web Map Server (WMS) 是一个开放标准,由开放地理空间联盟(Open Geospatial Consortium, OGC)制定,用于提供网络上的地理信息系统(GIS)服务。WMS 规范定义了如何...

    geojson-geometry-shp格式相互转化总结

    import org.opengis.feature.type.AttributeDescriptor; public class CreateShpTable { public static void main(String[] args) throws IOException, SQLException, ClassNotFoundException { Connection conn ...

    opengis相关资料

    【OpenGIS相关资料详解】 OpenGIS,全称为Open Geospatial Consortium(开放地理空间联盟),是一个国际组织,致力于制定和推广地理空间数据的开放标准。这些标准包括Web地图服务(WMS)、Web覆盖服务(WCS)、地理...

    opengis-chn.rar_opengis

    标题中的“opengis-chn.rar_opengis”暗示了这是一个关于OpenGIS(开放地理信息系统)规范的中文资源。OpenGIS是由开放地理空间联盟(Open Geospatial Consortium, OGC)制定的一系列标准,旨在促进地理空间数据的互...

    geotools.geometry.jts需要的包

    这个库是基于OpenGIS(现在的开放地理空间联盟,OGC)标准构建的,允许开发者处理各种地理空间数据格式,如Shapefile、GML、WMS等。标题提到的"geotools.geometry.jts需要的包"指出了GeoTools中的一个关键模块——...

    GIS开发 openGIS OGC WEBGIS 移动GIS

    GIS开发 一个GIS生的大学四年.doc 网络GIS开发技术手册.doc 数字城市地理信息公共平台软件测评大纲.doc 手机GIS开发平台.doc 跬步科技GIS介绍.doc 基于OGC标准的移动GIS与WEBGIS的集成.doc ...openGIS.doc

    ArcSDE投影表介绍-以ST_Geometry为例

    1. **GEOMETRY_COLUMNS表**:此表遵循OpenGIS SQL规范,用于记录数据库中每一列几何类型的数据信息。ArcSDE将其视为只写表,在添加或删除OpenGIS SQL格式的图层时进行更新。每一行包含了完全限定的表名、列名和空间...

    OpenGIS联盟介绍

    一个介绍OpenGIS联盟的演示文稿,来自于OGC官方,非常详细,看后对OGC会有初步和较为详尽的了解。

    OpenGIS规范之WMS规范

    提供了WMS的三个基础性操作协议(GetCapabilities, GetMap和GetFeatureInfo)的详细规范说明,这些协议共同构成了利用WMS创建和叠加显示不同来源的远程异构地图服务的基础。

    openGIS 什么是GIS 学校笔记整理

    在openGIS的概念中,"open"通常指的是开放源码或者开源,意味着公众可以自由地使用、修改和分发GIS软件,而不仅仅是局限于商业产品的使用。 GIS的核心功能在于它能够处理具有空间属性的数据,这些数据可以是点、线...

    作业opengis-homework

    作业opengis-homework

    What_is_OpenGIS_to_a_Cartographer

    ### 开放地理信息系统(OpenGIS)对制图师的意义 #### 开放地理信息系统(OpenGIS)简介 开放地理信息系统(OpenGIS)是一个由开放地理空间联盟(Open Geospatial Consortium, OGC)制定的标准和技术规范集合,...

    openGIS.docx

    openGIS.docx

    gt-opengis-26.3.jar

    gt-opengis-26.3.jar

Global site tag (gtag.js) - Google Analytics