GIS Geometry对象模型

news/2024/7/8 6:09:22 标签: 图形, 算法, null, c
cle class="baidu_pl">
cle_content" class="article_content clearfix">
content_views" class="htmledit_views">

 

class="cnt">

GIS Geometry对象模型

李泉 陈玉进 (南京跬步科技有限公司http://www.creable.cn )

class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 150%;">    这章介绍OGC(Open GIS Consortium)推荐的Geometry对象模型࿰c;此几何形态在后面的class="tags" href="/tags/SuanFa.html" title=算法>算法中大量用到࿰c;在整个GIS的对象模型中࿰c;Geometry占有很重要的地位。

class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; line-height: 150%;">地理要素的形态千变万化࿰c;但最终可以概括为点、线、面三种形态࿰c;这是单个形式。在地理信息系统中࿰c;常常多个几何class="tags" href="/tags/TuXing.html" title=图形>图形属于一个地理要素࿰c;这种情况使用集合来描述。图1就是OGC建议的Geometry对象模型࿰c;其中Geometry是所有几何类的父类࿰c;是对所有几何类的抽象。Point表示一个点状几何体࿰c;Curve表示一个曲线(抽象类)࿰c;LineString表示一条折线࿰c;Line表示一条直线࿰c;LinearRing表示一个环(闭合的折线)࿰c;Surface表示一个表面(抽象类)࿰c;Polygon表示一个面࿰c;GeometryCollection表示一个几何体的集合࿰c;MultiSurface表示一个表面的集合(抽象类)࿰c;MultiPolygon表示一个面的集合࿰c;MultiCurve表示一个曲线的集合(抽象类)࿰c;MultiLineString表示一个折线的集合࿰c;MultiPoint表示一个点的集合。

class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; line-height: 150%;">下面将详细介绍各种几何体。

class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; line-height: 150%;"> 

 

 

 

 

class="blogimg" src="http://hiphotos.baidu.com/geochenyj/pic/item/950774df3fd8fc30632798e0.jpg" border="0" alt="" />

class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 150%;">

class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt; line-height: 150%; mso-list: l0 level1 lfo1;">1. Geometry

class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 18pt; line-height: 150%;">Geometry是所有几何类的父类࿰c;是一个虚类࿰c;不可实例化。所有几何类根据空间表现式被定位为0维、1维和2维。所有几何类都必须能够返回它自己的最小外包矩形(MBR)。

class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt; line-height: 150%;">

class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt; line-height: 150%; mso-list: l0 level1 lfo1;">2. Point

class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 18pt; line-height: 150%;">Point是一个0维的几何类࿰c;在坐标空间中只有一个位置。一个点具有x坐标值和y坐标值。点的最小外包矩形为class="tags" href="/tags/NULL.html" title=null>null

class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 150%;">

class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt; line-height: 150%; mso-list: l0 level1 lfo1;">3. Curve

class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 18pt; line-height: 150%;">Curve是一个1维的几何类࿰c;常常包含一组Point。在ISO19125标准中࿰c;仅仅定义了一个它的子类࿰c;那就是LineString。如果没有自相交的情况出现࿰c;那么这个Curve是简单的。如果首尾节点完全相同࿰c;那么这个Curve是闭合的(这个判断用在组成面的情况࿰c;组成面的线必须是简单的闭合的)。如果一个Curve简单且闭合࿰c;则它就是一个Ring

class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 150%;">

class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt; line-height: 150%; mso-list: l0 level1 lfo1;">4. LineString

class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt; line-height: 150%;">LineString是一个点与点之间使用线相连的Curvec;点与点之间都是一个Line

class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 150%;">

class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt; line-height: 150%; mso-list: l0 level1 lfo1;">5. Line

class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt; line-height: 150%;">Line是一个只具有2个点的LineString

class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt; line-height: 150%;">

class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt; line-height: 150%; mso-list: l0 level1 lfo1;">6. LinearRing

class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt; line-height: 150%;">LinearRing是一个即简单又闭合的LineStringc;图2a不简单也不闭合࿰c;只是一个LineStringb有自相交的情况࿰c;也不是LinearRingc是一个LinearRingd虽然闭合但是有自相交࿰c;即不简单࿰c;也不是一个LinearRing

 

class="blogimg" src="http://hiphotos.baidu.com/geochenyj/pic/item/01d69903a872a0abd43f7ce2.jpg" border="0" alt="" />

class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt; line-height: 150%; mso-list: l0 level1 lfo1;">1. Surface

class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt; line-height: 150%;">Surface是一个2维的几何类。Polygon类是Surface类惟一的子类࿰c;并且Polygon没有自相交的情况。

cle>

http://www.niftyadmin.cn/n/508285.html

相关文章

微信撤回软件安卓版_微信内测更新,更新8个功能

没错,微信又来更新了,不过不是iOS的,机友们都知道iOS版本的微信和安卓版本的微信在很多时候并不是同步更新的版本,功能更新谁先谁后也是没有个准,比如修改微信号这个大家还记的是哪个版本先发布的吧。一般来说iOS版本微…

GIS Geometry对象模型 (二)

李泉 陈玉进(南京跬步科技有限公司http://www.creable.cn ) 8. Polygon Polygon是一个只包含一个外环和若干格内环的Surface。外环是一个LinearRing,切就是Polygon的外框线。内环都在Polygon内部,组成Polygon内部的岛屿…

js创建热点区域_一站式新闻热点抓取与挖掘,可作为毕设项目

分享2个项目新闻热点爬取与挖掘 地址:https://github.com/Jacen789/HotNewsAnalysis分类:Python爬虫,Python数据分析简介:自动抓取新浪、搜狐、新华网新闻,通过对新闻内容聚类,得到新闻热点;再对热点进行分…

获取payload_CTF必备技能丨Linux Pwn入门教程——利用漏洞获取libc

Linux Pwn入门教程系列分享如约而至,本套课程是作者依据i春秋Pwn入门课程中的技术分类,并结合近几年赛事中出现的题目和文章整理出一份相对完整的Linux Pwn教程。教程仅针对i386/amd64下的Linux Pwn常见的Pwn手法,如栈,堆&#xf…

矢量数据栅格化——多边形填充

矢量数据栅格化 李泉 陈玉进(南京跬步科技有限公司http://www.creable.cn ) 在计算机绘制图形过程中,除了需要绘制出多边形的轮廓线之外,有时还希望用某种色彩来填充图形的内部,以使得图形具有明暗自然、色彩丰富以及形…

矢量数据栅格化——多边形填充(二)

李泉 陈玉进(南京跬步科技有限公司http://www.creable.cn ) 举例说明如下:如图2,根据多边形的坐标信息,生成一个算法需要的表结构。生成此表的原则是:以多边形相邻两点组成的线段为单位,以与该…

vivado路径最大时钟约束_Vivado开发流程

工具以vivado2017.3为例工程以led跑马灯为例开发板以ZYNQ ax7020为例一、创建一个新的RTL工程1、打开vivado2017.3软件,左侧有三栏 quick start(快速开始)、tasks(工作)、learning center(学习中心&#xf…

手机GIS栅格数据显示

栅格数据显示 李泉 陈玉进(南京跬步科技有限公司http://www.creable.cn ) 11.2嵌入式GIS中的特殊问题 嵌入式设备相比PC,具有处理器差、内存小以及没有鼠标的特点。 基于以上特点,嵌入式GIS需要解决效率和内存占用的问题&#xff…