問題タブ [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.

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

mysql - フィーチャ ジオメトリ属性からのポリゴン空間データ フレームの作成

フィーチャ ジオメトリ属性を持つ MySQL データベースから取得したデータ フレームがあります。たとえば、geom 属性の 1 つのレコードの値は次のとおりです。

テーブル内のすべてのフィーチャはポリゴンです。

検索してきましたが、これらの座標文字列から空間データ フレームを作成するきれいな方法が見つかりません。

0 投票する
3 に答える
2000 参照

r - アラスカとハワイを移動してリスケール

このチュートリアルに従って、アラスカとハワイを移動および再スケーリングします。これは私が実行しているコードです:

何が欠けているのかわかりません。マップがチュートリアルのマップのように見えません。

アメリカ合衆国

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 投票する
2 に答える
1180 参照

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メソッドは、次の引数を取ります。

しかし、その方法が正確に何であるかはまだ述べていません。

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

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

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

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

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

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

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

1.ポリゴンを取得する

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

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

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

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

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

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

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

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

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

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

r - R の maptools ライブラリの pointLabel() を使用した自動ラベル プロット

シミュレーテッド アニーリング アルゴリズムを使用して、設計図面の自動ラベル配置の問題を解決しようとしています。pointLabel()Rのライブラリで関数に出くわしましmaptoolsた。ただし、関数はラベルを最適に配置できますが、下にある図面を考慮していないことがわかりました。ラベルが描画線と重ならないようにします。これを達成する方法はありますか?また、私のラベルは幅と高さの点でさまざまなサイズです。ラベルの原点から離れた各ラベルの寸法を指定する方法はありますか?

私の作品を再現するために必要な csv ファイルをアップロードする方法がわかりませんが、ここにドロップボックス リンクhttps://www.dropbox.com/s/85qqs4nlvm4crck/TextBoxData.rar?dl=0があり、これが私のコードです:

どんな洞察も役に立ちます。ありがとう。