R の GIS は初めてで、緯度/経度または UTM 座標をシェープファイルに追加しようとしています。ここからシカゴ市の境界 (City_Boundaries.shp) をダウンロードしました: http://www.cityofchicago.org/city/en/depts/doit/supp_info/gis_data.html
maptools と rgeos ライブラリをロードしました:
library(maptools)
library(rgeos)
library(rgdal)
データを R に取り込み、ゾーン 16T の UTM コードを追加しようとしました。
city<- readShapeSpatial("C:/Users/Luke.Gerdes/Documents/GIS Files/Chicago/City_Boundary.shp")
proj4string(city) <- CRS("+proj=utm +north +zone=16T + datum=WGS84")
ただし、結果のデータは意味がありません。「city」内の「coords」スロットを見ると、座標値は、たとえば、X = 1092925、Y = 1944820 です。外部ツール ( http://home.hiwaay.net/~taylorc/toolbox/geography/geoutm.html ) を使用して GPS 座標を見つけました。結果は、lat=17.511、long=-81.42 でした。これは、ジャマイカとホンジュラスの海岸の間のどこかにあります。シェープファイルの座標は独自の宇宙に存在するようです。シェープファイルという名前が示すように、座標は都市の形状を正確に表していますが、これらの座標は地球上に自動的にマッピングされません。
私の最終的な目標は、ジオタグが付けられた多くのイベントがシカゴ内で行われたかどうかを判断することです。以下のように、緯度/経度でリストされているこれらのポイントを UTM に変換することに問題はありません。
SP <- SpatialPoints(cbind(-87.63044, 41.79625), proj4string=CRS("+proj=longlat +datum=WGS84"))
SP <- spTransform(SP, CRS("+proj=utm +north +zone=16T +datum=WGS84"))
また、それがより理にかなっている場合は、イベント データを元の形式で処理することも考えています。最終的には、シカゴの都市境界をポリゴンに変換して、イベント データと照合できるようにする必要があります。このようなもの:
gContains(city, SP)
ポイントが市内にあるかどうかを確認できるように、シェープファイルとイベント データを共通の (正確な) 参照フレームに入れるにはどうすればよいですか? あなたが提供できるどんな助けも大歓迎です。