полигоны

0 голосов
спросил 16 Авг, 05 от Гость (210,080 баллов) в категории Программные продукты Esri
Здравствуйте, продвинутые друзья!
Подскажите, как в ArcView, в пределах одной темы из крупного полигона вычесть более мелкий, с образованием "дырки" . Например, в CS_коллекции скриптов есть обратное действие - из "дырок" создаётся новый полигональный шейп.

26 Ответы

0 голосов
ответил 19 Авг, 05 от Гость (210,080 баллов)
Я же не "гисовщик", а геолог, курсов не заканчивал,image пару раз всего пользовался скриптами - плохо ориентируюсь. Отсорт по площади - с пом Query Builder, когда таблица в реж редактир-я? Преобр в новый шейп-файл или  тему скопировать? Сохранить твой текст, как txt-файл. Открыть в AV в скриптах.
Не активен Run?! Один работаю - некому подсказать!
0 голосов
ответил 19 Авг, 05 от Гость (210,080 баллов)

Не горюй, я тоже геолог. А скрипт Big Serg написал. использовать его так:

1 в проекте открой "тексты программ", "новый". Будет чистый лист .

2 Здесь, на форуме, скопируй текст скрипта и вставь в этот чистый лист.

3 Исправь две ошибки о которых я писала выше

4 вернись в свой вид, где твоя полигональная тема с батиметрией , у которой в поле AREA записаны площади полигонов. Поставь шпалу на тему.

5 "Окно". "скрипт1" , кнопка "галочка", кнопка "человечек". Всё. в виде должна появиться тема, в которой полигоны отсортированы по площади.

0 голосов
ответил 19 Авг, 05 от BigSerg (4,080 баллов)
Ничего не надо сортировать - скрипт сделает все сам
необходимо только поле с площадями полигонов
можно просто скопировать тело скрипта в новый скрипт
вместо "Area" вставить название твоего поля в таблице темы. Откомпилировать(кнопка с галочкой - перед Run)
если там действительно пробелы мешают он при компеляции на них укажет - но я копировал из ScriptEditor - не знаю откуда они там появились. Потом переходишь в вид и делаешь необходимую тему активной - переходишь в окно скрипта - запускаешь его -получаешь новую тему.
Удачи на новом поприще :)
ЗЫЖ Можно добавить в виде новую кнопку и настроить на этот скрипт.
0 голосов
ответил 19 Авг, 05 от Гость (210,080 баллов)
Получилось!image
Спасибо вам всем!
Можно к вам обращаться за советом в дальнейшем?
0 голосов
ответил 22 Авг, 05 от BigSerg (4,080 баллов)
Обращйся, будет время и знания - обязательно помогу
0 голосов
ответил 22 Авг, 05 от Гость (210,080 баллов)
Благодарю!
0 голосов
ответил 05 Сен, 05 от S.E. (12,840 баллов)
На всякий случай: при использовании опции SUBTRACT (вычитание) верхний полигон вычитается из нижнего. Если при активизации этой функции удерживать SHIFT, то наоборот нижний полигон будет формочкой для печенья...
0 голосов
ответил 06 Сен, 05 от Гость (210,080 баллов)
Привет Big Serg!
Кодировал полигоны и хотел опять воспользоваться твоим скриптом - нажимаю run - пишет ошибку "A(n) Project object does not recognize request Get Active Themes"?
0 голосов
ответил 07 Сен, 05 от Гость (210,080 баллов)
Ложная тревога, всё получилось!
0 голосов
ответил 08 Сен, 05 от Гость (210,080 баллов)


нажимаю run - пишет ошибку "A(n) Project object does not recognize request Get Active Themes"?

Хоть и получилось, но на всякий случай, вдруг опять не получится: обычно такое сообщение вылезает если перед run не ткнуть мышью в рабочий вид. Т.е. надо как бы активизировать его перед запуском.

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