Запуск проекта

0 голосов
спросил 13 Апр, 04 от Knol (340 баллов) в категории Программные продукты Esri

Господа опытные пользователи, подскажите пожалуйста: как сделать, чтобы проект ArcVirew запускался с любого диска. То есть, проблема состоит в том, что каталог с данными может быть перемещен на другой диск (с сохранением имени, естественно), но необходимо, чтобы, несмотря на эти перемещения проект находил данные. Данные внутри общего каталога размещены в нескольких подкаталогах. Думаю, это возможно, но я не знаю как.

14 Ответы

0 голосов
ответил 14 Апр, 04 от Ilya (10,800 баллов)
Нужно вручную, (в текстовом редакторе (только не в MS Word :-) )), или с помощью многочисленных модулей убрать путь до общего каталога. Тогда AV будет начинать с него. Но при первой записи она снова пропишет все пути. Могу посоветовать использовать AvPath хотя сам предпочитаю в редактореimage
0 голосов
ответил 14 Апр, 04 от Vasiliy2 (8,240 баллов)

Используй

 http://www.dataplus.ru/Root/Scripts/FView.asp?ScriptID=12

для перемещения проекта и собирания всех данных в кучку

или как сказал Илья

http://www.dataplus.ru/Root/Scripts/FView.asp?ScriptID=25

0 голосов
ответил 14 Апр, 04 от Гость (210,080 баллов)

Ребята, спасибо за советы. Приложения я скачала и обязательно попробую. Но проблема выглядит несколько иначе. Как изменить путь к данным проекта, если они перемещены на другой диск, я понимаю. Но мне нужно передавать готовый проект сторонним пользователям. На каком диске он будет локализован у заказчиков, я не знаю. Возможно ли сделать так, чтобы AV находил данные всегда, на какой бы диск их ни поместили. Илья, сделать так, как ты советуешь (убрать путь вплоть до общего каталога) я пробовала, но в этом случае AV находит только те данные, которые расположены в этом каталоге, а дальше (в подкаталогах) не видит. Может что-то не так делала... Попробую еще.

 

0 голосов
ответил 14 Апр, 04 от PAS (2,860 баллов)

Илья советовал все верно, просто все Ваши данные должны находится в директории ниже, чем расположен сам файл проекта, например до обрезания пути в проекте выглядят:

 Path: "i:/file1.shp"
 Path: "i:/aaa/dir1/dir2/file2.shp"

после обрезания:  

 Path: "file1.shp"
 Path: "dir1/dir2/file2.shp"

и все работает отлично!

Проверял неоднократно. Даже запускал проект с CD (для демонстрации), конечно сохранить его в этои случае нельзя.

 

0 голосов
ответил 15 Апр, 04 от Mitrich (13,680 баллов)
Можно определить переменные типа MyPath, прописать их в стартапе и заменить в проекте конкретный путь на переменную. Пользователь должен будет у себя правильно переобозначить переменную
0 голосов
ответил 15 Апр, 04 от Jazz (7,650 баллов)
Кстати у меня CopyApr grid слои не переносит... Это только у меня или у всех в принципе, и кто как из этой ситуации выходит?
0 голосов
ответил 15 Апр, 04 от Knol (340 баллов)
Большое всем спасибо! Свашей помощью у меня все получилось. Кстати, Jazz, grid-слои CopyApr у меня тоже не переносит, так что это не только твоя проблема. Расмтры переносит, а вот grid нет...
0 голосов
ответил 16 Апр, 04 от Vasiliy2 (8,240 баллов)
0 голосов
ответил 13 Май, 04 от Leo_SS (6,820 баллов)

С подобными проблемами сталкиваются почти все кто начинает работать с ArcView. Мы решили данную проблему путем принятия внутреннего стандарта физической (файловой) структуры для ТЦК (Тематические Цифровые Карты). Структура работает уже больше 5 лет - все нормально. Она разработана с учетом вложения ее в структуру Банка Картографической Информации (внутренний стандарт). Создана инструкция по последовательности создания ТЦК. Если кого интересует наш опыт пишите: leo_ss55@mail.ru

0 голосов
ответил 15 Май, 04 от Albert1 (10,780 баллов)

Например выход может быть таким:

Запускаем пустой проект, кодом вроде этого(например прописав его в стартап) проверяем где находится проект

_homepath=av.GetProject.GetWorkDir.AsString

Затем пересобираем файл проекта (это просто текстовый файл), но путь (свой, исходный) заменяем в нем на этот..., Закрываем этот проект, открываем свой...

аv.GetProject.SetShutDown (\"Продолжение работы\")av.GetProject.Close

Project.Open ((_homepath+\"\\izuch.apr\").AsFileName)

 После чего запускаем вновь собранный файл.. Проще и не придумаешь

Весь код приводить не буду, но суть проста: имея эталонный проект, в любой момент можем узнать папку в которой нахлдимся и пересобрать прект для нее...

мылом могу подробнее

Савенко Альберт

Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...