Почему не работают скрипты?

0 голосов
спросил 25 Июль, 09 от Korobkin1 (3,140 баллов) в категории Программные продукты Esri
Здравствуйте все ГИС-специалисты и к ним примкнувшие!
 
Читаю книгу Geoprocessing и использую Tutorial для этой книги. Дошел до запуска скрипта - не работает. Скрипт из Tutorial - понятное дело рабочий. Чего то я недоустановил?
Начал разбираться в Python. Вроде бы скрипт понятен. Но судя по всему не работает создание геопроцессора в строках:
 
import win32com.client
gp = win32com.client.Dispatch("esriGeoprocessing.GpDispatch.1")
 
кто-нибудь может объяснить что в этих командах происходит? Что и куда обращается? Где и в каком виде на диске находится модуль геопроцессора?
Помогите пожалуйста, если не трудно...

8 Ответы

0 голосов
ответил 27 Июль, 09 от dsavitskiy (10,720 баллов)
Какой версией софта пользуетесь?
Уверены, что Tutorial, от вашей версии?
0 голосов
ответил 27 Июль, 09 от Grigoriy (127,020 баллов)
Если у Вас версия 9.3 или 9.3.1, то модуль PythonWin, нужно инсталлировать руками:
http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?id=905&pid=904&topicname=About_getting_started_with_writing_geoprocessing_scripts
NOTE: In order to use the win32com.client module successfully, PythonWin should be be installed. For more information on installing PythonWin, see Installing PythonWin.
http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?TopicName=Writing_Python_scripts&anchor=installing_pythonwin

Если версия 9.2, то нужно аккуратно снести все предыдущие версии питона и установить его заново.
Также нужен 9.2 SP2, а лучше SP6.

http://support.esri.com/index.cfm?fa=knowledgebase.techArticles.articleShow&d=31900

http://support.esri.com/index.cfm?fa=knowledgebase.techarticles.articleShow&d=31911
0 голосов
ответил 27 Июль, 09 от Korobkin1 (3,140 баллов)

У меня 9.2 ; tutorial более ранний.

Спасибо, с вашей помощью понял где искать. Буду разбираться.
Сейчас хочу понять - что можно изменить, чтобы в ArcGIS 9.2 заработал этот скрипт?

import win32com.client, sys, os
gp = win32com.client.Dispatch("esriGeoprocessing.GpDispatch.1")

gp.workspace = sys.argv[1]
clipFeatures = sys.argv[2]
out_Workspace = sys.argv[3]
clusterTolerance = sys.argv[4]
 
try:
    fcs = gp.ListFeatureClasses()
    fcs.Reset()
    fc = fcs.Next()
    while fc:
         outFeatureClass = out_Workspace + "/" + gp.ValidateTableName(fc, out_Workspace)
  
            if str(fc) != str(os.path.split(clipFeatures)[1]):
            gp.clip_analysis(fc, clipFeatures, outFeatureClass, clusterTolerance)
        fc = fcs.Next()
except:
    gp.AddMessage(gp.GetMessages(2))
    print gp.GetMessages(2)
0 голосов
ответил 27 Июль, 09 от Korobkin1 (3,140 баллов)
И еще вопрос: где можно посмотреть примеры скриптов на Python для Desctop 9.2?
0 голосов
ответил 27 Июль, 09 от rromeo (9,780 баллов)
В тулбоксе есть примеры, в папке samples, кажецца
0 голосов
ответил 29 Июль, 09 от Korobkin1 (3,140 баллов)
Модель работает отлично. Экспортирую ее в скрипт. Запускаю скрипт. Вот такая ошибка.   Error in executing: cmd.exe /C D:\Pro\5D83~1\L1\Data\STREAM~1.PY   Может кто-нибудь сталкивался?
0 голосов
ответил 29 Июль, 09 от medwed (900 баллов)
Расширение файла py сопоставлено питону?
0 голосов
ответил 29 Июль, 09 от Korobkin1 (3,140 баллов)
Спасибо medved.
сопоставил расширение py в винде с pythonw.exe (было просто с python.exe). Скрипт без параметров пошел. С параметрами ввода\вывода выдает ту же ошибку. Буду возиться дальше...
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...