Файл Python Folium Topojson не отображается

Здравствуйте, я пытаюсь отобразить эту карту с помощью Folium в блокноте Jupyter.

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

Это рендерит базовый слой, но не рисует полигоны для округов.

Я нашел другой пример в 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?


person Kevin Hill    schedule 01.03.2018    source источник


Ответы (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
person Kevin Hill    schedule 02.03.2018