Shapefile、GeoPackage或KML文件能用来做什么?
有人发给您一个Shapefile、一个GeoPackage、一个KML文件。您打开它,它就出现在地图上了。接下来呢?
无论是什么格式,答案都一样,因为每种格式都是一张背后带着表的地图:每个要素一行,每个属性一列。(初次接触GIS文件?从这里开始了解这是什么意思。)文件导入GoGIS后,您都用同样的方式处理这张表。GoGIS会把以下格式作为带属性表的图层打开:
- Shapefile(包含.shp、.dbf、.shx、.prj的.zip)——至今仍是县政府、公用事业单位和各类机构交换数据的标准格式
- GeoPackage(.gpkg)——单个文件即可容纳多个图层
- KML和KMZ——来自Google Earth和许多网络地图
- GeoJSON——常见于网络服务和实时数据源
- GPX——来自GPS设备的轨迹和航点
- 带坐标列的CSV——来自电子表格的点
本指南使用三个真实示例。这些数据免费公开,看起来就和您从县政府、州级机构或顾问公司那里拿到的文件一样:两个压缩的Shapefile和一个GeoJSON数据源。
获取数据:无需准备文件
您不需要寻找或下载任何东西就能跟着操作。这三个数据集都内置在GoGIS的参考数据中。参考数据会直接从发布机构获取公开数据,并作为普通图层导入——与您自己打开的文件完全一样。
打开参考数据:在图层面板中点击导入按钮(带+号的文档图标),然后选择参考数据。接着选择:
- California Crops (2024)(加州作物)→ Kern,用于实例1
- 威斯康星州地块 → Iron,用于实例2
- “全球”下的近期地震,用于实例3
完成之后,参考数据里还有更多数据可以练习:FEMA洪泛区、SSURGO土壤、湿地、河流和湖泊、保护区、活跃野火,以及欧洲的Natura 2000。有关这些数据的更多信息,请参阅SSURGO土壤数据与FEMA洪水图。本指南中的所有操作都适用于其中任何一个数据集,也适用于您自己的文件。
- 加利福尼亚州Kern County的作物:杏仁一共种了多少英亩?(筛选、汇总、导出为电子表格)
- 威斯康星州Iron County的地块:镇上谁缴的房产税最多?(汇总、排序、为地图着色、添加标注)
- 近期地震:本月东京周边的地震有多强?(平均值、最强地震、标注)
截图来自iPad,地图和属性表并排显示。所有操作在iPhone上同样适用,只是属性表会覆盖在地图上方打开。
开始之前:列标题菜单
下面的大部分操作都在属性表中进行,也就是图层的电子表格视图:每个要素一行,每个属性一列。在列标题上的两种手势几乎可以完成所有操作:
- 点击列标题,按该列排序。再次点击则反向排序。
- 按住列标题,打开该列的菜单:
- 汇总——针对您当前查看的行,计算数字列的总和、平均值、最小值和最大值。
- 按此列为地图着色——根据该列的值为图层生成图例。
- 用此列标注地图——在地图上显示该列的值。
- 隐藏列——在表格和CSV导出中隐藏该列。
实例1:加利福尼亚州Kern County的杏仁种植面积
数据:加利福尼亚州水资源部每年绘制全州每一块农田的地图,并以压缩Shapefile的形式发布,其中包含每块田种植的作物及其面积(英亩)。GoGIS会按县为您下载,一次一个县。
加载数据:在图层面板中点击导入按钮(带+号的文档图标),选择参考数据,然后选择California Crops (2024),再选择Kern。Kern Crops会作为一个包含21,105块田的图层加载进来。
打开属性表:在图层面板中点击Kern Crops旁边的…,然后选择属性表。
每块田就是一行。按住任意列标题,即可查看对该列可以进行哪些操作。
筛选出杏仁:每列标题下方都有一个筛选框。在Crop列的筛选框中输入Almonds。表格从21,105块田缩减为3,730块杏仁园。
汇总英亩数:按住Acres列标题并选择汇总。表格下方会出现一个汇总栏,给出答案:Kern County共有189,042英亩杏仁,杏仁园平均面积为50.68英亩,最大的一块为326.46英亩。汇总涵盖所有匹配的行,而不只是屏幕上显示的这一页;当您更改搜索或筛选条件时,汇总也会随之更新。
在实地查看:放大地图。如果图层已按作物添加标注(按住Crop,然后选择用此列标注地图),每块田都会显示种植的作物:杏仁田旁边是开心果和葡萄。
带走数据:点击属性表左上角的表格图标,即可将这些行导出为CSV文件。导出内容包含所有符合筛选条件的行,按您的排序顺序排列,只包含当前显示的列——所以请先隐藏不需要的列。将文件存储到“文件”App中,然后用Numbers、Excel或Google表格打开,或者作为附件通过电子邮件发送。
实例2:威斯康星州Iron County的Hurley镇房产税
数据:威斯康星州按县发布全州所有地块的压缩Shapefile,包含所有者、地址、评估价值和房产税。Iron County是面积最小的县之一,几秒钟就能下载完。
加载数据:在图层面板中点击导入按钮,选择参考数据,然后选择威斯康星州地块,再选择Iron。接着将地图放大到位于密歇根州边界上的县府所在地Hurley。
用地图工具栏中的表格按钮打开属性表。用这种方式打开时,表格会列出视图范围内的要素,因此会随着您平移和缩放地图而变化。按住Net Property Tax(净房产税)列标题。
汇总会计算视图范围内地块的税额总和:1,371个地块共缴纳$2,009,269,平均每个地块$1,465.55。
排序:点击Net Property Tax列标题,再点击一次即可按从大到小排列。缴税最多的纳税人会排到表格顶部,并附有地址。点击行首的定位图标,地图就会缩放到该地块。
为地图着色:再次按住该列标题,选择按此列为地图着色。数字列会被分成若干等级,每个等级中的地块数量大致相同,颜色从黄色过渡到红色,镇上税额较高的街区一眼就能看出来。图例会显示在图层面板中,您还可以在图层的样式设置中微调颜色和分级。
添加标注并放大:在同一菜单中选择用此列标注地图,然后放大到市中心。现在每个地块都会在地图上显示其税额——而且由于表格会随地图变化,汇总也缩小到视图范围内的179个地块:合计$260,050。
实例3:东京附近的近期地震
数据:美国地质调查局(USGS)以实时GeoJSON数据源的形式发布全球记录到的每一次地震。它不是Shapefile,而这正是重点所在:同样的工具也适用于GeoJSON、KML和GeoPackage图层。
加载数据:点击导入按钮,选择参考数据,然后在“全球”下选择近期地震:全球过去30天的地震,约一万次。然后将地图缩放到东京,并从地图工具栏打开属性表。
按住mag(震级)列标题,打开该列的菜单。
汇总会给出平均值和最强地震:平均震级4.54,最强5.3。(总和也会显示,但把震级加在一起没有任何意义——请选用符合您问题的统计值。)用此列标注地图会在地图上显示每次地震的震级。
提示:这个数据源中的某些列是给计算机而不是给人看的——例如time是自1970年以来的毫秒数。按住列标题并选择隐藏列,即可在导出前整理表格。
现在用您自己的数据试试
以上所有操作都适用于您导入GoGIS的任何图层:县政府提供的Shapefile、顾问公司交来的GeoPackage、Google Earth导出的KML、网络服务提供的GeoJSON、GPX轨迹或点数据CSV。要导入文件,请参阅Shapefile、GeoPackage以及KML和KMZ的相关指南。然后打开它的属性表,提出您的问题:
- 有多少?筛选表格,然后对数字列进行汇总。
- 哪些最大?点击列标题进行排序。
- 在哪里?按某一列为地图着色,并添加标注。
- 需要在别处使用?将这些行导出为CSV,用于电子表格或报告。
所有操作都在设备上运行,数据加载后即可离线使用,无需账户,也无需订阅。
想了解更多?进阶:缓冲区、相交、差集和融合介绍如何按位置组合图层:矿区一英里范围内的地块、田地下面的土壤、湿地之外剩下的土地。