Sto cercando di eseguire un'unione spaziale tra dati puntuali e dati poligonali.
Ho dati che indicano le coordinate spaziali di un evento nel mio file CSV A e ho un altro file, shapefile B, che contiene i confini di un'area come poligoni.
head(A)
month longitude latitude lsoa_code crime_type
1 2014-09 -1.550626 53.59740 E01007359 Anti-social behaviour
2 2014-09 -1.550626 53.59740 E01007359 Public order
3 2014-09 -1.865236 53.93678 E01010646 Anti-social behaviour
head(B@data)
code name altname
0 E05004934 Longfield, New Barn and Southfleet <NA>
1 E05000448 Lewisham Central <NA>
2 E05003149 Hawcoat <NA>
Voglio unire i dati del crimine A al mio shapefile B per mappare gli eventi criminali che si verificano nella mia area A. Sfortunatamente non posso eseguire un join di attributi basato sul fatto code
che il codice in A si riferisce a unità diverse rispetto al codice in B.
Ho letto una serie di tutorial e post ma non sono riuscito a trovare una risposta. Provai:
joined = over(A, B)
e overlay
, ma non ho realizzato quello che volevo.
C'è un modo per fare questo join direttamente o sarebbe necessaria una trasformazione intermedia da A a un altro formato?
Concettualmente, voglio selezionare quei punti di A che rientrano nelle code
aree di B (simile a "join basato sulla posizione spaziale in ArcGIS").
Qualcuno ha questo problema e risolto?
point.in.polygon
era se questo avrebbe preservato le variabili month
e crime_type
. Lo sai?
point.in.poly
e ho finalmente selezionato quei punti che rientrano nei poligoni pertinenti. Grazie.
point.in.polygon()
nel pacchettosp
?