Не удалось декодировать объект JSON, JvectorMap Converter

Сценарий,

Я новичок в python и пытаюсь сгенерировать jvectorMap, используя плагин Converter.py, предоставленный jVectorMap,

Я установил OSGEO4W (УСТАНОВКА рабочего стола) на Windows 7 64bit. Python 2.7, GDAL 2.1.0 и Shapely также устанавливаются в OSGEO4W.

я скачиваю шейп файл

ne_10m_admin_1_states_provinces.shp

Я поместил этот шейп-файл в каталог convert.py, затем открыл оболочку OSGEO4W, перешел в каталог convert.py и выполнил следующую команду, чтобы сгенерировать карту России для изучения преобразования карт.

python  converter.py ne_10m_admin_1_states_provinces.shp test-map.js --width 400 --where "ISO_3166_2 = 'RU-' and code_hasc!='' --country_name_index 12 --country_code_index 18 --minimal_area 4000000 --buffer_distance -0.5 --simplify_tolerance 10000 --longitude0 54.8270 --name russia

Я взял эту команду из этого поста. Как создать новую карту для плагина jvectormap jquery? но я столкнулся с ошибкой декодирования объекта JSON, посмотрите на изображение ниже введите здесь описание изображения

Помогите мне решить мою проблему, как я уже говорил, я новичок в картах python и jvector.


person Zaid Mirza    schedule 13.08.2016    source источник


Ответы (1)


Я подозреваю, что проблема в том, что переданные аргументы не могут быть преобразованы сценарием в JSON из-за отсутствия двойной кавычки в конце вашего --where. Вероятно, это должно быть:

--where "ISO_3166_2 = 'RU-' and code_hasc!=''"

ИЗМЕНИТЬ:

Оказывается, это большая проблема. Если вы посмотрите на исходный код converter.py, вы найду это:

args = {}
if len(sys.argv) > 1:
  paramsJson = open(sys.argv[1], 'r').read()
else:
  paramsJson = sys.stdin.read()
paramsJson = json.loads(paramsJson)

Итак, похоже, этот скрипт нельзя так назвать. Либо ожидается файл с этим JSON, либо параметры будут переданы через стандартный ввод. документация, кажется, согласна с этим.

person Karin    schedule 13.08.2016
comment
Я распечатал json перед декодированием, он печатает специальные символы - person Zaid Mirza; 13.08.2016
comment
в документации они использовали proccessor.py , а не convert.py , я запутался - person Zaid Mirza; 13.08.2016
comment
Документация, скорее всего, не актуальна. Но исходный код говорит вам, как это работает. - person Karin; 13.08.2016
comment
я новичок в python, я должен использовать его для конвертера jvectormaps, вы делали это раньше? - person Zaid Mirza; 13.08.2016