7

座標があり、すべてDCに配置する必要がありますが、それらをNAD 83からRの緯度と経度に変換する方法がわかりませんspTransform()。rgdalパッケージの関数を使用しているため、不適合に関するエラーが発生します。データ。

library(rgdal)
nad83_coords <- data.frame(x=c(396842.6, 397886.9, 398315.5, 398154.3, 398010.3), y=c(140887.1, 139847.0, 138743.9, 139534.5, 138697.3))
coordinates(nad83_coords) <- c('x', 'y')
proj4string(nad83_coords) <- CRS("+init=epsg:4269")
Error in `proj4string<-`(`*tmp*`, value = <S4 object of class "CRS">) : 
  Geographical CRS given to non-conformant data: 398315.5 140887.1

proj4stringsの他の組み合わせでも、同じエラーが発生します。エラーは座標が大きすぎるためだと思いますが、なぜそうなるのかわかりません。座標のドキュメントは以下のとおりです。

値は、メリーランド州平面メーターNAD83地図投影法にあります。

私はマッピングとプロジェクションに非常に慣れていないので、どんな助けでもありがたいです。

4

1 に答える 1

6

espg:4269 を検索します。

http://spatialreference.org/ref/epsg/4269/

そしてその緯度経度システム。したがって、大きな数字 (メートル) は大きすぎます。

これらの座標のデータを含むシェープファイルがどこかにある場合は、投影仕様を持つ .prj ファイルがある可能性があります。それ以外の場合は、spatialreference.org で追跡する必要があります。

http://spatialreference.org/ref/?search=nad83+maryland&srtext=検索

NAD83にはいろいろなバリエーションがあり、ところどころに「ステートプレーン」もあります。どちらがどちらなのか正確にはわかりません。epsg: コードはより標準的で、esri: コードがたくさんあります。sr-org: はサイトでユーザーが提供します。

Esri コードは、指定したテキストに最も近いように見えます。やってみよう:

> proj4string(nad83_coords)=CRS("+init=esri:102285")
> spTransform(nad83_coords,CRS("+init=epsg:4326"))
SpatialPoints:
             x        y
[1,] -77.03642 38.93586
[2,] -77.02437 38.92650
[3,] -77.01942 38.91656
[4,] -77.02128 38.92368
[5,] -77.02294 38.91614

DCの近くのどこか?実際には、 epsg:2804 と epsg:3559 は同じ答えを出し、おそらくより「標準的」です...

于 2012-07-25T12:43:57.300 に答える