Открыть *.tab с помощью R

Вопросы по нескольким пакетам сразу, или вопросы, которые непонятно к какой ГИС отнести
Аватара пользователя
Juls
Интересующийся
Сообщения: 49
Зарегистрирован: 02 авг 2010, 10:30
Репутация: 1

Открыть *.tab с помощью R

Сообщение Juls » 03 авг 2010, 16:11

Здравствуйте
подскажите пожалуйста как загрузить в R таблицы мапинфо в родном или экспортном формате? Нашел пакет sp. Но не нашел в нем операции открытия.

спасибо :)

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

Re: Открыть *.tab с помощью R

Сообщение Максим Дубинин » 03 авг 2010, 19:31

вам надо просто посмотреть слои?
пристегивайтесь, турбулентность прямо по курсу

Аватара пользователя
Juls
Интересующийся
Сообщения: 49
Зарегистрирован: 02 авг 2010, 10:30
Репутация: 1

Re: Открыть *.tab с помощью R

Сообщение Juls » 03 авг 2010, 21:12

нет, открыть и осуществить пространственный запрос

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

Re: Открыть *.tab с помощью R

Сообщение Максим Дубинин » 03 авг 2010, 21:31

не лучше ли тогда делать это в ГИС?
пристегивайтесь, турбулентность прямо по курсу

Аватара пользователя
Juls
Интересующийся
Сообщения: 49
Зарегистрирован: 02 авг 2010, 10:30
Репутация: 1

Re: Открыть *.tab с помощью R

Сообщение Juls » 03 авг 2010, 22:11

а в какой именно гис посоветутете? мне нужно написать скрипт, который бы работал с командной строки.

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

Re: Открыть *.tab с помощью R

Сообщение Максим Дубинин » 03 авг 2010, 22:20

пока сложно сказать, задача обрастает деталями, может вам потом надо делать статанализ, тогда действительно было бы правильнее держаться в R.

Давайте целиком задачу, по пунктам.
пристегивайтесь, турбулентность прямо по курсу

Аватара пользователя
Juls
Интересующийся
Сообщения: 49
Зарегистрирован: 02 авг 2010, 10:30
Репутация: 1

Re: Открыть *.tab с помощью R

Сообщение Juls » 03 авг 2010, 22:50

нет, статобработки делать не нужно.
нужно открыть векторный слой с растровой подложкой, и обрезать и вектор и растр по полигону.

Аватара пользователя
Juls
Интересующийся
Сообщения: 49
Зарегистрирован: 02 авг 2010, 10:30
Репутация: 1

Re: Открыть *.tab с помощью R

Сообщение Juls » 03 авг 2010, 22:52

выбор средств решения задачи свободный. но все это должно делаться не вручную

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

Re: Открыть *.tab с помощью R

Сообщение Максим Дубинин » 03 авг 2010, 22:58

тогда откуда "всплыл" R и зачем пространственная выборка?

я думаю, что обрезку вектора и растра по произвольной форме на данный момент, без прыгания из программы в программу и написания скриптов на питоне изящнее всего сделать в GRASS. Надеюсь кто-то из знатоков подскажет как именно.
пристегивайтесь, турбулентность прямо по курсу

Аватара пользователя
Juls
Интересующийся
Сообщения: 49
Зарегистрирован: 02 авг 2010, 10:30
Репутация: 1

Re: Открыть *.tab с помощью R

Сообщение Juls » 03 авг 2010, 23:08

Спасибо за совет.
С R наибольший опыт работы просто :)
А с GRASS еще ни разу не работал. Видимо, пора начать :)

Аватара пользователя
Kharlamov
Участник
Сообщения: 57
Зарегистрирован: 06 ноя 2009, 17:20
Репутация: 0
Откуда: Москва
Контактная информация:

Re: Открыть *.tab с помощью R

Сообщение Kharlamov » 28 сен 2010, 16:41

Juls писал(а):Спасибо за совет.
С R наибольший опыт работы просто :)
А с GRASS еще ни разу не работал. Видимо, пора начать :)
Mapinfo+MI_Mozaic
MI_Mozaic.rar
Программа «Mozaic» предназначена для работы с привязанными изображениями в MapInfo. Программа позволят выполнять:

1. аффинные преобразования изображений (сдвиг, поворот, растяжение);
2. монтаж нескольких изображений;
3. выделение изображения внутри объекта.
(2.28 МБ) 496 скачиваний

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

Re: Открыть *.tab с помощью R

Сообщение Александр Мурый » 28 сен 2010, 17:25

Mapinfo+MI_Mozaic
-- это здорово, но надо, как минимум, иметь MapInfo. Все это делается и в своб. ГИС. Если автор еще заинтересуется, могу подсказать насчет GRASS.
Редактор материалов, модератор форума

Аватара пользователя
Juls
Интересующийся
Сообщения: 49
Зарегистрирован: 02 авг 2010, 10:30
Репутация: 1

Re: Открыть *.tab с помощью R

Сообщение Juls » 29 сен 2010, 00:56

подскажите пожалуйста. автор очень интересуется :)

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

Re: Открыть *.tab с помощью R

Сообщение Александр Мурый » 29 сен 2010, 12:22

Допустим, у нас есть растр raster.tif, вектор в формате mapinfo vector.tab и полигон, по которому их надо резать - polygon.tab.

Надо создать набор GRASS c этими данными. Проще всего это сделать из любого уже существующего набора. Например, можно скачать набор Геосэмпл http://gis-lab.info/data/geosample/geosample-grass.7z (20 Мб).

-- Запускаем GRASS с регионом geosample-grass и набором PERMANENT. Далее я пишу в командной строке, но то же самое и в граф. интерфейсе (просто мне скриншоты лень делать :) ):

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

r.in.gdal -e input=raster.tif output=raster location=raster_vector_cut
Т.о. мы создали регион с охватом, проекцией и разрешением нашего растра. Кстати, регион можно было создать и из векторного слоя vector.tab.
-- Выходим из GRASS, входим снова, но уже в новый регион raster_vector_cut, набор PERMANENT
-- Импортируем vector.tab (он должен быть в той же проекции, что и растр):

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

v.in.ogr -o dsn=vector.tab output=vector
, где опция "-o" меняет проекцию слоя на проекцию региона
-- Тем же способом импортируем слой polygon.tab (если он есть).
-- Если полигон, по которому резать, еще не создан -- это отдельный вопрос. Тогда надо будет создать полигон модулем v.digit или через граф. интерфейс wxPython.
---------------------------------------------------------------------------------------------------------------------------
Вырезаем растр по полигону:

-- Конвертируем векторный полигон в растр:

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

v.to.rast input=polygon output=polygon use=cat type=area
-- Делаем из этого растра "маску":

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

r.mask input=polygon
. Теперь (почти) все действия с растрами ограничены этой маской.
-- Пересчитываем растр raster с учетом маски (методом "ближайшего соседа"):

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

r.resample input=raster output=raster_cut
. Растр raster_cut будет вырезан по форме маски.

---------------------------------------------------------------------------------------------------------------------------
Вырезаем вектор по полигону:

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

v.select ainput=vector binput=polygon output=vector_cut
. Должен получиться новый слой vector_cut.

Потом "урезанные" растр и вектор можно экспортировать в нужный формат.
----------------------------
Будут вопросы -- спрашивайте.
Редактор материалов, модератор форума

Аватара пользователя
Juls
Интересующийся
Сообщения: 49
Зарегистрирован: 02 авг 2010, 10:30
Репутация: 1

Re: Открыть *.tab с помощью R

Сообщение Juls » 30 сен 2010, 15:49

спасибо за информацию :D

Ответить

Вернуться в «Общий - ПО»

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

Сейчас этот форум просматривают: Ahrefs [Bot] и 7 гостей