Удалить пересечения растра

ArcGIS 8.x,9.x,10.x (Arcview, ArcEditor, Arcinfo).
Syllion
Активный участник
Сообщения: 167
Зарегистрирован: 23 сен 2009, 16:09
Репутация: 0

Удалить пересечения растра

Сообщение Syllion » 23 янв 2012, 19:40

Время доброе!
есть несколько больших растров (несколько гигов). Они немного накладываются друг на друга. При уменьшении их прозрачности становится заметна зона наложения. Как проще всего ее удалить?

Интересует самый простой вариант. Работаю в ArcGIS 9.3.1
Может не в гисах, а в другом ПО проще? В Глобалмеппеер что-то похожей возможности не нашел..

Аватара пользователя
Дмитрий Барышников
Гуру
Сообщения: 2572
Зарегистрирован: 17 ноя 2009, 19:17
Репутация: 261
Откуда: Москва

Re: Удалить пересечения растра

Сообщение Дмитрий Барышников » 23 янв 2012, 20:29

Если растров немного обрежьте в ArcMap по графике. Если много - можно разбить на тайлы (Split Raster) и сделать из пересекающихся тайлов мозаику. Из открытого - можно воспользоваться gdal - viewtopic.php?f=2&t=6800&p=37195&hilit=gdal_warp#p37195 и viewtopic.php?f=20&t=5711&p=41237&hilit ... ate#p41237 и viewtopic.php?f=27&t=5088&hilit=gdal_translate

Syllion
Активный участник
Сообщения: 167
Зарегистрирован: 23 сен 2009, 16:09
Репутация: 0

Re: Удалить пересечения растра

Сообщение Syllion » 23 янв 2012, 21:21

А нельзя чтобы оно как-то автоматом нашло границы пересечения растров?

Аватара пользователя
Дмитрий Барышников
Гуру
Сообщения: 2572
Зарегистрирован: 17 ноя 2009, 19:17
Репутация: 261
Откуда: Москва

Re: Удалить пересечения растра

Сообщение Дмитрий Барышников » 23 янв 2012, 21:50

Вам нужен полигон общей площади или идеальная линия для стыковки?

Syllion
Активный участник
Сообщения: 167
Зарегистрирован: 23 сен 2009, 16:09
Репутация: 0

Re: Удалить пересечения растра

Сообщение Syllion » 23 янв 2012, 21:51

идеальная линия для стыков.

Думаю бы подошел и вариант объединить полигоны - тогда бы зона пересечения стала не видна. Но встроенные инструменты в ГИС зависают на таких объемах. Нужно что-то другое. Смотрел на gdal, но не понял как как пользоваться. http://www.gdal.org/gdal_merge.html тут вроде бы надо просто скрипт запустить и указать входные, выходные данные, только я распаковал архив с гдал, открыл консоль, запустил скрипт, но он походу свои же библиотеки не нашло.

Аватара пользователя
Дмитрий Барышников
Гуру
Сообщения: 2572
Зарегистрирован: 17 ноя 2009, 19:17
Репутация: 261
Откуда: Москва

Re: Удалить пересечения растра

Сообщение Дмитрий Барышников » 23 янв 2012, 22:24

Способов автоматического формирования идеальной линии для стыковки я не знаю.
По поводу мозаики - я и предложил вначале на тайлы порезать - потом уже мозаику делать - размер двух тайлов уж ArcGIS потянет. У меня в 10-ке инструмент нарезки называется Split Raster.
По поводу gdal - обычно рекомендуют ставить из OSGEO4W Installer - просто я не пользуюсь им (gdal) "напрямую", а через программирование.

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9128
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 747
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Удалить пересечения растра

Сообщение Максим Дубинин » 23 янв 2012, 22:30

вот так устанавливайте, только включайте только gdal
http://gis-lab.info/qa/qgis-osgeo4w.html
пристегивайтесь, турбулентность прямо по курсу

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: Удалить пересечения растра

Сообщение Александр Мурый » 23 янв 2012, 23:05

В GRASS я бы сделал, например, так:
-- сделал по одному из растров растровую маску (пардон за тафтологию)
-- обрезал бы второй растр по этой маске --> так удалится его "лишний" край и он по идее должен примыкать к первому вплотную.
Наверняка это можно сделать и утилитами GDAL -- надо разбираться.
В аркгисе вроде есть растровые маски (webhelp.esri.com/arcgiSDEsktop/9.3/index.cfm?TopicName=Mask)
Редактор материалов, модератор форума

Аватара пользователя
Дмитрий Барышников
Гуру
Сообщения: 2572
Зарегистрирован: 17 ноя 2009, 19:17
Репутация: 261
Откуда: Москва

Re: Удалить пересечения растра

Сообщение Дмитрий Барышников » 23 янв 2012, 23:39

Я же не просто так спрашивал про "формирование идеальной линии для стыковки" - резать один растр по краю другого не входило в это понятие.

Syllion
Активный участник
Сообщения: 167
Зарегистрирован: 23 сен 2009, 16:09
Репутация: 0

Re: Удалить пересечения растра

Сообщение Syllion » 24 янв 2012, 09:59

Bishop, я немного не пойму вас.

У меня есть карта из кусков. Эти куски накладываются друг на друга. Если карта не прозрачная, то все окей, но если ее сделать прозрачной, то получаются такие полосы http://clip2net.com/s/1w1Rm
Мне от них нужно избавиться. Любым способом.

С GDAL не разобрался. Поставил его по ссылке, которую вы предложили. Оно поставилось. Из CMD не запускается. Попробовал руками добавить в переменные окружения http://clip2net.com/s/1w1SU - тоже результата не дало.

В том, что поставилось почему-то не оказалось следующего скрипта http://gdal.org/gdal_merge.html
да и как его вызывать не понятно. Что-то какая-то утилита замороченая.

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: Удалить пересечения растра

Сообщение Александр Мурый » 24 янв 2012, 16:47

Обрезка одного из пересекающихся растров по границе другого (это логическая модель с командами из GRASS :)):

-- создаём растровую маску по первому растру

Код: Выделить всё

r.mapcalc 'rast_1.mask = if(rast_1,1,null())'
-- задаём маску

Код: Выделить всё

r.mask in=rast_1.mask
-- создаём растр пересечения со вторым растром

Код: Выделить всё

r.mapcalc 'rast_1.cross = if(isnull(rast_2),null(),1)'
-- вырезаем из первого растра непересекающийся кусок

Код: Выделить всё

r.mapcalc 'rast_1.cut = if(isnull(rast_1.cross),rast_1,null())'
-- удаляем маску

Код: Выделить всё

r.mask -r

Что такое "идеальная линия для стыковки" -- даже не представляю.. Посередине пересечения, что ли? :)
Редактор материалов, модератор форума

Аватара пользователя
Дмитрий Барышников
Гуру
Сообщения: 2572
Зарегистрирован: 17 ноя 2009, 19:17
Репутация: 261
Откуда: Москва

Re: Удалить пересечения растра

Сообщение Дмитрий Барышников » 24 янв 2012, 20:18

К сожалению в поставке ArcGIS 9.3 нарезки на тайлы я не нашел (в 10-ке есть). Нашел вот для 9-ки http://arcscripts.esri.com/details.asp?dbid=13978 . Но после нарезки придется "вручную" мозаичить перекрывающиеся области. Не знаю насколько это облегчит работу.

Syllion
Активный участник
Сообщения: 167
Зарегистрирован: 23 сен 2009, 16:09
Репутация: 0

Re: Удалить пересечения растра

Сообщение Syllion » 27 янв 2012, 07:48

спасибо большое за GRASS, пока им правда не пользовался, но если Гисами вырезать не смогу придется его использовать.

Вчера пробовал просто слить все куски и получить один большой растр, соответсвенно уже без перекрытий. Когда пробовал на выходе формат jp2 поставить, все вылетало сразу. Если оставить по умолчанию (по умолчанию надо понимать грид), то спустя 14 часов работы вылетела ошибка.

Не подскажете, каким там инструментом в десятке надо пользоваться? Как он называется?

biryukov
Участник
Сообщения: 70
Зарегистрирован: 01 ноя 2010, 11:36
Репутация: -1
Откуда: Барнаул

Re: Удалить пересечения растра

Сообщение biryukov » 02 фев 2012, 07:20

Добрый день!
Проблема похожая, поэтому не буду создавать отдельную тему.
Имеется несколько растров, полученных через topo to raster. Все территорию целиком сделать не получается, т.к. при необходимом размере ячейки, программа отказывается строить модель. После разделения векторов на кусочки и создания моделей для каждого необходимо все собрать в кучу, т.е. получить на выходе один цельный растр. При создании мозаики видны линии стыковки, что вызывает ошибки при дальнейшей работе.
Подскажите, как быть.....
Работаю в ArcGis 9.3.1

Аватара пользователя
novia
Гуру
Сообщения: 2261
Зарегистрирован: 29 апр 2011, 15:06
Репутация: 489
Откуда: Тель-Авив

Re: Удалить пересечения растра

Сообщение novia » 02 фев 2012, 11:20

когда вы делаете модель, она делает интерполяцию для указанной территории...

когда вы делаете интерполяцию для области1, области2 и т.п. неизбежно значения на стыках будут разными.

какой размер ячейки и какой охват территории вы используете?
понравилось? жми палец вверх :!:

Ответить

Вернуться в «ArcGIS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 30 гостей