выборочная замена шейпов
- 
				balbes
 - Новоприбывший
 - Сообщения: 6
 - Зарегистрирован: 05 ноя 2011, 12:00
 - Репутация: 0
 
выборочная замена шейпов
Уважаемые форумчане!
Прошу прощения — не владею специальной терминалогией, поэтому свою проблему буду объяснять «на пальцах».
Итак вводная. Есть социологические данные в R. Есть границы административных образований некоторой территории в шейпах. Присутствует желание поделать тематические карты в R – что-то вроде этого. Проблема — границы городских округов (городов) на общей карте выглядят слишком мелкими по сравнению с границами муниципальных районов. Карта в таком виде будет плохо читаться. Как мне заменить шейпы городских округов (городов) на «кружки» увеличенного размера?
В наличии — Квантум, R с библиотеками. Спасибо.
			
			
									
						
										
						Прошу прощения — не владею специальной терминалогией, поэтому свою проблему буду объяснять «на пальцах».
Итак вводная. Есть социологические данные в R. Есть границы административных образований некоторой территории в шейпах. Присутствует желание поделать тематические карты в R – что-то вроде этого. Проблема — границы городских округов (городов) на общей карте выглядят слишком мелкими по сравнению с границами муниципальных районов. Карта в таком виде будет плохо читаться. Как мне заменить шейпы городских округов (городов) на «кружки» увеличенного размера?
В наличии — Квантум, R с библиотеками. Спасибо.
- 
				gamm
 - Гуру
 - Сообщения: 4177
 - Зарегистрирован: 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. настроить вид точек-центроидов по вкусу, по желанию можно удалить не устраивающие вас мелкие полигоны или оставить
пристегивайтесь, турбулентность прямо по курсу
			
						- 
				balbes
 - Новоприбывший
 - Сообщения: 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. выделить нужные (мелкие полигоны), правая кнопка, сохранить выборку
- 
				Voltron
 - Гуру
 - Сообщения: 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
 - Откуда: Москва
 - Контактная информация:
 
- 
				balbes
 - Новоприбывший
 - Сообщения: 6
 - Зарегистрирован: 05 ноя 2011, 12:00
 - Репутация: 0
 
Re: выборочная замена шейпов
Спасибо. Получилось. А как размер "кружков" увеличить.Максим Дубинин писал(а):Первое что приходит в голову.
1. посчитать сначала как есть, допустим что shape со значениями в таблице есть
Дальше в QGIS
2. выделить нужные (мелкие полигоны), правая кнопка, сохранить выборку
3. загрузить выборку и сделать Вектор-обработка геометрии-центроиды
4. настроить вид точек-центроидов по вкусу, по желанию можно удалить не устраивающие вас мелкие полигоны или оставить
- Максим Дубинин
 - MindingMyOwnBusiness
 - Сообщения: 9129
 - Зарегистрирован: 06 окт 2003, 20:20
 - Репутация: 748
 - Ваше звание: NextGIS
 - Откуда: Москва
 - Контактная информация:
 
Re: выборочная замена шейпов
в зависимости от типа символики и символа
например так:

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

пристегивайтесь, турбулентность прямо по курсу
			
						- 
				balbes
 - Новоприбывший
 - Сообщения: 6
 - Зарегистрирован: 05 ноя 2011, 12:00
 - Репутация: 0
 
Re: выборочная замена шейпов
Да, конечно же.
Спасибо всем за помощь!
			
			
									
						
										
						Спасибо всем за помощь!
- 
				balbes
 - Новоприбывший
 - Сообщения: 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 - не одолел:
Редактор материалов, модератор форума
			
						- 
				gamm
 - Гуру
 - Сообщения: 4177
 - Зарегистрирован: 15 окт 2010, 08:33
 - Репутация: 1107
 - Ваше звание: программист
 - Откуда: Казань
 
Re: выборочная замена шейпов
сливайте в MIF/MID, Мапинфе все равно, что в слое намешано ...
			
			
									
						
										
						- 
				balbes
 - Новоприбывший
 - Сообщения: 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: выборочная замена шейпов
Я так понимаю, Вы это знаете. Но почему Вы считаете, что если слить все слои в один, работать с ним будет удобнее? По-моему, наоборот
			
			
									
						
										
						Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 28 гостей
