выборочная замена шейпов
-
- Новоприбывший
- Сообщения: 6
- Зарегистрирован: 05 ноя 2011, 12:00
- Репутация: 0
выборочная замена шейпов
Уважаемые форумчане!
Прошу прощения — не владею специальной терминалогией, поэтому свою проблему буду объяснять «на пальцах».
Итак вводная. Есть социологические данные в R. Есть границы административных образований некоторой территории в шейпах. Присутствует желание поделать тематические карты в R – что-то вроде этого. Проблема — границы городских округов (городов) на общей карте выглядят слишком мелкими по сравнению с границами муниципальных районов. Карта в таком виде будет плохо читаться. Как мне заменить шейпы городских округов (городов) на «кружки» увеличенного размера?
В наличии — Квантум, R с библиотеками. Спасибо.
Прошу прощения — не владею специальной терминалогией, поэтому свою проблему буду объяснять «на пальцах».
Итак вводная. Есть социологические данные в R. Есть границы административных образований некоторой территории в шейпах. Присутствует желание поделать тематические карты в R – что-то вроде этого. Проблема — границы городских округов (городов) на общей карте выглядят слишком мелкими по сравнению с границами муниципальных районов. Карта в таком виде будет плохо читаться. Как мне заменить шейпы городских округов (городов) на «кружки» увеличенного размера?
В наличии — Квантум, R с библиотеками. Спасибо.
-
- Гуру
- Сообщения: 4168
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1107
- Ваше звание: программист
- Откуда: Казань
Re: выборочная замена шейпов
грузить шейпы через rgdal вы видимо умеете; там внутри (после загрузки) просто таблица координат. Посчитайте среднее для ваших городов, будет вам центр. Посадите вокруг него точки по кругу (желаемого радиуса), будет вам "кружок" (24-48 точек достаточно); и подмените то, что было, на них (и число точек скорректируйте).balbes писал(а):Как мне заменить шейпы городских округов (городов) на «кружки» увеличенного размера?
Посмотреть, что внутри загруженного шейпа, можно использовав str()
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9129
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 748
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: выборочная замена шейпов
Первое что приходит в голову.
1. посчитать сначала как есть, допустим что shape со значениями в таблице есть
Дальше в QGIS
2. выделить нужные (мелкие полигоны), правая кнопка, сохранить выборку
3. загрузить выборку и сделать Вектор-обработка геометрии-центроиды
4. настроить вид точек-центроидов по вкусу, по желанию можно удалить не устраивающие вас мелкие полигоны или оставить
1. посчитать сначала как есть, допустим что shape со значениями в таблице есть
Дальше в QGIS
2. выделить нужные (мелкие полигоны), правая кнопка, сохранить выборку
3. загрузить выборку и сделать Вектор-обработка геометрии-центроиды
4. настроить вид точек-центроидов по вкусу, по желанию можно удалить не устраивающие вас мелкие полигоны или оставить
пристегивайтесь, турбулентность прямо по курсу
-
- Новоприбывший
- Сообщения: 6
- Зарегистрирован: 05 ноя 2011, 12:00
- Репутация: 0
Re: выборочная замена шейпов
Если бы. Я, так понимаю, шейпы грузятся через командуgamm писал(а): грузить шейпы через rgdal вы видимо умеете
Код: Выделить всё
readOGR(dsn="MO", layer="NAME")
В таблице значений 5 полей: "NAME", "DISTRICT", "EX_GOV", "SHAPE_Leng", "SHAPE_Area".Максим Дубинин писал(а):посчитать сначала как есть, допустим что shape со значениями в таблице есть
В режиме выделения объектов никакого всплывающего меню по правой кнопке не вызывается (Quantum GIS 1.7.0). В подменю есть раздел "Вектор/Выборка", но ничего похожего на "сохранить выборку" я там не нашел. Зато нашел "центроиды" )))). Вот еще бы допереть как до них добраться.Максим Дубинин писал(а):2. выделить нужные (мелкие полигоны), правая кнопка, сохранить выборку
-
- Гуру
- Сообщения: 2627
- Зарегистрирован: 29 мар 2007, 14:12
- Репутация: 34
- Откуда: Ukraine
Re: выборочная замена шейпов
Это и есть вызов одной из функций rgdal.balbes писал(а):Если бы. Я, так понимаю, шейпы грузятся через командуgamm писал(а): грузить шейпы через rgdal вы видимо умеетеКод: Выделить всё
readOGR(dsn="MO", layer="NAME")
Документацию, значит не читаем. Плохо, там все написано:balbes писал(а):Не знаю - что указывать в названии слоя - в моих данных слой один. Пытался найти его наименование в метаданных - не нашел. При загрузке данных в "Квантум" - поле названия слоя пустое. Пробовал пустым его делать в строке экспорта данных в R - не принимает.
Т.е. открывать надо такIf reading a shapefile, the data source name (dsn= argument) is the folder (directory) where the shapefile is, and the layer is the name of the shapefile (without the .shp extencion)
Код: Выделить всё
readOGR(dsn="<путь к shape-файлу>", layer="<имя_файла_без_расширения>")
Здесь очевидно имелось в виду, что шейп уже загружен в R и нужная таблица там построенаМаксим Дубинин писал(а):посчитать сначала как есть, допустим что shape со значениями в таблице есть
Не там смотрите, вам нужно контекстное меню слоя. Т.е. выделяете полигоны, потом из контекстного меню слоя сохраняете выделение в отдельный шейп. Потом загружаете этот новый слой и создаете центроиды. Где находится нужный инструмент вам уже подсказалиbalbes писал(а):В режиме выделения объектов никакого всплывающего меню по правой кнопке не вызывается (Quantum GIS 1.7.0). В подменю есть раздел "Вектор/Выборка", но ничего похожего на "сохранить выборку" я там не нашел.
В каком смысле «допереть»? Просто откройте окно инструмента, там все понятно.balbes писал(а):Зато нашел "центроиды" )))). Вот еще бы допереть как до них добраться.
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9129
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 748
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
-
- Новоприбывший
- Сообщения: 6
- Зарегистрирован: 05 ноя 2011, 12:00
- Репутация: 0
Re: выборочная замена шейпов
Спасибо. Получилось. А как размер "кружков" увеличить.Максим Дубинин писал(а):Первое что приходит в голову.
1. посчитать сначала как есть, допустим что shape со значениями в таблице есть
Дальше в QGIS
2. выделить нужные (мелкие полигоны), правая кнопка, сохранить выборку
3. загрузить выборку и сделать Вектор-обработка геометрии-центроиды
4. настроить вид точек-центроидов по вкусу, по желанию можно удалить не устраивающие вас мелкие полигоны или оставить
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9129
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 748
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: выборочная замена шейпов
в зависимости от типа символики и символа
например так:

например так:

пристегивайтесь, турбулентность прямо по курсу
-
- Новоприбывший
- Сообщения: 6
- Зарегистрирован: 05 ноя 2011, 12:00
- Репутация: 0
Re: выборочная замена шейпов
Да, конечно же.
Спасибо всем за помощь!
Спасибо всем за помощь!
-
- Новоприбывший
- Сообщения: 6
- Зарегистрирован: 05 ноя 2011, 12:00
- Репутация: 0
Re: выборочная замена шейпов
Извините неуча, коллеги, но мой марлезонский балет имеет продолжение.
Благодаря советам с картинками получил в одном проекте два шейпа - с границами районов и с центроидами на месте поселений.
1. Пытался их слить средствами Quantuma - не одолел:
- С помощью подменю Вектор/Геообработка/Объединение - образуется новый шейп, в котором районы "поглощают", расположенные на их территории поселения. Варьировал настройки слияния - не помогло;
- Посредством буфера обмена - копирование "поселения" в буфер обмена и с последующей попыткой в режиме редактирования вставить в слой с районами. Выдает ошибку при попытке выйти из режима редактирования - "Не добавлен 1 объект".
- Почитал руководство - в разделе "Работа с векторными данными" ничего про слитие не нашел (плохо искал?).
2. Пытался объединить шейпы средствами R по этому рецепту. Итог аналогичен подпункту 1 - в новообразованном шейпе одни районы.
Буду признателен за любые попытки понести высокий свет геоинформационных истин в массы... в темные массы.
Благодаря советам с картинками получил в одном проекте два шейпа - с границами районов и с центроидами на месте поселений.
1. Пытался их слить средствами Quantuma - не одолел:
- С помощью подменю Вектор/Геообработка/Объединение - образуется новый шейп, в котором районы "поглощают", расположенные на их территории поселения. Варьировал настройки слияния - не помогло;
- Посредством буфера обмена - копирование "поселения" в буфер обмена и с последующей попыткой в режиме редактирования вставить в слой с районами. Выдает ошибку при попытке выйти из режима редактирования - "Не добавлен 1 объект".
- Почитал руководство - в разделе "Работа с векторными данными" ничего про слитие не нашел (плохо искал?).
2. Пытался объединить шейпы средствами R по этому рецепту. Итог аналогичен подпункту 1 - в новообразованном шейпе одни районы.
Буду признателен за любые попытки понести высокий свет геоинформационных истин в массы... в темные массы.
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 792
- Ваше звание: званий не имею
- Откуда: Москва
Re: выборочная замена шейпов
В shp-файлах хранится геометрия только какого-то одного типа (точки / линии / полигоны), "слить" их просто так не выйдет. А зачем их объединять в один слой?balbes писал(а):Благодаря советам с картинками получил в одном проекте два шейпа - с границами районов и с центроидами на месте поселений.
1. Пытался их слить средствами Quantuma - не одолел:
Редактор материалов, модератор форума
-
- Гуру
- Сообщения: 4168
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1107
- Ваше звание: программист
- Откуда: Казань
Re: выборочная замена шейпов
сливайте в MIF/MID, Мапинфе все равно, что в слое намешано ...
-
- Новоприбывший
- Сообщения: 6
- Зарегистрирован: 05 ноя 2011, 12:00
- Репутация: 0
Re: выборочная замена шейпов
Что бы в R создать тематическую карту. Мне кажется, данные лучше слить заблаговременно, чем работать в R с двумя массивами.amuriy писал(а): В shp-файлах хранится геометрия только какого-то одного типа (точки / линии / полигоны), "слить" их просто так не выйдет. А зачем их объединять в один слой?
Предполагаю экспортировать данные в R, а не в Мапинфо.gamm писал(а):сливайте в MIF/MID, Мапинфе все равно, что в слое намешано ...
- Игорь Черниенко
- Активный участник
- Сообщения: 137
- Зарегистрирован: 28 мар 2009, 01:05
- Репутация: 11
- Откуда: Хабаровск, Южно-Сахалинск
Re: выборочная замена шейпов
В R слои накладываются примерно так:
plot(polygons)
plot(lines,add=T)
plot(points,add=T)
plot(polygons)
plot(lines,add=T)
plot(points,add=T)
- Игорь Черниенко
- Активный участник
- Сообщения: 137
- Зарегистрирован: 28 мар 2009, 01:05
- Репутация: 11
- Откуда: Хабаровск, Южно-Сахалинск
Re: выборочная замена шейпов
Я так понимаю, Вы это знаете. Но почему Вы считаете, что если слить все слои в один, работать с ним будет удобнее? По-моему, наоборот
Кто сейчас на конференции
Сейчас этот форум просматривают: Ahrefs [Bot] и 1 гость