Отчистка PersonalDB

0 голосов
спросил 24 Ноя, 08 от FockeR (4,360 баллов) в категории Программные продукты Esri
Доброго времени суток. К сожалению, пока нет возможности работать на удаленном сервере и части проекта, который все время обновляется, собираются на разных машинах. В мои обязательства входит "собрание" частей воедино и отправка на сервер.
Боле-менее процесс налажен, но вот никак не могу найти опцию, которой можно отчищать несколько слоев от данных. Это необходимо для того, чтобы отправить "чистые" слои людям, которые будут снова добавлять в них данные.
По одному слои чистятся ArcToolBox->Data Managment tools->Features->Delete features. Но если их штук по 25 в каждой базе, а их несколько, то очень напрягает перебирать все слои. И возможны ошибки (перескок через слой).
Как сразу загружать выбранные слои и чистить их от данных?
Заранее благодарен

2 Ответы

0 голосов
ответил 24 Ноя, 08 от Vadim (28,120 баллов)

Можно использовать batch (правой кнопкой на тулзе).

А может другие пути поискать? Если я правильно понял, то люди получают пустые слои, заполниют их данными, отправляют вам, вы их агрегируете, затем чистите полученные исходники и отправляете их обратно?
Так пусть у "людей" будет эталон базы со слоями без данных, с которого они будут делать копии, заполнять данными и отправлять вам.
Ну если хочется все же что то чистить и переправлять, то можно не гонять базы в полном виде: вы делаете экспорт схемы своей базы в xml отправляете "людям", а они с этого xml-ика восстанавливают всю структуру базы.
0 голосов
ответил 25 Ноя, 08 от Гость (210,080 баллов)
1. Вставить в текстовый файл с расширением *.py
-----------------------
 
###Import required modules
import sys, os, string, arcgisscripting

msgFail="Удаление не выполнено: "

try:
    #Check the number of parameters.
    #if len(sys.argv) = 0:
    #    raise Exception, msgInvalidParameters
   
    #Create the Geoprocessing Object
    gp = arcgisscripting.create()

    #Set the input datasets
    inputs  = gp.GetParameterAsText(0)

    inFeatures = string.split(inputs,";")

    #Loop through each dataset and define projection on it.
    for fff in inFeatures:
        try:
#            gp.delete_management(fff)
            gp.deletefeatures(fff)
        except:
            WarningMessage = (msgFail + "%s" % (fff))
            gp.AddWarning(WarningMessage)
         
except Exception, ErrorDesc:
    #If an error set output boolean parameter "Error" to True.
    gp.AddError(str(ErrorDesc))
---------------------------------

2. В ArcToolbox добавить Toolbox
3. В Toolbox добавить Script
    - в качестве Script File указать файл созданный в п.1
    - добавить строку:
             для поля Display Name вписать название  FEATURES
             для поля Data Type выбрать из списка значение Feature Class
    - в Parameter Properties для параметра MultiValue установит значение Yes
 
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...