Esri Mapping and Charting Solutions 10.7.1:专业制图生产全解析
简介这一版本为ArcGIS生态下的Mapping and Charting Solutions 10.7.1面向GIS工程师、测绘人员、规划师与空间数据分析师用于完成高质量地图制图、动态表格展示、三维可视化、地理编码等任务。压缩包共42个文件除主安装程序exe/msi/cab和配置脚本外还包含13个htm说明页、5个css样式表、17张png界面示例、2张jpg预览图及1个ini安装配置整体约640MB安装后可快速定位所需文档。目前已有805人学习/下载适用于城市规划、环境监测、自然资源管理与应急响应等实际工作。借助安装包内的帮助文档和截图读者可以快速上手数据导入、地图布局、动态表格与图表设计理解缓冲区分析、网络分析、地形分析等空间分析工具的应用思路同时掌握ArcGIS Online协同工作中的地图共享与移动端采集流程为后续复杂GIS项目打好基础。1. 项目理解与整体设计思路1.1 这是一套什么样的产品很多搞GIS的人第一次听到Mapping and Charting Solutions这个名称第一反应是这不就是ArcGIS吗。其实不然这是Esri针对专业制图领域推出的一整套扩展模块专门解决传统GIS软件难以覆盖的地图产品化生产环节。说得直白一点ArcGIS Desktop做的是数据分析与基础制图而Mapping and Charting Solutions做的是把数据变成符合国家质检标准、可以直接印刷或出版的正品地图。10.7.1这个版本号对应的是ArcGIS 10.7.1平台。它不是一个独立安装的软件而是叠加在ArcGIS Desktop、ArcGIS Pro以及ArcGIS Enterprise之上的一整套工具包。实际工作中很多从事测绘、海洋、航空等行业的用户拿到数据之后发现制图标准达不到交付要求符号化不规范、图廓整饰缺失、产品规格不匹配这套方案解决的就是这类痛点。1.2 核心模块拆解三个专项工具包从实际功能划分来看10.7.1版本主要包含三大部分ArcGIS for Maritime: Charting海事制图、ArcGIS for Aviation航空制图和ArcGIS Defense Mapping防务制图。海事制图模块是用户接触最多的部分。它基于S-57和S-100系列国际标准支持电子海图ENC和纸海图产品的生产。比较关键的是它内置了一套完整的产品库Product Library机制可以把《IHO标准》《GB 12319-1998中国海图图式》这些规范编码成机器可执行的规则制图过程从一开始就走标准流程而不是靠人工逐要素调整。航空制图模块面向航图生产支持ICAO国际民航组织标准的航图产品包括机场障碍物图、标准仪表进场图等。防务制图模块则主要面向军事测绘领域支持地形图、航空图、城市影像图等产品的批量生产和更新符号库覆盖了MIL-STD-2525和APP-6A等军标体系。三个模块共用同一套底层框架——数据模型、产品库、符号库和制图工具只是面向的行业标准和业务场景不同。对于大多数用户来说用的最多的是海事和防务这两个模块。1.3 为什么选10.7.1版本决策参考选择10.7.1而不是更高版本的ArcGIS Pro有一个很现实的原因生产环境往往已经跑着一整套基于Desktop 10.x的自动化脚本和Add-In工具换到Pro需要重写大量GP工具和Python代码。10.7.1是Desktop 10.x时代比较稳定的版本在符号渲染性能上做了优化对S-57数据源的支持也基本够用。当然如果你是从零开始的新项目我更推荐直接上ArcGIS Pro并搭配最新版的Maritime Charting扩展毕竟Esri已经把新功能的研发重心转移到了Pro上。但如果你的生产环境有大量历史沉淀比如自定义的符号库、工具箱、模型Builder流程10.7.1依然是一个可选方案部署成本低、运行稳定周边生态也成熟。2. 核心功能解析与实操要点2.1 数据模型从S-57到地理数据库的映射逻辑海事制图的核心数据标准是S-57这是国际航道测量组织IHO发布的电子海道测量数据传输标准。S-57把现实世界抽象成要素Feature、属性Attribute和空间记录Spatial Record三类信息用类别码Object Class来区分不同类型的要素比如海岸线是COALNE水深点是SOUNDG碍航物是OBSTRN。Mapping and Charting Solutions做的事情不是让你直接在S-57文件上编图而是提供了一套预先设计好的地理数据库模型把S-57的要素映射到GDB里的要素类和属性字段中。这套模型遵循S-57 Edition 3.1以及S-57 Supplement也兼顾了国内的《电子海图技术规范》。举个实际例子S-57里水深点的属性有很多BCKSCL回波强度等级、QUASOU探测质量、TECSOU探测技术、VERDAT深度基准面等。在GIS数据模型里这些属性都会自动映射成对应的字段并且赋予域值Domain和子类型Subtype录入数据时下拉框选择即可不会出现乱填的情况。2.2 产品库机制规范与生产的桥梁产品库是Mapping and Charting Solutions这套方案里最值得理解的概念。你可以把它理解成一本活的规范书。传统制图流程里规范是一纸PDF文档作业员做图时反复翻阅遇到标准更新还得花大量时间学习而产品库里规范被编码成了结构化的规则和参数软件在读数据的时候自动按规则渲染从根上杜绝了凭经验带来的符号不一致问题。产品库包含几个关键组件产品类型定义比如纸质海图电子海图航空图、比例尺范围与分幅规则、要素类与符号的对应规则以及制图表达规则。10.7.1版本的产品库支持跨库引用也就是多个产品可以共享同一个符号库只是各产品自己定义哪些要素显示、用多大符号、叠加什么注记。实际操作时你可以通过ArcMap里的Product Library管理工具来维护这套库。建议在项目启动前把产品类型、覆盖范围、比例尺集合全部定义好中途改库会很痛苦因为所有已经生产的图幅都要重新校验。2.3 符号化引擎与制图表达与传统GIS制图不同Mapping and Charting Solutions里的符号体系建立在ArcGIS制图表达Representation机制上。制图表达的好处是可以在不改变原始数据的前提下对要素进行符号级编辑比如把海岸线表现为有齿线的双线、把等深线注记随意移动位置或者遮蔽下方要素。10.7.1内置的符号库覆盖面很全。海事方面有符合S-52 Presentation Library的符号体系支持电子海图显示包括颜色、线形、符号填充在内的一整套规则纸质海图方面则参照国家海图图式做了一整套中文字体符号。防务模块的符号涵盖了军队标号里的作战符号、工程符号、后勤符号等在制图表达中甚至支持自动生成军标箭头。有一点需要提醒符号库安装之后不代表立即就能用了它需要通过符号库连接配置到生产环境中。配置不正确时会出现要素显示为问号或者空心方框的情况后面我会讲排查逻辑。2.4 数据审核与质量控制制图生产绝对绕不过质检环节。这套方案里有一个非常重要但容易被忽视的工具集数据校验Data Validation。它内置了一批S-57要素目录校验规则包括拓扑一致性、属性完整性、水深范围合理性等检查项。比如水深点的Sounding Value必须是负值且在一个合理范围内如果出现正数或者超深值校验工具会直接以错误清单的形式输出再比如岸线必须是闭合的、面积要素不能自相交这类拓扑问题也能一键检查和修复。质量检查的结果支持导出成Excel或者PDF报告方便与甲方对接。我在实际使用中发现把数据校验跑在生产的每个阶段而不是只留到最后一次能省下大量返工时间。数据刚入库时跑一遍拓扑编辑中途再跑一遍属性完整性成品出图前跑全量检查三级检查放在不同的时间节点排查问题的成本会低很多。3. 实操过程与核心环节实现3.1 环境准备与安装部署以10.7.1为例安装这套方案的典型环境是Windows Server 2016或Windows 10专业版安装ArcGIS Desktop 10.7.1需含ArcInfo授权级别再叠加对应版本的Mapping and Charting Solutions。安装时建议关闭杀毒软件以管理员身份运行安装程序避免组件注册失败。安装完成后需要在ArcMap的自定义 - 扩展模块中勾选对应的扩展。如果使用的是浮动版授权需要确保License Manager正常运行并给使用账号分配好对应模块的许可。很多项目卡在工具箱灰色不可用这一步多半是因为扩展模块没有勾选或者授权未生效。部署完成后还要做一步操作在ArcMap里打开地理数据库管理员工具创建或升级生产环境需要的文件地理数据库/企业级地理数据库。海事项目一般建议用企业级地理数据库SQL Server或Oracle支持多作业员并行编辑同一幅海图如果是单机生产或小型项目文件地理数据库也够用。3.2 创建产品库与生产数据库产品库是整个生产体系的配置中心。创建产品库的路径是ArcMap的Catalog窗口中找到Product Library节点右键新建。创建时需要指定产品库的存放位置以及关联的企业级地理数据库连接。创建完成后需要配置产品要素目录Product Coverage。这一步说白了就是这幅图管到哪个范围、用什么比例尺、走什么规范。填写图幅范围时可以直接拉一个面要素范围也可以导入已有的分幅面。要特别留意图幅编码的规则设置比如比例尺为1:50,000的海图标准图幅编号怎么生成最好在配置阶段让开发人员根据国标写好规则库避免后面手动输入造成编号混乱。3.3 生产工具使用以一幅海事专题图为例这里我用一个常见场景——制作一幅1:25,000比例尺的海图来演示流程。步骤一数据准备。把原始测绘数据水深、岸线、等深线、碍航物等导入到已经配置好的生产数据库中。导入时需要注意坐标系设置海图一般用Web Mercator或UTM投影但坐标系需要指定为WGS 1984或CGCS2000对应的投影经纬度。步骤二创建图幅。在海图产品生产工具里新建一幅图选择产品类型沿海港口航道图比例尺填1:25,000程序会自动生成图廓、图名、图号以及内外图廓线。步骤三数据综合。这一环节是人工经验与工具相结合的地方。比如水深点的抽稀、岸线的化简、等深线的圆滑工具里提供了制图综合工具集可以设置容差参数自动完成一部分综合工作但最终效果仍然需要人工干预调整。我看过很多新手操作时直接把容差调到很大图确实简化了但是岸线变形严重、水深点丢失过多导致整个图不符合航行安全要求。步骤四符号化与注记配置。打开图幅属性选择产品库对应的符号规则执行应用符号化软件就会按照产品库里的规则自动匹配对应符号。注记方面水深数字的选取、注记的避让、等深线注记的排列需要利用制图表达工具手动微调。这里有个经验先执行自动注记配置再手工批量微调最后逐项检查比从头到尾手放注记效率高一倍以上。步骤五输出产品。10.7.1支持直接导出为S-57格式的ENC文件也支持导出PDF、AI或者EPS用于印刷。导出ENC时需要指定要素目录映射规则确保GDB里的数据正确转成S-57对象。3.4 自动化批处理用Python脚本提高效率当项目需要批量生产几十上百幅图时手动点击工具就显得太慢。10.7.1的所有制图工具都开放了Python接口可以在ArcMap自带的Python窗口里调用也可以写成独立脚本定时执行。最简单的一个脚本需求是批量执行数据校验import arcpy from arcpy import mapping # 设置生产数据库路径 gdb_path rC:\Projects\ChartProduction\Production.gdb # 遍历所有要素数据集 arcpy.env.workspace gdb_path datasets arcpy.ListDatasets(feature_typeFeature) # 简单示例对每一幅图执行要素完整性检查 for ds in datasets: print(正在检查: {0}.format(ds)) # 实际生产建议调用 Maritime 扩展中的 ValidateProduct 工具 # arcpy.ValidateProduct_product(gdb_path, ProductName, ChartNumber)这里的注意点是脚本运行环境要与ArcMap保持一致确保扩展模块已经加载否则GP工具会报错工具未授权。另外批量处理时建议增加日志输出方便回溯哪幅图在哪个环节出了问题。4. 常见问题与排查技巧实录4.1 常见问题速查表问题现象常见原因解决方案扩展模块灰色不可用授权未正确激活检查License Manager服务确认模块授权可用要素显示为问号或空心方块符号库连接错误或未加载检查符号库路径重新加载产品库符号配置导出S-57时提示要素类别映射缺失GDB中要素类未映射到S-57对象检查要素目录映射表补充映射关系数据校验报拓扑错误数据编辑过程中产生悬挂或自相交使用修复几何工具批量修复后再校验批量脚本运行时GP工具报00068错误工具集不存在或未授权确认扩展模块授权加载后再执行脚本图廓无法生成分幅范围与产品类型不匹配检查图幅范围是否在产品覆盖范围内4.2 符号显示异常的排查思路符号显示异常是这套方案里最常见的坑。排查路径一般是先确认扩展模块是否启用再检查符号库连接是否指向正确路径最后检查数据在GDB里的要素类编码是否与产品库定义的一致。我记得有一次某幅图的海岸线全部显示成一条细细的黑线但是其他图幅正常。查了半天发现原因是那幅图海岸线的符号在制图表达里被手动覆盖过属性表里存了一个覆盖符号值把产品库的默认符号顶掉了。解决办法很简单在制图表达工具里选择恢复为默认符号即可。4.3 性能问题的优化建议10.7.1跑在Desktop环境下大数据量时体积会比较重。优化手段有几个方向第一生产数据库建立空间索引和属性索引。第二按图幅切割数据不对全库做符号化。第三用企业级地理数据库替代文件地理数据库。第四合理设置制图表达的缓存级别。实测下来同样一幅1:5万地形图文件地理数据库符号化需要近三分钟切到SQL Server企业级地理数据库后只需要四十秒左右差距还是很大的。如果你的项目经常要整库做符号化数据库选型要早做决定。4.4 容易被忽视的版本兼容性10.7.1的扩展模块与ArcGIS Desktop的小版本必须严格对应。也就是说ArcGIS Desktop 10.7.0上不能装10.7.1的Maritime扩展即使装了也会提示版本不匹配。另外它与ArcGIS Pro的兼容性也有讲究如果要让Pro和Desktop共用同一个生产数据库需要确认两边版本都在同一ArcGIS版本序列内。注意在线帮助文档里会标明Supported ArcGIS Versions安装前务必核对。这个坑我见过不止一次用户把Desktop升级到10.8后没升级扩展整个生产环境直接瘫痪。还有一个体验是10.7.1对Windows 10 1909以上版本支持的比较好老版本Server 2008 R2上运行偶尔会出现绘图刷新异常。如果条件允许建议把生产环境统一到同一批操作系统版本上减少环境差异导致的奇怪问题。5. 联动扩展这套方案的延伸应用场景5.1 海图生产之外陆图与航空图的统一管理很多人以为Mapping and Charting Solutions只能做海图其实不然。10.7.1支持在一个产品库框架下同时管理海图、陆图和航空图产品。因为三者共享同一套产品库架构所以对外可以输出统一规范的产品成果。比较典型的场景是一个海岸带地区的测绘项目既要出陆地地形图又要出沿岸海图还要制作机场净空区障碍物图。传统做法是三个项目组用三套软件分别出图质量标准难以对齐在这套方案下三个图种共用同一个生产数据库、同一套质量规则只是在产品类型和符号库上进行了区分最终成果的协调性好很多。5.2 与ArcGIS Enterprise的联动发布10.7.1时代虽然以Desktop为主但也可以跟Enterprise联动。海图成果在Desktop端生产完成后可以发布到Portal/Server上作为地图服务供Web端和移动端浏览。比如ENC数据发布后可以在Web AppBuilder里调用海图显示控件做一个简单的船舶监控界面。需要注意的是Server端也需要正确的扩展模块授权否则海图服务发布后符号渲染会有偏差。实测下来海图要素在Web端显示时动态符号化比缓存切片的效果更接近桌面端推荐优先使用动态服务。5.3 从Desktop迁移到Pro的路线参考如果你短期内没有全部迁移到ArcGIS Pro的打算仍然可以采取双轨运行的策略Desktop 10.7.1负责一线生产Pro用于试验新功能或处理部分存量数据。10.7.1的生产数据库可以直接在Pro中打开两个软件之间数据互通基本无障碍。但要注意Python脚本和GP工具模型在Pro里有些变化因为Pro使用Python 3.x而Desktop用的是Python 2.x脚本语言版本不一致代码迁移需要额外工作。在规划迁移时建议先跑一遍脚本兼容性测试评估需要改造的代码量。6. 我的实际使用心得与建议最后说一些比较个人化的体会。这套方案最大的价值不在于某个工具多好用而在于它提供了一整套生产级的制图组织方式。我见过不少团队买了软件但没有认真配置产品库只是把里面的工具当作普通GP工具来点结果产出成果的质量反而不如传统CAD制图最后把问题归结为软件不够好用。这个情况其实挺可惜的——产品库的设计初衷就是让规范下沉到工具链里而这一步需要项目管理者在启动阶段投入足够的时间和精力。首次部署建议找有类似项目实施经验的技术人员参与把产品库配置、要素映射、质检流程一次性搭建到位。这个前期投入看起来费时间但后期大批量出图时的效率和成果质量提升是几倍甚至十几倍的回报。另外一个小技巧不要让所有作业员直接在生产数据库上操作而是按照数据编辑库产品制作库正式发布库三层结构来管理。数据编辑在编辑库进行完成质检后导入产品制作库符号化和图廓整饰全部在制作库里完成最终发布时锁定发布库。这样不同图幅之间互不干扰数据污染的风险也降到最低。如果你正在评估或者已经准备使用Mapping and Charting Solutions 10.7.1建议从一个小范围试点开始先跑通数据入库-产品配置-图幅生产-质检输出完整链条再把流程复制到整个项目。直接大面积铺开一旦流程设计有问题返工成本难以估量。这套流程走顺之后你对地图产品化生产这件事的理解会比单纯使用ArcGIS做分析的同行深得多。本文还有配套的精品资源点击获取