【问题标题】:Python Folium Topojson file not renderingPython Folium Topojson 文件未呈现
【发布时间】:2018-03-01 21:34:22
【问题描述】:

您好,我正在尝试在 jupyter 笔记本中使用 Folium 渲染此地图。

https://github.com/kthotav/TopoJSON-Maps/blob/master/usa/usa-states/colorado/colorado-counties.json

因为这是 TopoJson,所以应该很简单

m = folium.Map([39, -105], zoom_start=7)
folium.TopoJson(
    open('./data/colorado-counties.json'),
    object_path='objects.colorado-counties'
).add_to(m)
m

这会渲染基础层,但不会为县绘制多边形。

我找到了this other example on stackoverflow,它使用基本相同的代码渲染得很好。

m = folium.Map(location=[40.7,-74], zoom_start=10)
folium.TopoJson(
    open('./data/nyc_census_tracts_2010.geojson'),
    object_path='objects.nyct2010',
).add_to(m)
m

我找不到这两个文件之间的任何大规模差异。是不是有些topojson版本不兼容?

【问题讨论】:

    标签: python geojson topojson folium


    【解决方案1】:

    好的,想通了。 folium 无法解析带有-s 的对象名称。可能是javascript翻译的东西?

    有趣的测试

    作品

    m = folium.Map([0, 0], zoom_start=7)
    folium.TopoJson(
        {
          "type":"Topology",
          "transform":{
            "scale": [1,1],
            "translate": [0,0]
          },
          "objects":{ 
            "two_squares":{
              "type": "GeometryCollection",
              "geometries":[
                {"type": "Polygon", "arcs":[[0,1]],"properties": {"name": "Left_Polygon" }},
                {"type": "Polygon", "arcs":[[2,-1]],"properties": {"name": "Right_Polygon" }}
              ]
            }
          },
          "arcs": [
            [[1,2],[0,-2]],
            [[1,0],[-1,0],[0,2],[1,0]],
            [[1,2],[1,0],[0,-2],[-1,0]]
          ]
        },
        object_path='objects.two_squares'
    ).add_to(m)
    m
    

    没用

    m = folium.Map([0, 0], zoom_start=7)
    folium.TopoJson(
        {
          "type":"Topology",
          "transform":{
            "scale": [1,1],
            "translate": [0,0]
          },
          "objects":{ 
            "two-squares":{
              "type": "GeometryCollection",
              "geometries":[
                {"type": "Polygon", "arcs":[[0,1]],"properties": {"name": "Left_Polygon" }},
                {"type": "Polygon", "arcs":[[2,-1]],"properties": {"name": "Right_Polygon" }}
              ]
            }
          },
          "arcs": [
            [[1,2],[0,-2]],
            [[1,0],[-1,0],[0,2],[1,0]],
            [[1,2],[1,0],[0,-2],[-1,0]]
          ]
        },
        object_path='objects.two-squares'
    ).add_to(m)
    m
    

    【讨论】:

      猜你喜欢
      • 2016-11-14
      • 1970-01-01
      • 2015-08-06
      • 1970-01-01
      • 2018-08-19
      • 1970-01-01
      • 1970-01-01
      • 2014-04-08
      • 1970-01-01
      相关资源
      最近更新 更多