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

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

但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. 运用TWaver 3D 矢量图形处理能力

    的确,提起TWaver,大家想到的首先是"电信拓扑图组件".事实上.因为其灵活的MVC架构.矢量化设计.方便定制等特点.TWaver能够做的还有非常多.比如房地产行业常见到的&qu ...

  2. 浅谈javascript中的call()和apply()方法

    话说在js中,每个函数都包含两个非继承而来的放方法,apply()和call(),使得我们能在特定的作用域中调用函数. 官方定义: 语法:       fun.call(thisArg[, arg1[ ...

  3. 在面对变化,撇开NO

    参观后转到供应商,看到自己的生产线流水线半自己的钣金生产线举措.这就是我一直想厂提高生产现场的想法,因为通常当我看到工作人员努力工作和繁忙的生产,只见废现场,线解决方式时,有点莫名的兴奋. 幸亏是一家 ...

  4. 数据库 基于索引的SQL语句优化之降龙十八掌(转)

    一篇挺不错的关于SQL语句优化的文章,因不知原始出处,故未作引用说明! 1 前言      客服业务受到SQL语句的影响非常大,在规模比较大的局点,往往因为一个小的SQL语句不够优化,导致数据库性能急 ...

  5. vim插件管理器vundle

    安装:  git clone http://github.com/gmarik/vundle.git ~/.vim/bundle/vundle set nocompatible " be i ...

  6. sql server、c# 命名规范

    查了不少资料,没有我想要的. 还不如下载 官方的 数据 Northwind ,pubs 参见 https://www.microsoft.com/en-us/download/confirmation ...

  7. 表单验证 jquery-validation

    表单验证首选:jquery-validation 参见 http://jqueryvalidation.org/ 下载之后 在 demo  的index 页面有各种API 详细的案例. 还可以参考 h ...

  8. Entity Framework查询原理

    Entity Framework查询原理 前言 Entity Framework的全称是ADO.NET Entity Framework,是微软开发的基于ADO.NET的ORM(Object/Rela ...

  9. 常见浏览器扩展开发笔记(chrome firefox 360 baidu qq sougou liebao uc opera)

    浏览器扩展开发貌似时下很冷门啊,但是不少企业还是有类似的应用,360的抢票插件啊,笔者最近在做的网页翻译扩展之类的.笔者在开发的过程中,遇到了不少坑,说是坑,说白了就是各个厂商支持的API不统一导致的 ...

  10. 19.最经济app发短信的方法

    在创业团队.一个重要的原则是能省就省,该花的花,明智地使用金钱. 今的app,为了获取用户的社交关系.须要用户的手机号注冊. 用手机号注冊就涉及到一个发送短信验证码的问题,那怎么才干在短信服务上投入最 ...