如何从大量shapefile生成缩略图图像?


9

我和一位同事最近发布了一个名为Mapoteca的开源项目,该项目是与GDAL / FWTools安装集成的一组Python脚本,允许对目录进行完整的遍历,以查找空间数据并提取范围,几何形状,元素数量,投影和用户将其写入csv文件。我们正在研究描述相关DBF文件的部分,并且我们想生成每个shapefile的缩略图,您知道一种使用Python生成jpeg或png缩略图的方法吗?

Answers:




2

最简单的方法是使用subprocess.call()调用gdal_rasterize,但我怀疑它没有进行任何内插,因此如果直接从数据生成缩略图大小的图像,它将混淆到难以辨认的程度。因此,您应该生成一个“合理大小” *的临时图像,并使用Python图像库将其缩放至所需大小。

但是我希望最大的问题将是您将样式基于哪个属性?如我所知,Shapefile没有固有的显示信息,因此您将需要找到一种确定使用哪种颜色的方法。gdal_rasterize确实具有执行此操作的能力,但是选择通常基于特定于领域的知识。要拥有通用工具,您将必须具有通用样式方案。

*您也可能需要为此制定一些硬编码规则。也许从理想的像素大小开始(例如,每个像素10m),如果生成的图像太大而无法实际使用,则增加像素大小。



1

仅出于完整性考虑,mapserver还可以使用shp2img实用程序在命令行上从一系列基础数据中渲染美观的地图。同样,您将需要选择适合您目的的非常通用,非常简单的样式。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.