Обрезка по границам, заданным в произвольной СК

Ответить
ericsson
Гуру
Сообщения: 3321
Зарегистрирован: 27 июл 2009, 19:26
Репутация: 748
Ваше звание: Вредитель полей

Обрезка по границам, заданным в произвольной СК

Сообщение ericsson » 20 фев 2011, 18:22

Иногда возникает задача обрезки растра по границам, заданным в СК, не совпадающей с СК, в которой привязан этот растр. (Чаще, конечно, речь о границах в "географической", тогда как растр - в transverse mercator или какой-то конической.)
Параметр -projwin требуется указывать в той же СК.
Для -cutline нужно генерировать контур.
Нет ли какого хитрого элегантного решения, которое бы позволяло скормить -projwin данные в отдельно указанной СК или легко сгенерировать прямоугольный контур обрезки из ком. строки (OGR)?

KolesovDmitry
Гуру
Сообщения: 810
Зарегистрирован: 22 авг 2007, 14:58
Репутация: 123
Откуда: Казань

Re: Обрезка по границам, заданным в произвольной СК

Сообщение KolesovDmitry » 20 фев 2011, 21:55

В свое время писал скрипт для подобных вещей. Найти его не могу, но делалось это при помощи proj и относительно легко (по крайней мере в линуксе). Суть была проста:

0) Скрипту передаются координаты углов, например, 48d57'00"E 55d1'00" и 49d3'0"E 55d50'0"N.
1) Программа cs2cs производит преобразование координат из исходной системы в требуемую, что-то типа:

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

cs2cs -f +init=epsg:4326 +to +init=epsg:32639 <<EOF
48d57'00"E 55d1'00"
49d3'0"E 55d50'0"N
EOF
2) Получаемый вывод передавался в параметр -projwin

ericsson
Гуру
Сообщения: 3321
Зарегистрирован: 27 июл 2009, 19:26
Репутация: 748
Ваше звание: Вредитель полей

Re: Обрезка по границам, заданным в произвольной СК

Сообщение ericsson » 20 фев 2011, 23:48

Для случая обрезки номенклатурного листа в Гауссе-Крюгере по границам, заданным в Пулково-1942, указания двух углов будет недостаточно, к большому сожалению.

Boris
Гуру
Сообщения: 4205
Зарегистрирован: 10 апр 2006, 22:34
Репутация: 433
Откуда: Париж

Re: Обрезка по границам, заданным в произвольной СК

Сообщение Boris » 21 фев 2011, 06:11

если не лень писать скрипты для использования в скритах, то для создания контура на лету я бы посоветовал формат MIF/MID. создать в нем контур трапеции - дело 5 строчек (начало и конец указываются отдельно), а его превратить в SHP или что еще - одна операция, в том числе и с перепроецированием. СК в самом MIF можно писать любую, если потом принудительно устанавливать СК в командной строке.

ericsson
Гуру
Сообщения: 3321
Зарегистрирован: 27 июл 2009, 19:26
Репутация: 748
Ваше звание: Вредитель полей

Re: Обрезка по границам, заданным в произвольной СК

Сообщение ericsson » 21 фев 2011, 12:52

Нет, скрипты писать конечно не лень (а как без них-то?).
Спасибо за наводку на MIF, я в этом направлении (генерация файла) думал, однако пробовал всякие текстовые KML и GeoSVG, и мне они не очень понравились.

Ответить

Вернуться в «GDAL/OGR»

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

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