在手机上加载大型Shapefile和空间数据集
大型空间数据集对移动设备是一个挑战。一个县的宗地Shapefile可能包含20万个多边形、150MB — 将所有这些一次性加载到内存中会压垮大多数手机和平板电脑。在每个缩放级别渲染每个要素的简单方法根本无法扩展。
GoGIS从零开始专为移动端处理大数据而构建。以下是其工作原理。
GoGIS如何处理大数据
在GoGIS中加载文件时,它不会将整个数据集转储到内存中。而是将数据导入设备上的索引空间数据库。这意味着:
- 只渲染可见要素 — 当您放大到一个社区时,GoGIS只绘制该视图中的宗地,而不是整个数据集。地图一次最多绘制25,000个要素 — 足以填满任何屏幕 — 而完整数据集在后台保持可搜索和可查询状态。
- 空间索引使查询快速 — 即使在包含数百万条记录的图层中,点击要素查看属性也是即时的,因为空间索引无需扫描整个表即可找到正确的记录
- 内存保持可控 — 应用不会试图将整个数据集保留在RAM中,因此不会崩溃,其他应用也能继续正常运行
"大型"具体意味着什么
用具体数字来说明,以下是GoGIS日常处理的数据集规模:
- 县级宗地数据 — 带完整属性表的5万到50万个多边形。这是用户最常见的"大数据"需求。
- 全州宗地数据 — 不只是一个县,而是整个州。GoGIS已将华盛顿州全部数据 — 350万个宗地 — 导入手机上的空间数据库。您可以搜索、查询和浏览整个数据集;地图渲染当前视图中的内容,其余部分保持索引状态随时可用。
- 道路中心线 — 包含10万条以上线段的全州道路网络。
- 基础设施台账 — 电线杆、检查井、消防栓、标志 — 包含数万个要素和附加照片的点图层。
- 环境边界 — 覆盖大面积地理区域的湿地多边形、土壤单元、土地覆盖分类。
实际限制:限制因素通常不是要素数量,而是设备存储空间。一个50万要素的宗地图层作为Shapefile可能是200MB,在空间数据库中会增长到300-400MB。加载非常大的文件前,请确保设备有足够的可用空间。
支持的格式
大型数据集根据来源有不同的格式。GoGIS处理所有常见格式:
- Shapefile(.zip中的.shp) — 政府开放数据门户最常见的格式。将ZIP文件放入GoGIS,它会自动解压和导入。
- GeoPackage(.gpkg) — Shapefile的现代替代品。支持在单个文件中包含多个图层,对于包含关联表的大型数据集很有用。
- GeoJSON(.geojson) — Web来源的数据常见格式。注意非常大的GeoJSON文件(500MB以上)导入需要更长时间,因为必须解析整个文件,而Shapefile可以增量读取。
- KML/KMZ(.kml、.kmz) — Google Earth格式。大型数据集也能正常使用,但KML文件往往比同等的Shapefile更大。
- CSV(.csv) — 用于带有经纬度列的点数据。GoGIS读取坐标并绘制在地图上。
处理大型数据集的技巧
使用颜色编码
当屏幕上有数千个要素时,它们看起来都一样。按属性进行颜色编码 — 区域类型、土地利用、所有者、状态 — 模式立即浮现。这通常就是加载大型数据集的全部原因:查看空间模式。
搜索和筛选
面对包含数十万个要素的数据集,您不可能逐一滚动浏览。使用搜索和筛选工具缩小到所需内容 — 特定所有者、日期范围、土地利用代码。GoGIS在索引数据库的所有属性中搜索,并将地图跳转到匹配的要素。
叠加多个数据集
移动GIS的真正力量不仅在于打开一个大文件 — 而在于叠加图层。将宗地数据放在底层,添加洪水区,在上面叠加您的野外观察数据。切换图层的显示和隐藏,发现任何单一数据集中看不到的关系。
将大型文件传输到设备
文件需要某种方式传输到您的手机。以下是几种选择:
- iCloud Drive或Google Drive — 从桌面上传文件,在设备的"文件"应用中打开
- AirDrop — 如果使用Mac,可以将大文件直接AirDrop到iPhone或iPad
- 电子邮件 — 适用于较小的文件,但大多数邮箱服务商将附件限制在25MB
- 直接下载 — 许多县和州的GIS门户提供Shapefile直接下载。在设备的Safari中打开链接,GoGIS即可打开下载的文件