2017-05-08 4 views
1

私はアメリカ全体の各郡のACSデータ(低所得の子供の数)をプロットしています。マーカーはありません。別々の層にある各郡の6つの値。大きなデータのリーフレットを使用 - 米国のすべての郡のACSデータ

これはブラウザが処理するには大きすぎます。私はここでクラスタリングを扱ういくつかの同様の質問を見ましたが、私はクラスタ化するものがないので、私は新しい質問を始めます。

私は6つの地域マップに分割しようとしましたが、それでもあまりにも多いです。

フットプリントを減らす方法はありますか?それでも、郡ごとのすべてのデータがありますか?

ユーザーが現在表示しているデータを読み込み、ズームレベルに基づいてタイルミルなどのオプションを調べましたが、Rリーフレットマップから何かに移動する方法についての情報は見つかりませんそうですね。この経路を使用する代替手段も同様に有用である。

+1

私は 'county shapefile'と言ってポリゴンデータを意味していますか?どのようにこれらのレイヤーを読み込み、それらを1つに結合するか(レイヤー全体でジオメトリが一定であると仮定して)これで十分でない場合は、[rmapshaperパッケージ](https://github.com/ateucher/rmapshaper)を使用してポリゴンを単純化し、[mapview](https://github.com/)で視覚化してみてくださいr空間/マップビュー)。前者は「不要な」ポリゴン頂点を取り除くのに役立ちますが、後者は大規模なデータ(複雑さに応じて約100kフィーチャの球場)のリーフレットレンダリングを可能にする専用の機能を備えています。 – TimSalabim

+0

マップに6つのレイヤーを追加すると、チラシが6つのポリゴンを作成することをお勧めしますか?各レイヤーでジオメトリが同じであることは間違いありません。どのレイヤーが表示されているかによって唯一の違いは、ポップアップとfillColorです。この場合、リーフレットが非常に非効率的であることに私は驚いています。 'addPolgygons'関数を見ると、データをジオメトリから分離する明白な方法はありません。誰もがこの小冊子でこの動作を変更する方法を提案することはできますか? – jzadra

+0

リーフレットは地図上にデータを表示するだけで何もしません。いくつの層を扱っているかを判断するステップは、 'rgdal :: readOGR'または' sf :: st_read'部分です。 6つのレイヤーを言うとき、私は6つのレイヤー(それぞれが独自のジオメトリを持つ)を想定しています。 6つの属性テーブル列を持つ1つのレイヤーを参照する場合、ジオメトリは1回だけ必要です。 – TimSalabim

答えて

2

rmapshaper packageを使用してポリゴンを簡略化してから、mapviewで視覚化してみてください。前者は「不要な」ポリゴン頂点を取り除くのに役立ちますが、後者は大規模なデータ(複雑さに応じて約100kフィーチャの球場)のリーフレットレンダリングを可能にする専用の機能を備えています。

+0

rmapshaperがトリックをしました!私はmapviewを使う必要はなかった。私はrmapshaper :: ms_simplify(mydata)を使用しました。ここで、mydataはgeo_join()から生成されたLarge SpatialPolygonsDataFrameでした – jzadra

1

あなたはまた、あなたのR内の低解像度郡シェープファイルへの直接アクセスを取得しチグリスパッケージ、検討するかもしれない:これはあなたのリーフレットマップはポリゴンとしてでブラウザうまく実行できるようにする必要があります

library(tigris) 
library(leaflet) 

cty <- counties(cb = TRUE, resolution = "20m") 

leaflet(cty) %>% addTiles() %>% addPolygons() 

をあなたがこのルートに行くことを選択した場合、事前に簡略化されています。

+0

shapefilesがtigrisから来ている(またはそのように取得できる)場合、これは確かに良いソリューションです。大規模なデータフレームの中間ステップとそれらを減らすための多くの処理時間を経ることなく、解像度をよりコントロールすることができます(つまり、rmapshaper :: ms_simplifyを使用する方法)。 – jzadra

関連する問題