多面体(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. Oracle cloud control 12c 怎样改动sysmanpassword

        前阵子在虚拟机部署了Oracle Cloud Control 12c.事别几日,居然忘记了登录password. 主要是由于如今的Oracle有关的Software比之前提供更强的安全机制.什 ...

  2. this小记

    this小记 太久没有研究底层的js相关,今晚差点被紫红爸爸上课了. 正题 var net=new Object(); //定义一个全局变量net net.AjaxRequest=function(u ...

  3. 动态Pivot(2)

    原文  http://book.51cto.com/art/200710/58875.htm 存储过程sp_pivot的实现包含糟糕的编程习惯和安全隐患.就像我在本章的前面提到的,微软强烈建议不要在用 ...

  4. 网页内容的html标签补全和过滤的两种方法

    网页内容的html标签补全和过滤的两种方法: 假设你的网页内容的html标签显示不全,有些表格标签不完整而导致页面混乱,或者把你的内容之外的局部html页面给包括进去了,我们能够写个函数方法来补全ht ...

  5. 64位win7旗舰版搭建apache+php+mysql开发环境[转]

      我建议把apache.php.mysql都安装在一个文件夹中,比如:web/apache.web/php.web/mysql 1.安装apache2.2.25,请查看win7下安装VC9版本的ap ...

  6. [cocos2d-x]HelloWorldDemo

    实现一个demo,具备以下功能: 1.让几个字分别位于中间和四个角落. 2.中间的字体改变,并且带有闪烁功能. 3.单点触摸和多点触摸,并且能够实现滑动效果,滑动的话必须使用带有bool返回值的单点触 ...

  7. 例解 autoconf 和 automake 生成 Makefile 文件

    本文介绍了在 linux 系统中,通过 Gnu autoconf 和 automake 生成 Makefile 的方法.主要探讨了生成 Makefile 的来龙去脉及其机理,接着详细介绍了配置 Con ...

  8. Windows串口编程

    串口基础知识 http://www.cnblogs.com/menlsh/archive/2013/01/28/2880580.html DTU知识 http://blog.csdn.net/xuto ...

  9. Net MVC微信扫码支付

    微信扫码支付+Asp.Net MVC 这里的扫码支付指的是PC网站上面使用微信支付,也就是官方的模式二,网站是Asp.net MVC,整理如下. 一.准备工作 使用的微信API中的统一下单方法,关键的 ...

  10. python实现PKCS5Padding

    python实现PKCS5Padding     python实现PKCS5Padding    2008-09-21     请参考    ssl-3-padding-mode    php的加密函 ...