Страница 1 из 1

Разбивка космоснимка на сетку

Добавлено: 09 авг 2010, 09:07
Gats
подскажите,имеются две координаты (верхний левый и правый нижний угол), следственно есть прямоугольник. Внутри него населенный пункт. Прямоугольник нужно разбить сеткой по горизонтали и вертикали на n количество частей (скажем 200*200). Дальше сформировать матрицу 0(нулей) и 1 (Можно и в простую таблицу записать для начала). 0 - отсутствие, 1 - наличие населенного пункта. Я такие вещи делал в МapInfo, а теперь стоит задача сделать с космоснимком (из GoogleEarth и т.п.).

Вопросов много, начиная от того как работать с космоснимком (сохранить...) и какими средствами это возможно реализовать.
P.S. потом с данными нужно будет работать в Matlab.

Re: Разбивка космоснимка на сетку

Добавлено: 09 авг 2010, 12:05
syroezhka
Честно говоря, ваш вопрос настолько широкий, что ответить на все сразу и не знаю как получится.
Опишу в общих чертах, как я бы поступала на вашем месте
1. У вас есть снимок, я так понимаю он привязан. Открываете его в мапинфо, далее векторный слой, в котором обрисовываете ваш населенный пункт.

2. если вы пользуетесь мапифо, то я думаю знакомы и с глобал мапером. С его помощью переводите векторный слой в растровый geotiff.
При этом угловые точки для создания вашего растра, должны совпадать с координатами снимка. И размер пиксела быть аналогичным

3. Проверте, что б и снимок был geotiff.

4. Далее в матлабе открываете оба растра:
A= geotiffread(' имя растра снимка');
B = geotiffread('имя растр из вектора');

5. В результате имеете две матрицы
в ячейках матрицы A - значения относительной спектральной яркости
в ячейках матрицы В - два значения, одно из них отвечает месту, где есть населенный пункт, другое, там где нету. Поменять их на нули-единицы можно через команду find

6. Если вас не устраивает размер ячейки, то при экспорте в глобал мапере выставите нужный вам размер. Но на вашем месте, я бы этого делать не стала, т.к. при этом интерполяция добавит ложных значений.

Re: Разбивка космоснимка на сетку

Добавлено: 10 авг 2010, 21:47
Gats
для сохранения снимка использовал SAS.Планета, тут есть файлы привязки .map,.dat,.kml,.tab,.w и форматы bmp,jpg,ecw,kmz. как именно нужно сохранить, а то при открытии в МапИнфо спрашивает нужно просто отобразить изображение или отметить его, чтоб оно имело географические координаты?
Открываете его в мапинфо, далее векторный слой, в котором обрисовываете ваш населенный пункт.
не могли бы вы подробней рассказать как это сделать.

Re: Разбивка космоснимка на сетку

Добавлено: 10 авг 2010, 22:29
syroezhka
Вы уж извините, но я отвечала, думая, что у вас есть определенный опыт работы с гисами. Начните с прочтения какого-нибуть мануала по созданию/редактирированю слоёв в мапинфо. В сети полно информации, вот хотя бы тут
http://glab2007.narod.ru/a/mifaq.html
А на счет SAS.Планета, есть целый форум http://sasgis.ru/forum/

Re: Разбивка космоснимка на сетку

Добавлено: 18 авг 2010, 21:55
Gats
syroezhka_2008, огромное спасибо за помощь, все получилось :D
правда при обрисовке снимка доступен только косметический слой. пришлось обрисовывать снимок по контуру, получалась нужная область в средине и границы снимка.
При открытии в Матлаб матрица вышла немного великовата, не подскажете как выставить нужный размер ячейки в Global Mapper?

Re: Разбивка космоснимка на сетку

Добавлено: 19 авг 2010, 12:44
syroezhka
При экспорте в растр, в глобал мапере есть вклака Gridding. Там можно выставлять как размер ячейки, так и и количество строк/столбцов

Re: Разбивка космоснимка на сетку

Добавлено: 19 авг 2010, 14:50
Gats
возможно не до конца понимаю суть. Я выставляю количество строк 200 и столбцов - 200. Далее проходит разбивка на отдельные тайлы (в конечном счете должно выйти 40000 отдельных файлов ?!). что мне с ними в итоге делать, ведь хочу в матлабе получить матрицу размером 200*200?

Re: Разбивка космоснимка на сетку

Добавлено: 19 авг 2010, 17:24
syroezhka
Прошу прощения, но при установлении значений в поле Gridding, глобал маппер действительно разбивает на тайлы.
Значения нужно выставлять в Sampe Sparsing. Но там выставляется размер ячейки, а не их количество. Т.е. придется подбирать. А это не совсем удобно. Может кто-то другой способ подскажет. Я, к сожалению, не знаю