我正在努力将旧坐标系的某些地图/区域转换为更简单(不太详细)的模型,以便在网络上进行表示(使用jVectorMap)。我成功地使用了Douglas Peucker算法(来自这里的代码:http://www.codeproject.com/Articles/18936/A-C-Implementation-of-Douglas-Peucker-Line-Approxi)。
它工作得很好,但是这个实现没有考虑到这些区域彼此对齐(共享边界),当使用更高的容差时会导致非常难看的结果,如下所示。
是否可以实施区域保持对齐的解决方案?
答案 0 :(得分:1)
如果您有使用Python的经验,可以尝试simplification script我写的是jVectorMap GIS转换器的一部分。不幸的是它尚未完成:您需要手动安装依赖项,在脚本内部定义参数(路径,驱动程序)等。
只需在脚本中设置以下参数:
tolerance = 1000
infile = 'Kn99_sve.MIF'
outfile = 'map.mif'
将驱动程序名称格式ESRI Shapefile
更改为MapInfo File
。
要运行脚本,您需要Python 2.7并安装Python模块:gdal,shapely,anyjson。
答案 1 :(得分:0)