「GIS工具」GISer的小军刀-mapshaper
Mapshaper是一个GIS数据处理的小工具,是Github上著名的开源GIS小项目,核心功能用于编辑 Shapefile、GeoJSON、TopoJSON、CSV 和其他几种数据格式,使用JavaScript语言实现,支持多种使用方式。
今天小编带大家领略下这个小工具各方面功能,有兴趣小伙伴可以下载试用。
Web中使用
这应该是大家最广泛的使用方式,甚至很多同学只使用过这种方式。访问官网:
https://mapshaper.org/
然后直接上传文件就进行各种操作了。
比如常见的转topojson,地图压缩等。
你以为这就完了?no no no,这只是Mapshaper的冰山一小角。下面开始真正的玩法。
命令行方式使用
Web方式只是解锁Mapshaper的一种简易方式,真正强大的还是要看命令行。
安装NodeJS
安装 Webshaper 需要 NodeJS 环境,如果你是专业的WebGIS or 前端开发人员,这应该是基本常识了,如果不懂JavaScript 或者 NodeJS也没关系。
去 NodeJS 官网下载LTS版本,并安装。
https://nodejs.org/zh-cn/download/
安装完在命令行输入 node -v
显示出版本号表示安装成功。
安装Mapshaper
npm install -g mapshaper
几个常用的命令
mapshaper-gui
这个命令很有用,是在本地启动一个Mapshaper服务,如果你遇到过需要处理的数据过大,在官网上反应很慢的话,可以使用这个命令在本地处理,可以处理GB级的数据。
获取数据信息
mapshaper mystery_data.json -info
数据转换
把所有.shp文件转换成geojson
mapshaper *.shp -o format=geojson
剪裁图层
mapshaper states.shp -clip land_area.shp -o clipped.shp
还有更多命令可以通过官网查看。
开发中使用
可以在NodeJS中,目前暴露了三个API,runCommands()
, applyCommands()
和 runCommandsXL()
,其中runCommands()
和 runCommandsXL()
类似,一个是用于大文件处理。runCommands
可以直接输出到文件,applyCommands
把处理结果放在对象中。
示例:转换shp到geojson
var mapshaper = require('mapshaper');
mapshaper.runCommands('-i shapefiles/*.shp -o geojson/ format=geojson');
总结
小工具不大,也是开源的,有兴趣的可以直接看下源码,基于Node的GIS工具也越来越多啦,JavaScript可以学起来啦~
所有文章
点击查看系列全部文章--> 「更新中」Mapshaper入门学习笔记
相关阅读
声明
1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。
2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。