Разбивка космоснимка на сетку
-
- Новоприбывший
- Сообщения: 12
- Зарегистрирован: 26 июл 2010, 20:58
- Репутация: 0
Разбивка космоснимка на сетку
подскажите,имеются две координаты (верхний левый и правый нижний угол), следственно есть прямоугольник. Внутри него населенный пункт. Прямоугольник нужно разбить сеткой по горизонтали и вертикали на n количество частей (скажем 200*200). Дальше сформировать матрицу 0(нулей) и 1 (Можно и в простую таблицу записать для начала). 0 - отсутствие, 1 - наличие населенного пункта. Я такие вещи делал в МapInfo, а теперь стоит задача сделать с космоснимком (из GoogleEarth и т.п.).
Вопросов много, начиная от того как работать с космоснимком (сохранить...) и какими средствами это возможно реализовать.
P.S. потом с данными нужно будет работать в Matlab.
Вопросов много, начиная от того как работать с космоснимком (сохранить...) и какими средствами это возможно реализовать.
P.S. потом с данными нужно будет работать в Matlab.
- syroezhka
- Завсегдатай
- Сообщения: 290
- Зарегистрирован: 21 апр 2008, 21:22
- Репутация: 5
- Откуда: 50°26'N 30°31'E
- Контактная информация:
Re: Разбивка космоснимка на сетку
Честно говоря, ваш вопрос настолько широкий, что ответить на все сразу и не знаю как получится.
Опишу в общих чертах, как я бы поступала на вашем месте
1. У вас есть снимок, я так понимаю он привязан. Открываете его в мапинфо, далее векторный слой, в котором обрисовываете ваш населенный пункт.
2. если вы пользуетесь мапифо, то я думаю знакомы и с глобал мапером. С его помощью переводите векторный слой в растровый geotiff.
При этом угловые точки для создания вашего растра, должны совпадать с координатами снимка. И размер пиксела быть аналогичным
3. Проверте, что б и снимок был geotiff.
4. Далее в матлабе открываете оба растра:
A= geotiffread(' имя растра снимка');
B = geotiffread('имя растр из вектора');
5. В результате имеете две матрицы
в ячейках матрицы A - значения относительной спектральной яркости
в ячейках матрицы В - два значения, одно из них отвечает месту, где есть населенный пункт, другое, там где нету. Поменять их на нули-единицы можно через команду find
6. Если вас не устраивает размер ячейки, то при экспорте в глобал мапере выставите нужный вам размер. Но на вашем месте, я бы этого делать не стала, т.к. при этом интерполяция добавит ложных значений.
Опишу в общих чертах, как я бы поступала на вашем месте
1. У вас есть снимок, я так понимаю он привязан. Открываете его в мапинфо, далее векторный слой, в котором обрисовываете ваш населенный пункт.
2. если вы пользуетесь мапифо, то я думаю знакомы и с глобал мапером. С его помощью переводите векторный слой в растровый geotiff.
При этом угловые точки для создания вашего растра, должны совпадать с координатами снимка. И размер пиксела быть аналогичным
3. Проверте, что б и снимок был geotiff.
4. Далее в матлабе открываете оба растра:
A= geotiffread(' имя растра снимка');
B = geotiffread('имя растр из вектора');
5. В результате имеете две матрицы
в ячейках матрицы A - значения относительной спектральной яркости
в ячейках матрицы В - два значения, одно из них отвечает месту, где есть населенный пункт, другое, там где нету. Поменять их на нули-единицы можно через команду find
6. Если вас не устраивает размер ячейки, то при экспорте в глобал мапере выставите нужный вам размер. Но на вашем месте, я бы этого делать не стала, т.к. при этом интерполяция добавит ложных значений.
-
- Новоприбывший
- Сообщения: 12
- Зарегистрирован: 26 июл 2010, 20:58
- Репутация: 0
Re: Разбивка космоснимка на сетку
для сохранения снимка использовал SAS.Планета, тут есть файлы привязки .map,.dat,.kml,.tab,.w и форматы bmp,jpg,ecw,kmz. как именно нужно сохранить, а то при открытии в МапИнфо спрашивает нужно просто отобразить изображение или отметить его, чтоб оно имело географические координаты?
не могли бы вы подробней рассказать как это сделать.Открываете его в мапинфо, далее векторный слой, в котором обрисовываете ваш населенный пункт.
- syroezhka
- Завсегдатай
- Сообщения: 290
- Зарегистрирован: 21 апр 2008, 21:22
- Репутация: 5
- Откуда: 50°26'N 30°31'E
- Контактная информация:
Re: Разбивка космоснимка на сетку
Вы уж извините, но я отвечала, думая, что у вас есть определенный опыт работы с гисами. Начните с прочтения какого-нибуть мануала по созданию/редактирированю слоёв в мапинфо. В сети полно информации, вот хотя бы тут
http://glab2007.narod.ru/a/mifaq.html
А на счет SAS.Планета, есть целый форум http://sasgis.ru/forum/
http://glab2007.narod.ru/a/mifaq.html
А на счет SAS.Планета, есть целый форум http://sasgis.ru/forum/
-
- Новоприбывший
- Сообщения: 12
- Зарегистрирован: 26 июл 2010, 20:58
- Репутация: 0
Re: Разбивка космоснимка на сетку
syroezhka_2008, огромное спасибо за помощь, все получилось
правда при обрисовке снимка доступен только косметический слой. пришлось обрисовывать снимок по контуру, получалась нужная область в средине и границы снимка.
При открытии в Матлаб матрица вышла немного великовата, не подскажете как выставить нужный размер ячейки в Global Mapper?

правда при обрисовке снимка доступен только косметический слой. пришлось обрисовывать снимок по контуру, получалась нужная область в средине и границы снимка.
При открытии в Матлаб матрица вышла немного великовата, не подскажете как выставить нужный размер ячейки в Global Mapper?
- syroezhka
- Завсегдатай
- Сообщения: 290
- Зарегистрирован: 21 апр 2008, 21:22
- Репутация: 5
- Откуда: 50°26'N 30°31'E
- Контактная информация:
Re: Разбивка космоснимка на сетку
При экспорте в растр, в глобал мапере есть вклака Gridding. Там можно выставлять как размер ячейки, так и и количество строк/столбцов
-
- Новоприбывший
- Сообщения: 12
- Зарегистрирован: 26 июл 2010, 20:58
- Репутация: 0
Re: Разбивка космоснимка на сетку
возможно не до конца понимаю суть. Я выставляю количество строк 200 и столбцов - 200. Далее проходит разбивка на отдельные тайлы (в конечном счете должно выйти 40000 отдельных файлов ?!). что мне с ними в итоге делать, ведь хочу в матлабе получить матрицу размером 200*200?
- syroezhka
- Завсегдатай
- Сообщения: 290
- Зарегистрирован: 21 апр 2008, 21:22
- Репутация: 5
- Откуда: 50°26'N 30°31'E
- Контактная информация:
Re: Разбивка космоснимка на сетку
Прошу прощения, но при установлении значений в поле Gridding, глобал маппер действительно разбивает на тайлы.
Значения нужно выставлять в Sampe Sparsing. Но там выставляется размер ячейки, а не их количество. Т.е. придется подбирать. А это не совсем удобно. Может кто-то другой способ подскажет. Я, к сожалению, не знаю
Значения нужно выставлять в Sampe Sparsing. Но там выставляется размер ячейки, а не их количество. Т.е. придется подбирать. А это не совсем удобно. Может кто-то другой способ подскажет. Я, к сожалению, не знаю
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя