从几何学的角度来说,再复杂的三维形状都可以通过足够多,足够小的三角形组合起来表达。比如矩形可以表达成两个三角形,如下图:

圆柱形可以由多个三角形排列而成:

但ArcGIS中的多面体构成并没有采用这种“简单三角形法”来组织,而是由如下三种基础结构构成:

1)Triangle Strip ,笔者翻译为:三角片

2)Triangle Fan,翻译为:三角扇

3)Rings,翻译为:环

下面我们将对这三种结构进行一一讲解,首先是Triangle Strip。三角片可以有序的排列在一起形成一个多面体,ArcGIS记录该多面体并不记录所有三角形以及三角形的每个节点,而是只记录类型为Triangle Strip,并按顺序0,1,2,3,4,5...n记录节点顺序即可。如下图,这样记录是不是就简洁多了?

Triangle Fan(三角扇),与三角片类似,三角扇也可以有序的排列在一起构成一个多面体,只不过ArcGIS记录的节点顺序有所不同。ArcGIS首先记录下面这个多面体是由三角扇构成,再按照0,1,0,2,0,3,.....,0,n的顺序记录节点即可描述如下“金字塔”形状。(注意:下面这个配图不是平面图形,而是一个金字塔的立体形状,0点是金字塔尖,1,2,3,4节点是塔底)

下面难度偏高的部分来了,就是Ring(环)结构。环是个相对宽泛的定义,笔者简单描述为三个节点以上(不包括3个)构成的多边形,节点可以不是共平面的。比如四边形,比如下面三个不规则形状,其中第二个所有节点是共平面的,一、三不是,但一个环都是“一笔可以画成的”,中途不能“抬笔”。

图一

 图二

图三

有了三角片、三角扇和环这三种基础构成单元后,就可以按照平面构成多面体了。多面体由多个平面构成,但出于一些约束条件,逻辑上一个平面中能包括哪些东西,ArcGIS中是有明确规定的,关于这部分,我们下一篇再介绍。

ArcGIS多面体(multipatch)解析(一)的更多相关文章

  1. ArcGIS三大文件格式解析

    原文:ArcGIS三大文件格式解析 Shape数据 Shapefile是ArcView GIS 3.x的原生数据格式,属于简单要素类,用点.线.多边形存储要素的形状,却不能存储拓扑关系,具有简单.快速 ...

  2. ArcGIS多面体(multipatch)解析——引

    多面体(multipatch)结构在ArcGIS数据结构中是与点.线.面平行的一种数据结构,对于ArcGIS三维来说是一个很核心的结构,有了它,ArcGIS平台才可以灵活的描述规则和不规则的三维实体. ...

  3. 《ArcGIS Runtime SDK for Android开发笔记》——(6)、基于Android Studio的ArcGIS Android工程结构解析

    1.前言 Android Studio 是第一个Google官方的 Android 开发环境.其他工具,例如 Eclipse,在 Android Studio 发布之前已经有了大规模的使用.为了帮助开 ...

  4. ArcGIS空间分析工具

    1. 3D分析 1.1. 3D Features toolset 工具 工具 描述 3D Features toolset (3D 要素工具集) Add Z Information 添加 Z 信息 添 ...

  5. Sketchup+ArcGIS三维建模与管理

    一.软件安装及其说明 1.需要安装的软件及其安装: 这份报告主要涉及到的有三个需要安装的软件ArcGIS9.3(或9.2) .Sketchup6.0和SketchUp6 ESRI 插件. ArcGIS ...

  6. arcgis api for js入门开发系列十叠加SHP图层

    上一篇实现了demo的热力图,本篇新增叠加SHP图层,截图如下: 叠加SHP图层效果实现的思路如下:利用封装的js文件,直接读取shp图层,然后转换geojson,最后通过arcgis api来解析转 ...

  7. arcgis api 3.x for js 入门开发系列十叠加 SHP 图层(附源码下载)

    前言 关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 3.x for js:esri 官网 api,里面详细的介绍 arcgis api 3.x 各个类 ...

  8. 《ArcGIS Runtime SDK for Android开发笔记》

    开发笔记之基础教程 ArcGIS Runtime SDK for Android 各版本下载地址 <ArcGIS Runtime SDK for Android开发笔记>——(1).And ...

  9. Flex 加载dwg

    之前写的几种格式不是专门gis格式,这次来说说加载dwg.首先dwg格式不同于dxf格式,虽然autocad都能加载进去,真正用的比较多的是dwg格式,反正测绘,国土规划部门都是,吐槽下,然而auto ...

随机推荐

  1. linux_删除空文件(大小等于0的文件)的方法

    1: 查看 find . -name "*" -type f -size 0c 2:删除 find . -name "*" -type f -size 0c | ...

  2. ArcGIS API for Silverlight 使用GP服务实现要素裁剪功能

    原文:ArcGIS API for Silverlight 使用GP服务实现要素裁剪功能 昨天一QQ好友问了一个关于裁剪的问题,感觉自己也没有帮上什么忙,之后自己做了一个裁剪的例子,不过在做这个例子的 ...

  3. Android基础之——MacOSX下elipse开发环境的配置

    前不久换了台macbook,然后自己就把开发环境给配好了,本来这事就这么过去了,今天有位博友留言让我写一篇关于配置的文章,考虑到这个东西确实以后可能还会用,那就写下来,分享给大家,正好自己也再次回想一 ...

  4. Linux内核源代码情景分析-中断半

    一.中断初始化 1.中断向量表IDT初始化 void __init init_IRQ(void) { int i; #ifndef CONFIG_X86_VISWS_APIC init_ISA_irq ...

  5. HDU Redraw Beautiful Drawings 推断最大流是否唯一解

    点击打开链接 Redraw Beautiful Drawings Time Limit: 3000/1500 MS (Java/Others)    Memory Limit: 65536/65536 ...

  6. 有趣Web之Json(四)---json与(Object/List/Map)相互转化

    干web报名时间.通常,他们需要json转换为Object/list/map要么Object/List/map转换为json,由能够编写代码的简单包装非常多,以减轻负担. 本文将给出json的一系列的 ...

  7. 2014Esri国际用户大会ArcGIS Online

    1.基于什么是新的ArcGISOnline? ArcGISOnline不断更新.大约每四个月就会把新的增强的功能公布到各部分中.有新的空间分析的应用程序,如 Explorer forArcGIS,ap ...

  8. java-list-remove()用法浅析 解决java list remove() 数据不对的问题

    在java中对list进行操作很频繁,特别是进行list启遍历,这些操作我们都会,也很熟悉,但是对java中list进行删除元素,remove list中的元素就不怎么熟悉了吧,可以说很陌生,是实际操 ...

  9. InstallShield集成安装MSDE2000最小版本(二) fishout特许授权发布

    原文:InstallShield集成安装MSDE2000最小版本(二) fishout特许授权发布 原帖地址:http://blog.csdn.net/fishout/archive/2009/10/ ...

  10. windows下 composer常见问题及处理

    错误一: Warning: This development build of composer is over 30 days old. It is recommend ed to update i ...