0

我正在尝试从GEOFLA shapefile 生成 svg 地图。

使用“bbox”边界模式并手动设置 bbox 值效果很好:

{
    "layers": [{
        "id": "depts", 
        "src": "data/DEPARTEMENTS/DEPARTEMENT.shp",
        "filter": {"CODE_REG": "24"},
        "simplify": {
            "method": "distance",
            "tolerance": 8
        },
        "attributes": "all"
    }],
    "bounds": {
        "mode": "bbox",
        "data": [-4.5, 42, 8, 48],
    },
    "export": {
       "width": 600,
       "ratio": 0.8
    }
}

但是当将边界模式设置为“多边形”时,我得到一个空的 svg 地图:

{
    "layers": [{
        "id": "depts", 
        "src": "data/DEPARTEMENTS/DEPARTEMENT.shp",
        "filter": {"CODE_REG": "24"},
        "simplify": {
            "method": "distance",
            "tolerance": 8
        },
        "attributes": "all"
    }],
    "bounds": {
        "mode": "polygons",
        "data": {
            "layer": "depts"
        },
        "padding": 0.06
    },
    "export": {
       "width": 600,
       "ratio": 0.8
    }
}

我查看了 kartograph 文件,我注意到“map.py”中的“get_features”方法返回一个 Polygon,其坐标与之前从 shapefile 中提取的几何特征不相交。

然后,在检查特征几何是否与“layer.map.view_poly”属性相交时,每个特征都会在“maplayer.py”文件的“get_features”方法中被丢弃。

4

1 回答 1

2

我在使用 GEOFLA 文件投影时遇到了类似的问题。我找到的解决方案基本上是使用 QGIS 更改我的 shapefile 投影。我的想法是使用对我有用的安装指南中给出的 shapefile 的投影。

从 kartograph 安装页面获取示例形状文件

  1. 在 QGIS 中加载此矢量图层 在 QGIS 中添加您的 GEOFLASH 层
  2. 右键单击 GEOFLASH 图层和“另存为...”菜单
  3. 在保存窗口中,为您的图层命名(例如:DEPARTEMENT_WGS84.shp)
  4. 单击 CSR 按钮并选择测试层投影 (WGS 84 / EPSG:4326)
  5. 点击确定

检查新的形状文件是否有正确的投影:

cat DEPARTEMENT_WGS84.prj
GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]

现在您的脚本应该可以使用新的形状文件正常工作。

于 2015-03-20T15:18:30.357 回答