2016-08-13 1 views
0

Scénario est,Aucun objet JSON pourrait être décodé, JvectorMap Converter

Im nouveau à python et d'essayer de générer jvectorMap en utilisant le plugin Converter.py fourni par jVectorMap,

J'ai installé osgeo4w (bureau d'installation) sur Windows 7 64bit. Python 2.7, GDAL 2.1.0 et Shapely sont également installés sous OSGEO4W.

I télécharger shapefile

ne_10m_admin_1_states_provinces.shp 

J'ai placé ce fichier de forme dans le répertoire converter.py, puis j'ai ouvert shell osgeo4w et accède à converter.py et exécutez la commande suivante pour générer la Russie carte pour la conversion des cartes d'apprentissage .

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 

J'ai pris cette commande depuis ce post Comment générer une nouvelle carte pour jvectormap jquery plugin? mais je fait face erreur objet JSON Decode, jetez un oeil sur l'image ci-dessous enter image description here

Aidez-moi à résoudre mon problème, comme je l'ai dit im nouveau à python et jvector carte

Répondre

0

Je soupçonne que la question est que le passé dans les arguments ne peut pas être converti en JSON par le script en raison d'un guillemet double manquant à la fin de votre --where. Il devrait probablement être:

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

EDIT:

s'avère que c'est un problème plus vaste. Si vous regardez le code source pour converter.py, vous trouverez ceci:

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

, il ressemble ce script ne peut pas être appelé ainsi. Il attend un fichier avec ce JSON, ou pour que les params passent par stdin. Le documentation semble être d'accord avec cela.

+0

encore la même erreur que je –

+0

imprimé JSON avant décodé, il imprime des caractères spéciaux dans –

+0

documentation, ils ont utilisé proccessor.py, pas converter.py, im confus –