2013-12-01 4 views
0

На рисунке figure показан график трех полигонов: 1. синий (n = 1), зеленый (n = 1) и 3. красный (n = 1).Объединение полигонов ближайших соседей с использованием R

Я хочу знать, есть ли какой-либо автоматизированный способ слияния ближайшего соседа того же цветного полигона? Доступ к подмножеству многоугольника можно получить по адресу here.

+0

Когда вы говорите «слить ближайших соседей», вы имеете в виду, что хотите растворить полигоны, которые имеют общую границу? Как насчет полигонов, которые разделяют общую точку? У ваших данных много квадратов, которые касаются угла (потому что я считаю, что он получен из растровых данных)? – Spacedman

+0

Любой маленький многоугольник, разделяющий границу или точку (точки), должен перейти в один многоугольник. Проблема растворения растра состоит в том, что он делает только один большой многоугольник. Но мне действительно нужны 15-20 многоугольников. Также хорошо слить многоугольники, хотя они не разделяют границы, но очень близко расположены (например, на расстоянии 100-500 м). Я не забочусь о тех маленьких полигонах, которые являются изолированными. – ToNoY

+0

Как вы представляете, как соединяются многоугольники, которые не касаются без изменения геометрии? Это становится слишком сложным. – Spacedman

ответ

1

То, что вы создали в out список списков Polygon объектов класса, так что out[[1]][[2]] является объектом Polygon класса.

Для этого нет метода построения, поэтому для этого вам нужно вернуть их обратно в SpatialPolygons.

plot(SpatialPolygons(list(Polygons(list(out[[1]][[200]]),1001)))) 

, где 1001 произвольный идентификатор и объект resutling SpatialPolygons не имеет опорную систему координат.

Его сложный, потому что SpatialPolygons на самом деле «SpatialPolygonalFeatures», где каждая функция представляет собой список объектов Polygon завернутых в Polygons класс дать ему идентификатор.

+0

спасибо @ Spacedman, но как насчет главной цели, которую я имею, т.е. как сделать большие полигоны из маленьких ближайших соседних полигонов? Есть идеи?? Я внес некоторые изменения в один и тот же вопрос: http://gis.stackexchange.com/questions/79114/joining-nearest-neighbor-small-polygons-using-r. сообщите мне, если у вас есть какие-либо предложения по этому поводу. – ToNoY

+0

Возможно gMerge из пакета: rgeos, но у меня нет времени, чтобы настроить некоторые данные примера, чтобы показать вам, как именно это делается. Можете ли вы предоставить свои или подмножества? – Spacedman

Смежные вопросы