原文出自 MapBox 专家 Tom MacWright,给非GIS专业的制图爱好者的操作便签。读过之后,获益匪浅,不敢独享,首次尝试了翻译文档。翻译过程中,发现有些内容,如获取数据的方法,对国内不太适用,于是针对数据源进行了小部分的更新。文中提到的相关小工具,非常灵活有用,但有些只能在linux上运行。为方便使用,我会参考其功能,重新做跨平台实现,发布到GitHub。
- 少量
- 把数据转为 GeoJSON 格式,使用 Leaflet 发布地图
- 大量, 但是点位信息并不重要
- 使用 Leaflet.markercluster 把点集群(cluster)起来
- 大量, 并且有些值可以聚合(aggregate)起来
- 使用 QGIS hexbin 插件创建hexbins, 生成多边形. 参照多边形数据处理
- 大量, 表示存在状态 - 如比tweets发布位置数据
- 使用 Leaflet.heat 或 QGIS heatmap 插件生成热力图. 如果选择 QGIS heatmap, 参照 Raster 数据处理.
- 海量, 不需要 label , 使用 datamaps绘制.
- 少量
- 把数据转为 GeoJSON 格式,使用 Leaflet 发布地图
- 大量, 并且多边形复杂, 有大量必需的细节信息
- 使用 TileMill 渲染,生成使用 UTFGrid 的交互地图
- 使用 GeoServer 的 WMS 与 GetFeatureInfo 接口
- 大量, 但多边形细节信息不必需
- 使用 TopoJSON 或 QGIS 化简多边形后使用Leaflet发布地图
- 数值
- 使用 QGIS 取点集或多边形中心点,参照点数据处理
- 归一处理成比例数据后分割多边形区域,参照 比率 类型处理
- 比率 或 分类
- 生成等值线图,小数据量使用 Leaflet , 大数据量使用 TileMill
- 时序数据 - 与时间相关的值
- 如果少于100个样本 - 例如 50 年间按年统计的数据, 使用 small multiples: 每个样本一张图.
- 使用 Leaflet 或 d3.js 生成动画
- 海量数据, 使用 CartoDB torque。国内可以使用 极海 GeoHey。
- 多变量数据, 如种群计数
- 使用 englewood 生成点密度图 dot density map
- 地名数据, 如国家或行政区划名称
- 有编码 ID:
- ISO2 或 ISO3 编码
- 在 Natural Earth 下载合适等级的数据, 使用 QGIS, 参照多边形数据处理
- 邮编
- 在 ZCTAs 下载数据
- ISO2 或 ISO3 编码
- 无编码
- 查找编码, 或手绘图形
- 地址数据
- 地址不能直接上图. 使用 OpenRefine 或 Geo for Google Docs 进行地址编码转换成点 , 然后参照点数据处理
- 地理编码服务
- US: US Census
- Canada: Geogratis
- OpenStreetMap: Nominatim
- Data Science Toolkit
- 地理编码库
- node - node geocoder
- Perl - Geo::Coder::Many
- PHP - Geocoder PHP
- Python - geopy
- Ruby - Ruby Geocoder
- 已经配准与处理好的数据 (卫片或处理后的数据)
- 使用 TileMill 渲染地图,在 Leaflet 中使用瓦片
- 参考 processing satellite imagery 使用 GDAL/ImageMagick 流程.
- 无人机采集的数据
- 扫描数据
- 使用 MapKnitter 进行配准与纠正
-
政府数据
- 联系政府相关数据主管部门获取,或访问当地政务数据网站,如北京政务数据资源网
- 国家数据
- 国家地球系统科学数据共享平台
- 中国人口地理信息系统
-
个人数据
- 使用 geojson.io 或其他GIS软件平台自行绘制
-
全球数据
- 全球低精度基础数据,naturalearthdata.com
- 全球行政区划数据,Global Administritive Areas
- 高精度本地矢量数据, OpenStreetMap extracts
- Global LUCC data (30m)
-
国外提供的中国数据
-
其他专题数据
- 投影:
- 网络瓦片地图使用选择 Spherical Mercator 投影
- 如果使用 d3 并且没有使用瓦片, 则选择最适合的. d3-geo-projection 扩展了很多投影类型.
- 如果有投影信息但又不确定是什么类型,可以使用 epsg.io.
- 配色:
- 拿不准时用 ColorBrewer
- 可以参考 Subtleties of Color了解更多
- 比例尺:
- 所有数据
- 优先线性比例尺
- 其次分位数
- 比率或复合数据
- 考虑 log 和 power 比例尺
- 所有数据
- 点标识:
- 首先是不区分的圆圈
- 根据圆圈面积等比标识
- 其他地图控件:
- 只有正北方不指向上时添加指北针
- 尽量增加数据属性说明
- 如果支持缩放,则让缩放控件可见,平移控件不可见