多面体(multipatch)结构在ArcGIS数据结构中是与点、线、面平行的一种数据结构,对于ArcGIS三维来说是一个很核心的结构,有了它,ArcGIS平台才可以灵活的描述规则和不规则的三维实体。对于建筑物、道路这种相对规则的模型,GIS平台里ArcGIS能表达,其他GIS平台也能;但对于地质地层结构都不规则,需要节点级刻画的三维模型,很多GIS只能用三维点符号的形式显示,该方法的缺点是无法进行节点级生成、管理、编辑和分析,ArcGIS能做到就是因为多面体数据结构。

也许我们平时在做二维项目的时候不会涉及到多面体,但一旦涉及三维应用,尤其是需要根据真实描述地层等不规则结构的时候,就要深入研究多面体结构了。前面说了ArcGIS的多面体是可以节点级操作的,也就是说里面的每个节点都可以生成、查询、修改等,但并不意味着生成多面体一定要人为的每个节点坐标计算出来再加进去(虽然接口允许这样做)。ArcGIS生成多面体自动/手动来划分看,大致分为如下三种方法,前两种是相对自动化的,第三种是手动的,人为干预力度大:

1)工具导入法,即ArcGIS Toolbox中有 import 3d files的工具,可以将3ds,flt,vrml,skp,dae等第三方模型直接转换成多面体。CityEngine建模工程也可以直接导出成多面体。这是将模型从非GIS平台转入GIS平台的核心步骤,做三维城市中的建筑物,道路等模型经常采用此方法。

2)通过ArcGIS工具运算自动生成。该方法使用Toolbox中“Layer 3D to Feature Class”、三维空间运算的多个工具(Buffer 3D,Intersect 3D,Extrude Between等)在现有的GIS三维图层或数据基础上进行空间运算自动求解出新的多面体数据。该过程同上,也不需要人为的节点级干预,ArcGIS工具自己就处理了。该过程常用场景是通过三维管线符号化导出成三维管线多面体;空间分析求解两个多面体的交集等(雷达扫描范围与飞机飞行轨迹是否有相交,地质体剖面分析等)。

3)需要人为的节点级控制生成多面体。通过开发接口组织有序节点生成三角形(最常见的是三角形),再拼接成多面体。该方法主要用于生成无规律三维模型,比如复杂地质体等,地质、地铁等行业需要对地层、矿产等不规则形状物体进行三维模拟。

对于前两种情况,用户一般不需要了解多面体内部结构,只需要用相应接口自动生成,但对于第三种情况,为了能让我们“知其所以然”,我将通过几篇博客进行多面体的内部结构解析。

==============未完待续==============

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

  1. ArcGIS三大文件格式解析

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

  2. ArcGIS多面体(multipatch)解析(一)

    从几何学的角度来说,再复杂的三维形状都可以通过足够多,足够小的三角形组合起来表达.比如矩形可以表达成两个三角形,如下图: 圆柱形可以由多个三角形排列而成: 但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. WAF攻防研究之四个层次Bypass WAF

    从架构.资源.协议和规则4个层次研究绕过WAF的技术,助于全方位提升WAF防御能力. 绕过WAF的相关技术研究是WAF攻防研究非常重要的一部分,也是最有趣的部分,所以我在写WAF攻防时先写攻击部分.还 ...

随机推荐

  1. 【linux驱动笔记】字符设备驱动相关数据结构与算法

    欢迎转载,转载时需保留作者信息,谢谢. 邮箱:tangzhongp@163.com 博客园地址:http://www.cnblogs.com/embedded-tzp Csdn博客地址:http:// ...

  2. Java基础08 继承

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 继承(inheritance)是面向对象的重要概念.继承是除组合(composit ...

  3. Android SurfaceView实现静态于动态画图效果

    本文是基于Android的SurfaceView的动态画图效果,实现静态和动态下的正弦波画图,可作为自己做图的简单参考,废话不多说,先上图, 静态效果: 动态效果: 比较简单,代码注释的也比较详细,易 ...

  4. 8天玩转并行开发——第二天 Task的使用

    原文 8天玩转并行开发——第二天 Task的使用 在我们了解Task之前,如果我们要使用多核的功能可能就会自己来开线程,然而这种线程模型在.net 4.0之后被一种称为基于 “任务的编程模型”所冲击, ...

  5. 当向计算机中存入一个float类型的数值2.2 后,在从计算机中读出输出,这时2.2 的值已经发生了变化(转)

    problom : 'f1' value hava been changed when output. reason : the binary repersentation of 2.2f is : ...

  6. hdu4722 Good Numbers

    Good Numbers Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...

  7. sharepoint 2010 在自定义列表的字段上增加功能菜单

    sharepoint 2010 在自定义列表的字段上增加功能菜单方法 打开sharepoint designer 2010,找到需要修改的视图页面,例如allitem.aspx,编辑这个页面,点击高级 ...

  8. Swift - 内存泄露原因(循环强引用)及解决办法

    Swift使用自动引用计数(ARC)来管理应用程序的内存使用.在大多是情况下,并不需要考虑内存的管理.当实例不再需要的时候,ARC会自动释放这些实例所使用的内存. 但ARC并不是绝对安全的.下面两种情 ...

  9. android用canvas绘制两种波纹效果

     波形效果有几种不同的呈现形式,比如从中间向四周散开的波形,也就是熟知的水涟漪:还有上下波动的曲线,像五线谱等.英文中可以称作Wave或者Ripple,所以暂且叫它们WaveView.WaveLayo ...

  10. windows消息处理(强烈推荐,收藏)

    由于看了一下,比较好理解,暂时先放到这里,待有空再翻译.只是在每节后大致介绍一下讲的内容. 感觉写的比较全,无论从消息的原理还是从MFC操作上来说,值得一看,我也在此做个收藏. (一) 说明:以下首先 ...