ARCgis 的图层功能,说实话用起来还挺灵活的。无论是你想搞个矢量叠加,还是玩点复杂的空间,图层这块基本绕不开。建图层嘛,说白了就是把一堆地理数据按需分类整理,在地图上有序展示,逻辑跟你前端写个 DOM 结构差不多,谁在上谁在下全靠顺序和样式堆叠。

shp 图层的数据其实挺好用,是那种已经整理好的,比如北京 shp 图层数据合集,拿来直接就能做图,不用费劲清洗。做可视化的时候,你可以通过图层的属性字段筛选关键数据,再结合 ArcGIS SQL 语法,比如 SELECT * FROM buildings WHERE height > 50 这种,效率也挺高。

要调样式也不难。比如你想根据建筑高度给图层上色,用分类渲染或分级渲染都行。配合颜色控制脚本,还能动态调整颜色,做交互效果也方便。像 symbology 属性那块,稍微研究下就会觉得蛮顺手的。

图层的空间用处就更大了,比如叠加、缓冲区、热点图,配合空间统计工具,能搞出不少有意思的结果。数据多的时候也别忘了建个索引,不然查着查着就卡了,顺手看看索引建立与删除的资料也不错。

如果你搞的图层是栅格形式的,像卫星图啥的,可以看看矢量转栅格的操作指南。栅格图层在密集数据时效果挺好,比如热力图、降雨分布那类。

图层管理多了,也建议你熟一下 TOC(图层控制) 的设计思路,写前端交互时会用上,是结合 Vue 或 React 搭组件的时候。如果你要跑大数据量,甚至可以试试Hadoop 环境整合 GIS 数据,性能提不上去的话再考虑切切片。

如果你还没摸过 ArcGIS SQL,建议你先看看这个语句集合,写起来跟普通 SQL 类似,但支持的空间函数挺多,比如 ST_Intersects 之类的,玩久了还挺上头。