問題タブ [sp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
55 参照

r - sp パッケージのリアクティブ出力の呼び出し

式でパッケージを使用して多角形 ( myBounds)を作成します。spreactive()

パッケージの関数のobserve関数でこのポリゴンを使用しようとしています。over()sp

ポリゴンごとにいくつのポイントがあるか知りたいです。Myも式point objectに由来し、reactive私の観察で少し処理されます。

だから私が持っているのobserveはこれだけです:

ただし、これにより次のエラーが発生します。

警告: オブザーバーで未処理のエラー: シグネチャ '"reactive"、"character" の関数 'over' の継承されたメソッドが見つかりません

spライブラリがreactiveコンテンツで機能しないことはありますか? !

0 投票する
1 に答える
778 参照

r - sp に CRS を追加すると一貫性がないように思われる

でパッケージのover()機能を使いたい。spR

を割り当てますCRS

そしてすべてが良さそうです。

CRSのを確認してみましょうallPoints

したがって、over()今関数を実行すると

エラーが発生します:

同一のCRS(x, y)はTRUEではありません

ここで何が問題なのかはわかっていると思いますが、解決方法がわかりません。

よく見ると、allPointsさらにいくつかの単語があります-つまり+init=epsg:3857. ここで、スロット内の文字列が同一であるかどうかを単純に比較することを読みました。ご覧のとおり、それらは同じです (Spatial リファレンスのクレアチンはまったく同じです) が、文字列は作成方法が原因でわずかに異なります。sp packageCRSCRS

私が使うとき

それは私にallPointsこれを返します:

proj4string<-( 、値 = )内の警告*tmp*: 新しい CRS が既存の CRS を持つオブジェクトに割り当てられました: +init=epsg:3857 +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0= 0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs 再投影なし。再投影には、パッケージ rgdal の関数 spTransform を使用します

関数はover()機能しますが、返されるものは意味がありません。

この問題にどう立ち向かう!?

0 投票する
0 に答える
525 参照

r - 無効な `.internal.selfref` 警告、`SpatialPolygonsDataFrame` で動作する列が更新されない

プロット中に色付けなどのためにR属性を s に追加することを含む、いくつかの地理空間分析を実行しようとしています。SpatialPolygonsDataFrame

整理のために、マージと更新によってこれらの属性を自分の に追加したいのですSpatialPolygonsDataFrameが、「無効.internal.selfref」という警告が表示され続け、列が追加されません。

ここでの質問と回答をいじってみると、SpatialPolygonsDataFrameオブジェクトのデータが に格納されていることに関連しているようですが、一般的にユーザー定義のlistを扱っていたため、これに対処する方法については回答がありませんでしたlistここのようなパッケージから出てくるものの代わりに。

これは、ばかげたシェープファイルを使用した簡単な例です。たとえば、米国の州です(以下の 500k 解像度を使用していることに注意してください)。

警告メッセージ: In `[.data.table`(us.states@data, , `:=`(test, 1L)): Invalid .internal.selfrefdetected and fix by a (shallow) copy of であるdata.tableため、:=参照によってこの新しい列を追加できます。以前の時点で、これdata.tableはによってコピーされました(または、または類似のR 方法を使用して手動で作成されました)。をstructure()避けkey<-、 現在(names<-そして奇妙なことに)全体をコピーする可能性があります 。コピーを避けるために、代わりに構文を使用してください: 、 および. また、 では、 and (は名前付きオブジェクトのコピーに使用されます)全体をコピーしました。にアップグレードしてください attr<-Rdata.tableset*?set?setnames?setattrR<=v3.0.2list(DT1,DT2)DT1DT2Rlist()R>v3.0.2それが噛む場合。このメッセージが解決しない場合は、根本原因を修正できるように datatable-help に報告してください。

この種のジャイブは、他の関連する回答から収集したものですが、少なくともデータが更新されることを期待していましたが、残念ながら:

(または同様の取得されたオブジェクト)を操作:=するために参照構文による快適な更新を引き続き使用できる方法はありますか?SpatialPolygonsDataFrame.shp

今のところ、コピーによる更新を使用しています。これは機能します。

0 投票する
1 に答える
1443 参照

r - 人口加重多角形の歪み (カートグラム)

基になるジオメトリの形状 (つまり、物理的な境界)と、関連付けられた値に関するオブジェクトの相対的な重要性の両方を伝えるマップを R で作成しようとしています。

具体的には、次のマップ (のバージョン) を再現することに焦点を当てたいと思います* (ポーリング データが見つからないため、色ではなく形):

と題されたアメリカ合衆国の歪んだ地図

また、アラスカとハワイが、測地学的に正しい位置ではなく、米国の下に表示されるようにすることにも煩わされたくありません。

たとえば、次のように、データを重みとマージするだけです。

1.ポリゴンを取得する

平易で歪みのない米国本土の地図。 白いポリゴン、黒い境界線、2 文字の州の郵便番号で注釈が付けられています。

2. 選挙人団のデータを追加する

同じ歪みのない州の地図ですが、今回は各州が赤、青、または紫に色付けされています。 赤は意味します

これはまったく問題ありません。このマップを一目見ただけで、選挙人団での代表者数が多い州と少ない州がわかります。しかし、(ターゲット マップのように) 別の変数を州の色で表現したい場合はどうなるでしょうか?

3. 2012 年の選挙結果を追加

今回も選挙結果に応じて正確に赤または青になります。

この最後のグラフは、問題の核心を突いています。提示された最初のグラフは、マップの赤と青の割合から共和党と民主党のどちらが勝ったかを判断できるという意味ではるかに優れています。最も共和党の州は人口が最も少ない州でもあるため、この最後のマップは誤解を招く可能性があります。

選挙人団における各州の相対的な重要性を伝える、この地図の歪んだバージョンを作成する方法はありますか? おそらく主に、このタイプのグラフに標準的な名前があるかどうかわからないため、オンラインでヘルプを見つけることができませんでした。

*この地図はここで見つかりました; エコノミストなどで、以前に同様のサイズの歪んだマップを見たことがあります。プリンストンの選挙コンソーシアムのサム・ワン博士の作品に基づいており、ドリュー・セイラーによって制作されたようです。

0 投票する
1 に答える
1479 参照

r - spplot へのテキストの追加 [R]

R でいくつかのデータを使用して空間補間を実行し、マップの作成に行き詰まりました。そのためにはspplotを使用する必要があります。そこからコードサンプルをテストすると:

すべてが意図したとおりに機能します。これをデータセットに適用すると、エラーが発生します

これは私のコードがどのように見えるかです:

この問題を解決する方法はありますか? 私のデータは、splot のドキュメントに記載されている例とほぼ同じに見えます。ヒントをありがとう!

0 投票する
2 に答える
36777 参照

r - SpatialPointsDataframe の作成

df110列のデータフレームがあります。これらの列のうちの 2 つはlnglatです。SpatialPointsDataframefromを作成したいdf1SpatialPointsDataframeの作成方法を読むとm1、2 つの座標列からマトリックスを作成し、そのマトリックスをデータフレーム 'df1' に割り当てる必要があるように感じます。

私の座標はすでに私のデータフレームの列であるため、それは回り道になりますdf1。さらに、マトリックスの座標がm1データフレームの正しい行に割り当てられていることを確認するにはどうすればよいdf1ですか?

それは私df1がどのように見えるかです

0 投票する
1 に答える
804 参照

r - spplot/lattice: 描画されていない/上書きされているオブジェクト

グリッドがあり、このグリッドからいくつかのマップ要素 (縮尺、方位記号など) を使用してマップを作成したいと考えています。必要なグリッドとカラーリングを問題なく描画できますが、追加のマップ要素がマップに表示されません。マニュアルfirst=TRUEに従って sp.layout 引数に入れてみましたが、それでも成功しません。sp

統合された meuse データセットで問題を再現したので、そのコードをコピーして貼り付けてください。私はこれらのパッケージバージョンを使用します:lattice_0.20-33そしてsp_1.2-0

そして、それがどのように見えるか...すべて裸です: ここに画像の説明を入力 だから私の質問:

  1. スケールバー、北向き矢印などはどこに隠れていますか? 私は何か見落としてますか?インターネットで見つけることができるすべての例は、それに似ています。私自身のデータセットでは、縮尺記号と北向き矢印が最初に描かれているのを確認できますが、グリッドがレンダリングされるとすぐに、追加のマップ要素が重ね合わされます (バーではなく、縮尺テキストを除いて、マップに表示されます)。何らかの理由で私が理解していないようです)。
  2. マップに表示されるエラー メッセージは、サンプリング場所を追加しようとすると表示されますsampling = list("sp.points", meuse.riv, color = "black")。このエントリがないと、マップはエラーなしで表示されますが、追加のマップ要素も表示されません。マップ上にサンプリング ポイントを表示するにはどうすればよいですか (たとえば、サイズがこのサンプリング ポイントの絶対値に依存する円で)。

これは今まで何時間も私を悩ませてきましたが、これに対する解決策が見つかりません. Bivand et al の教科書 (2013) "Applied Spatial Data Analysis with R" では、次のエントリを読むことができました。

sp.layout 引数内のアイテムの順序は重要です。原則として、オブジェクトは出現順に描画されます。デフォルトでは、splot のオブジェクトに点または線がある場合、点の前に sp.layout アイテムが描画され、背景としてグリッドとポリゴンを描画できるようになります。グリッドとポリゴンの場合、sp.layout アイテムは後で描画されます (そのため、グリッドやポリゴンによってアイテムが上書きされることはありません)。グリッドの場合、最初にリスト要素を追加 = TRUE すると、グリッドが描画される前にアイテムが描画されます (たとえば、塗りつぶされたポリゴンが追加されるとき)。透明度は、レイヤーを結合するときに役立ちます。PDF デバイスおよびその他のいくつかのデバイスで使用できます。関数 sp.theme は、splot によって作成されるプロットに役立つラティス テーマを返します。これを有効にするには、デバイスを開くか変更した後に trellis.par.set(sp.theme()) を使用します。

ただし、この追加情報でも、この問題を解決できませんでした。ヒントをいただければ幸いです。