多面体(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. c语言,变长数组

    下面这个结构体,可以在malloc的时候指定数据data的长度,这样的形式就是变长数组:typedef struct{ int data_len; char data[0];//或char data[ ...

  2. 终于懂了:TWinControl主要是Delphi官方用来封装Windows的官方控件,开发者还是应该是有TCustomControl来开发三方控件

    再具体一点,就是TWinControl一般情况下不需要Canvas和Paint(TForm是个例外),而TCustomControl自带这2个. 同时开发者应该使用TGraphicControl,而不 ...

  3. [Windows Phone]常用类库&API推荐

    原文 [Windows Phone]常用类库&API推荐 简介: 把自己的应用程序搭建在稳定的API之上,这会使得我们在开发时能把精力都集中在程序的业务逻辑之上,避免重复造轮子,并且使得程序结 ...

  4. boost uuid 学习笔记

    #include <vector>#include <iostream>#include <boost/uuid/uuid.hpp>#include <boo ...

  5. android 设置字体颜色、EditText自己主动输入转换成大写字母的多种方式

    在TextView上面设置某一个字的字体颜色为指定颜色时,能够通过java类SpannableString类和Html语言来实现. (一)SpannableString类方式 private void ...

  6. 由两代WIN8 Surface平板看微软心态

    要说win8平板的前景非常好,微软的两代surface做的真不错. 可是可是,微软就错在了把价格定的太高.为什么高,一是intel芯价格不低,二是每套win8和office微软得要价几百美金吧! 这两 ...

  7. 语音信号处理之(三)矢量量化(Vector Quantization)

    语音信号处理之(三)矢量量化(Vector Quantization) zouxy09@qq.com http://blog.csdn.net/zouxy09 这学期有<语音信号处理>这门 ...

  8. poj 2777 Count Color(线段树区区+染色问题)

    题目链接:  poj 2777 Count Color 题目大意:  给出一块长度为n的板,区间范围[1,n],和m种染料 k次操作,C  a  b  c 把区间[a,b]涂为c色,P  a  b 查 ...

  9. TEXT文本编辑框2

    Result: When you double clicks on the TextEdit control nothing happens, since the flow-logic of the ...

  10. Eclipse + PyDev 无法导入模块

    下载后的包,在python IDLE 都可以导入这些模块,但是在Eclipse里面需要我们自己添加路径 需要导入的模块,在那个路径下,就在这里添加路径即可,其他的同理.