ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

geo各种文件的介绍以及格式区分

geo各种文件的介绍以及格式区分

做地图开发的兄弟,肯定都被那些后缀名搞晕过吧?.shp, .kml, .geojson 到底哪个才是你的菜?这篇文章不讲那些晦涩的术语,只说大白话。看完你就能明白怎么挑格式,怎么把数据转过去。省下的调试时间,够你多喝两杯咖啡了。

先说说最经典的 shp,Shapefile。这是 Esri 家的亲儿子,也是老国标。大部分 ArcGIS 用户都离不开它。但是,你得记住个事,它不是单个文件!是一大坨文件捆绑在一起的。main, index, shp, shx, dbf... 这一堆东西缺一不可。你要是只拷贝一个 shp,打开绝对是报错。而且它不支持 unicode,存中文文件名或者字段经常乱码,特别让人头大。上次我帮朋友导数据,因为漏了那个 prj 投影文件,整个图层全飘到南太平洋去了,那场面,真的尴尬到脚趾扣地。

接着看 kml 和 kmz。这两个是 Google 地球的原生格式。你要是想让老板或者客户在 Google Earth 里直接看效果,选它准没错。kml 是 xml 格式,本质是个文本,你能用记事本打开看结构。好处是直观,坏处是数据量一大,浏览器直接卡死。kmz 呢,就是 kml 的压缩包,里面还能打包图片、样式。现在很多人做 GIS 展示,为了那个视觉冲击力,都会转成 kmz 发给非技术人员。毕竟,他们不想装什么专业软件,点开就能看图,多好。

再说说现在的网红,geojson。做 Web 开发的必选。纯文本,基于 JavaScript Object Notation,跟前端对接简直是丝般顺滑。前端直接用 JS 读取,渲染到 Leaflet 或者 Mapbox 上,速度飞快。它支持坐标体系多,还能存属性。不过有个坑,geojson 对坐标系要求很严,必须是 WGS84,也就是 4326。你要拿个 UTM 坐标系的直接扔进去,那就是南辕北辙。还有,geojson 不适合处理特别大的数据集,毕竟它是存内存里的,百万级以上的点,还是劝你换矢量切片或者 PostGIS。

还有两个冷门但好用的,topojson 和 csv。topojson 是 geojson 的优化版,主要是为了减少文件大小。通过共享边界来压缩,适合做地图渲染。如果你在做全国地图,数据量巨大,用 topojson 能让页面加载快好几秒。这个对于 SEO 和用户体验都是加分项。至于 csv,虽然不是原生 GIS 格式,但它是万能的。只要有经纬度,任何 GIS 软件都能加载。很多小白第一步都是从导出 csv 开始的。记得,第一列通常是经度,第二列纬度,或者反过来,要看软件设置。搞反了,图就画歪了。

总结一下,没有最好的格式,只有最适合的场景。ArcGIS 用户,老实用 shp,虽然繁琐但稳定。Web 开发,闭眼选 geojson,配合前端生态无敌。汇报演示,用 kmz,打开即用,不用装软件。处理海量边界,上 topojson。你要是还在纠结,那就先问问你的数据最终要用在哪里,谁来用,用什么软件看。别为了追求高大上,搞一堆复杂的转换,最后把自己累得半死,还出 BUG。记住,简单粗暴往往最有效。希望这点经验能帮你避坑,少熬点夜。

返回列表