問題タブ [maptools]
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.
mysql - フィーチャ ジオメトリ属性からのポリゴン空間データ フレームの作成
フィーチャ ジオメトリ属性を持つ MySQL データベースから取得したデータ フレームがあります。たとえば、geom 属性の 1 つのレコードの値は次のとおりです。
テーブル内のすべてのフィーチャはポリゴンです。
検索してきましたが、これらの座標文字列から空間データ フレームを作成するきれいな方法が見つかりません。
r - 無効な `.internal.selfref` 警告、`SpatialPolygonsDataFrame` で動作する列が更新されない
プロット中に色付けなどのためにR
属性を s に追加することを含む、いくつかの地理空間分析を実行しようとしています。SpatialPolygonsDataFrame
整理のために、マージと更新によってこれらの属性を自分の に追加したいのですSpatialPolygonsDataFrame
が、「無効.internal.selfref
」という警告が表示され続け、列が追加されません。
ここでの質問と回答をいじってみると、SpatialPolygonsDataFrame
オブジェクトのデータが に格納されていることに関連しているようですが、一般的にユーザー定義のlist
を扱っていたため、これに対処する方法については回答がありませんでしたlist
ここのようなパッケージから出てくるものの代わりに。
これは、ばかげたシェープファイルを使用した簡単な例です。たとえば、米国の州です(以下の 500k 解像度を使用していることに注意してください)。
警告メッセージ: In
`[.data.table`(us.states@data, , `:=`(test, 1L))
: Invalid.internal.selfref
detected and fix by a (shallow) copy of であるdata.table
ため、:=
参照によってこの新しい列を追加できます。以前の時点で、これdata.table
はによってコピーされました(または、または類似のR
方法を使用して手動で作成されました)。をstructure()
避けkey<-
、 現在(names<-
そして奇妙なことに)全体をコピーする可能性があります 。コピーを避けるために、代わりに構文を使用してください: 、 および. また、 では、 and (は名前付きオブジェクトのコピーに使用されます)全体をコピーしました。にアップグレードしてくださいattr<-
R
data.table
set*
?set
?setnames
?setattr
R<=v3.0.2
list(DT1,DT2)
DT1
DT2
R
list()
R>v3.0.2
それが噛む場合。このメッセージが解決しない場合は、根本原因を修正できるように datatable-help に報告してください。
この種のジャイブは、他の関連する回答から収集したものですが、少なくともデータが更新されることを期待していましたが、残念ながら:
(または同様の取得されたオブジェクト)を操作:=
するために参照構文による快適な更新を引き続き使用できる方法はありますか?SpatialPolygonsDataFrame
.shp
今のところ、コピーによる更新を使用しています。これは機能します。
r - `methods` が失敗したときに関数呼び出しでどのメソッドが使用されているかを知る方法は?
plot
猫をバッグから出して、 class のオブジェクトを呼び出すときに何が起こっているのかを把握するために約 1 日を費やしたと言いますSpatialPolygons*
。私の本能は、私が見たり遭遇した他の多くの例で機能するアプローチを探すことですplot.SpatialPolygonsDataFrame
が、これは失敗しました。
簡単な例:
米国の州の .shp ファイルはこちら。
少しばかげていますが、それはどうでもいいことです。要点は、すべての形状を表現するためにどのメソッドを呼び出すかをplot
、どこかで単純に呼び出すだけで知っているということです。R
少し調べた後、まず何よりもまず、さまざまな SO Q&A で提案された他の 2 つのアプローチを試しました。
答えはスロット 27 ~ 32 にあるようです。ただし、それぞれの後に厄介なコンマが続きます。これが可能で?methods
あり?plot,SpatialPolygons,missing-method
、エラーであることは言及されていません。をすばやく検索しmissing-method
ても役に立たないことが判明し、再び言及がありません?methods
。
わかった; 先に進みます。どうgetS3method
ですか?getMethod
? getMethods
? getAllMethods
??
後者の 2 つは非推奨であり、何も返しません。
どうやらこれらの関数は、私の最初の本能の代わりに過ぎないようです。
んで、どうする?plot
渡されたときにどのメソッドが呼び出されているかをどのように確認できSpatialPolygonsDataFrame
ますか? 上記で使用したアプローチに取って代わる、この問題に対する一般的なアプローチはありますか?
編集:
偶然のように、私はこれ(= ?`Spatial-Polygons-class`
)に出くわしました。
空間ポリゴンの
plot
メソッドは、次の引数を取ります。
しかし、その方法が正確に何であるかはまだ述べていません。
r - 人口加重多角形の歪み (カートグラム)
基になるジオメトリの形状 (つまり、物理的な境界)と、関連付けられた値に関するオブジェクトの相対的な重要性の両方を伝えるマップを R で作成しようとしています。
具体的には、次のマップ (のバージョン) を再現することに焦点を当てたいと思います* (ポーリング データが見つからないため、色ではなく形):
また、アラスカとハワイが、測地学的に正しい位置ではなく、米国の下に表示されるようにすることにも煩わされたくありません。
たとえば、次のように、データを重みとマージするだけです。
1.ポリゴンを取得する
2. 選挙人団のデータを追加する
これはまったく問題ありません。このマップを一目見ただけで、選挙人団での代表者数が多い州と少ない州がわかります。しかし、(ターゲット マップのように) 別の変数を州の色で表現したい場合はどうなるでしょうか?
3. 2012 年の選挙結果を追加
この最後のグラフは、問題の核心を突いています。提示された最初のグラフは、マップの赤と青の割合から共和党と民主党のどちらが勝ったかを判断できるという意味ではるかに優れています。最も共和党の州は人口が最も少ない州でもあるため、この最後のマップは誤解を招く可能性があります。
選挙人団における各州の相対的な重要性を伝える、この地図の歪んだバージョンを作成する方法はありますか? おそらく主に、このタイプのグラフに標準的な名前があるかどうかわからないため、オンラインでヘルプを見つけることができませんでした。
*この地図はここで見つかりました; エコノミストなどで、以前に同様のサイズの歪んだマップを見たことがあります。プリンストンの選挙コンソーシアムのサム・ワン博士の作品に基づいており、ドリュー・セイラーによって制作されたようです。
r - R の maptools ライブラリの pointLabel() を使用した自動ラベル プロット
シミュレーテッド アニーリング アルゴリズムを使用して、設計図面の自動ラベル配置の問題を解決しようとしています。pointLabel()
Rのライブラリで関数に出くわしましmaptools
た。ただし、関数はラベルを最適に配置できますが、下にある図面を考慮していないことがわかりました。ラベルが描画線と重ならないようにします。これを達成する方法はありますか?また、私のラベルは幅と高さの点でさまざまなサイズです。ラベルの原点から離れた各ラベルの寸法を指定する方法はありますか?
私の作品を再現するために必要な csv ファイルをアップロードする方法がわかりませんが、ここにドロップボックス リンクhttps://www.dropbox.com/s/85qqs4nlvm4crck/TextBoxData.rar?dl=0があり、これが私のコードです:
どんな洞察も役に立ちます。ありがとう。