2016-09-29 2 views
0

J'ai besoin de créer des matrices de poids spatiaux pour différents shapefiles, j'ai donc essayé de traiter par lots dans un script Python autonome. Voici l'exemple de code exporté depuis ModelBuilder dans le logiciel ArcGIS 10.2.Comment générer une matrice de poids spatial dans un script python?

import arcpy 
test_shp = "D:\\My Documents\\ArcGIS\\test.shp" 
tset_swm = "D:\\My Documents\\ArcGIS\\tset.swm" 
arcpy.GenerateSpatialWeightsMatrix_stats(test_shp, "MyID", tset_swm, 
            "K_NEAREST_NEIGHBORS", "EUCLIDEAN", 
            "1", "", "4", "ROW_STANDARDIZATION", 
            "", "", "", "") 

Le problème ici est qu'il n'y a aucun fichier ou message de sortie. Et il est intéressant, quand j'ajoute

print "hello world" 

Après l'exécution du code, il doit imprimer une chaîne « Bonjour tout le monde » sur la console, mais il n'y a pas de sortie non plus!

Quelqu'un pourrait-il m'expliquer ce que je fais mal et comment je peux résoudre ce problème?

+0

Avez-vous commencé par vérifier si les fichiers sont transmis correctement? Et si elles sont dans le bon format. –

Répondre

0

Je ne vois rien de mal ici. Mais tset_swm n'est-il pas dans votre code la sortie que vous recherchez? C'est la matrice de pondération spatiale de sortie que vous avez générée en fonction de votre fichier de formes d'entrée.

+0

Merci. J'ai trouvé que c'était correct quand j'ai désinstallé le matplotlib. Je ne sais pas pourquoi. – Boorn