麻辣GIS微信平台

更多 GIS 干货

微信关注不错过

「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入门学习笔记

相关阅读

麻辣GIS-Sailor

作者:

GIS爱好者,学GIS,更爱玩GIS。

声明

1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。

2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。

手机阅读
公众号关注
知识星球
手机阅读
麻辣GIS微信公众号关注
最新GIS干货
关注麻辣GIS知识星球
私享圈子
没有上文

留言板(小编看到第一时间回复)