2016-05-02 4 views
0

シェイプファイルでRを使用できるかどうか尋ねられました。シェイプファイルではこれまでに作業したことはありませんでしたが、確かにそういう疑問があります。R:シェイプファイル1のシェイプファイル1からシェイプファイル2のエリアコードにマッチする

私は2つのシェイプファイルを持っています: a)シェイプファイル1(PolygonSamples.shp)はドイツ全土に分布するポリゴンのリストを含んでいます(添付はサンプルです)。ポリゴンは、1つの郵便番号ポリゴンのポリゴンよりも小さくても、同じでも大きくてもかまいません。

b)のシェープファイル2つのリストドイツ郵便番号や質問は今ある https://blog.oraylis.de/2010/05/german-map-spatial-data-for-plz-postal-code-regions/

からダウンロードすることができます。 シェープファイル内のどのポリゴン1試合を一覧表示データフレームを取得するために、どのように「試合」に2つのシェープファイル結果は理想的です。

Polygon ID (shapefile 1)  Postal Code (shapefile 2) 
     1        80995 
     2        80997 
     2        80999 
     3        81247 

本当に私の質問と一致するものはありません。 たとえば、From a shapefile with polygons/areas, and points (lat,lon), figure out which polygon/area each point belongs to? In R と思われますが、希望のデータフレーム(またはデータテーブル)出力を取得できません。

library(maps) 
library(maptools) 

# Polygons 
tmp_dir <- "C:/Users/.../" 
polygons <- readShapeSpatial(sprintf('%s/polygons.shp', tmp_dir) 
plot(polygons) 


# Postal codes 
dir <- "C:/Users/..../" 
postcode <- readShapeSpatial(sprintf('%s/post_pl.shp', dir) 
plot(postcode) 

ミッシング・コードは、シェープファイル(.shpの)税込内のポリゴンの

result_table <- match(polygons_ID, postcode, 
         data1= polygon, data2 = postcode, 
         by = "coordinates in the shapefile" 

サンプルのようなものを読んでいましたsnipplet。他の空間ファイル(.dbf、.prj、.qpj、.shx)を送信することができます。

本当にありがとうございました!

PS:Rバージョン3.2.3、64ビット、RStudioのWindows 7上の

+0

関数 'over'から' library(rgeos) 'を使用 –

+0

ありがとう、試してみよう! – user2006697

答えて

0

残念ながら、私はRで答えを見つけられませんでしたが、私はQGISに2つの独立したシェープファイルを一致させる方法を見つけ出すことができます。

主な問題:カスタムシェープファイルは.PRJで使用するジオコーディングGoogleのメルカトル図法(EPSG = 900913)をファイル、ダウンロードした郵便番号シェープファイルは、EPSG 4326

を使用しながら、QGISが自動的にこれらの.PRJファイルを認識しません。投影ファイルとして。 1つは手で設定する必要があります。

Googleメルカトル(EPSG = 900913)がEPSG = 3857に変更されました。カスタムシェイプファイルのために手作業で設定する必要がありました。 - CRSからWGS 84 /擬似メルカトルEPSG = 3857.

これで、カスタムシェイプレイヤーを右クリックすることができました。 CRSをEPSG 4326に変更してください。新しいカスタムシェイプファイルには、ダウンロードした郵便番号シェープファイルと同じ投影があり、ロケーションごとに結合することができます。

(PS:私は手で変換を行うためのソリューションを持っていますが、私は分析の結果のファイルを必要とするので、私は、Rでこれを行うのが大好きだ)

関連する問題