做GIS的都知道,数据格式不统一有多头疼。Shapefile转GeoJSON,KML转SHP,每次都要找在线工具,上传下载慢得要死,还担心隐私泄露。今天聊聊GEO_Convert.exe这个工具,很多新手觉得它是个黑盒,其实用好了能省不少时间。
我手头有个项目,需要把几百个KML文件批量转成SHP,还要统一坐标系。用ArcGIS一个个点太累,QGIS虽然免费但批量处理还得写Python脚本。后来发现GEO_Convert.exe能搞定,关键是它支持命令行,适合自动化流程。
第一步,下载与安装。别去官网下,官网经常挂。去GitHub找开源版本,或者找国内镜像站。解压后你会看到一个exe文件和一个readme.txt。别急着双击,先看readme,里面写了支持的输入输出格式。我试过它支持常见的矢量格式,也支持一些栅格,但栅格处理不如GDAL强大。
第二步,配置环境变量。这是很多人忽略的一步。把exe所在的文件夹路径加到系统PATH里。这样在任意目录打开CMD都能直接调用。不用每次都在文件管理器里找路径,方便命令行操作。
第三步,基本语法。打开CMD,输入GEO_Convert.exe -h查看帮助。核心参数是-i(输入)和-o(输出)。比如:GEO_Convert.exe -i input.kml -o output.shp。简单直接。但要注意,坐标系问题。KML默认是WGS84,转SHP时如果不指定,可能坐标偏移。加个-srs参数指定输出坐标系,比如-srs EPSG:4326。
第四步,批量处理。单个文件转换没意思,重点在批量。写个简单的bat脚本。用for循环遍历文件夹里的所有kml文件。比如:for %f in (*.kml) do GEO_Convert.exe -i %f -o %~nf.shp -srs EPSG:4326。这行命令能一次性把当前目录下所有kml转成shp,文件名自动匹配。
第五步,错误处理。转换过程中常遇到编码问题。中文属性名乱码是常态。GEO_Convert.exe默认用UTF-8,如果源数据是GBK,得先转编码。或者用工具预处理。另外,拓扑错误也会导致转换失败。比如自相交的多边形。转换前用QGIS检查修复一下,能减少很多麻烦。
我有个真实案例,客户给了一堆GPS轨迹数据,格式各异,有的CSV,有的KML,有的GPX。要求整合成一个SHP,并计算速度。如果用传统方法,得先统一格式,再导入GIS软件,再计算字段。耗时两天。用GEO_Convert.exe配合Python脚本,先批量转成统一格式,再用Pandas处理属性,最后合并。半天搞定。
注意,GEO_Convert.exe不是万能的。复杂的空间分析它做不了,它只是个格式转换工具。别指望它能做缓冲区分析或叠加分析。那是ArcGIS或QGIS的事。它的优势在于轻量、快速、可集成。
还有人问,为什么不用GDAL?GDAL功能强大,但命令行参数复杂,对新手不友好。GEO_Convert.exe封装了常用操作,更直观。当然,如果你熟悉GDAL,直接用gdal_translate或ogr2ogr更高效。但对于偶尔需要转换数据的小团队,GEO_Convert.exe更省事。
最后提醒,备份数据。转换操作不可逆,尤其是覆盖写入时。先转一份测试,确认无误再批量跑。别等数据丢了哭鼻子。
GEO_Convert.exe虽然小众,但在特定场景下非常实用。掌握它,能提升不少工作效率。别被那些花哨的在线工具忽悠了,本地工具才是王道。数据安全第一,效率第二。
本文关键词:GEO_Convert.exe