問題タブ [topojson]
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.
javascript - D3.js フラッド マップ キラー
D3.js と topojson を使用したフラッド マップの例を次に示します。
http://bl.ocks.org/cappelaere/6472064
https://gist.github.com/cappelaere/6472064
それは本当にD3に負担をかけています。読み込み時に topojson を単純化すると、Firefox がハングアップするようです。災害管理作業をサポートするために、これを機能させる必要があります。ズームインするときに適応単純化を行うことは素晴らしいことです。どんな助けでも大歓迎です。ありがとう、
パット。
json - D3/topojson SVG が queue.js でレンダリングされないのはなぜですか?
D3.js で世界地図を作成しようとしており、複数の CSV ファイルを queue.js 経由で個別にロードしています。ただし、パス ID に CSV 値を添付することはもちろん、json ジオメトリをレンダリングすることもできません。
queue.js メソッドを使用しない場合、SVG は次のメソッドを使用してブラウザに完全にロードされます。
しかし、ここで従った queue.js メソッドは SVG をレンダリングしません。
初め:
それで:
誰かが私が犯した可能性のある間違いについて教えてもらえますか? これは、json ファイル構造のスニペットです。
d3.js - PostGIS と D3 による深浅地図
私は、滑りやすい地図の上にさまざまな水域の水深の視覚化を表示したいアプリケーションに取り組んでいます。本質的に、これらは、補間された DEM データに基づく、地理的に含まれる地形の視覚化です。私が求めている結果は、次のようなものです。

深度サンプルから DEM を補間するコードを作成し、PostGIS のタイル化されていないラスター (水域ごとに 1 つのラスター) にこれらを格納する概念実証を行いました。これはかなりうまく機能します。
ただし、水域はほぼ任意のサイズになる可能性があり、ズームレベルなどに基づいて視覚的な側面を調整する必要があるため、この概念をある種のタイルベースのソリューションに置き換える必要があると思います.
これだけあれば、多くの場合 Mapnik に基づいて、さまざまな場所で説明されている通常の標高ラスター生成の概念を模倣することになるでしょう。しかし、ここからが楽しみの始まりです..
理想的には、ラスター データではなく、ベクター (または 2 つの組み合わせ) を提示したいと考えています。ラスター データで一般的に可能であるよりも、マップをよりインタラクティブにしたいと考えています (ラスター データが引き裂かれ、たとえば D3 を使用して分析されない限り、これについては後で詳しく説明します)。ユーザーの操作に基づいて、等距離 (等高線の距離と値) を動的に変更できるようにしたいと考えています。
このスタックをどのように配置するかについて、いくつかの賢明な意見をいただければ幸いです。私が換気したいいくつかのアイデア:
1. ラスター タイルのみ 標高 DEM ラスターは、従来の 256x256 メルカトル図法の概念に基づいて生成されます。これらはクライアント ブラウザによって動的にダウンロードされ、そのまま表示されるか、canvas/D3 を使用してカラー マップされます。さらに、canvas API を使用して、D3 を使用してベクター輪郭を抽出します。これはかなりきれいな解決策ですが、遅くなると思います(画像検査の部分)。
2. ベクター タイルと組み合わせたラスター タイル 標高 DEM ラスターは、補間されたデータを表現および格納するための適切な方法を構成するため、引き続き生成されます。ラスター タイルは引き続きマップ上のグラフィカル オーバーレイを構成する場合がありますが、基本的に標高等高線は (GeoJSON または TopoJSON に基づいて) 個別に取得されたベクター タイルで構成されます。これらのタイルは、ラスター ルールに基づいて生成されます。
その場で等距離を変更できるようにしたいので、たとえば D3 を使用して、ベクトルを統合および結合できる必要があります。d3.geom.contour プラグインを調べましたが、少し制限されているようです。たとえば、ローカル ピークはなく、ピラミッドのようなトポロジがあるようです。
大事なことを言い忘れましたが、美学のために軽いクライアント側のライン補間 (または同様のもの) を実行したいと考えています。つまり、海底地形図の解像度は低くなる可能性があります (高解像度は実際には価値がないため) が、この解像度では通常、等高線がぎこちなくなります。おそらくこれは TopoJSON の議論であり、簡素化の可能性はありますか? D3 で作成した例を次に示します (サーバー側で生成されたタイル以外の GeoJSON を使用):
どんな提案も大歓迎です!
javascript - D3.js を使用して topojson マップの一部のみをレンダリングする
D3.js ライブラリを使用して、米国国勢調査シェープファイルからマップを作成しています。米国全体の地図を作成しようとしていますが、これは問題ありません。また、各州の地図も作成します。
私のワークフローでは、コマンド ラインで ogr2ogr によって必要に応じて変更された国勢調査データを使用します。次に、topojson モジュールの node.js ダウンロードのエラーにより、shpescape.com によって topojson または geojson に変換されます (この特定の編集されたソリューションについては、以下を参照してください)。問題)。
私の質問は、何よりも実用的な質問です。このコードを提示すると(http://bl.ocks.org/mbostock/4707858をモデルにしています):
「var states」行で「未定義のプロパティの型を読み取れません」というエラーがスローされるだけでなく、無名関数に何を渡すべきなのか、または mt_topo.objects が何なのかわかりません。 .states が参照することになっています。この種の GIS に関する適切なドキュメントはありません。すべての国勢調査マップに「州」機能がありますか? .shp を topojson に圧縮すると、その情報が失われますか?
簡単に言えば、d3.json が (object, function(error, json)) を取る場合、実際に機能する例はどのようなものでしょうか?
編集: 回避策と Windows 7 の特異性 -----
ほとんどのチュートリアルでは、node.js のモジュールを使用するように指示されていますが、私は Windows7 を使用しており、正規のコマンドライン "npm install -g topojson" は "at contextify" で失敗します。作成者は、この問題を回避するための素敵なリンクを送ってくれました。
topojson のコマンド ラインには、geojson の既存の機能を topojson のアクセス可能なオブジェクトにパッケージ化できるフラグがあるため、これは重要です。たとえば、上記のコードは topojson で「states」を使用しています。これは、次のコマンドを使用しない限り、意味がなく、アクセスできないものです。
二重ハイフンと状態の間のスペースは重要です。その後、上記の元のコードに示すように、us.objects.states を介して状態にアクセスできます。
json - Topojson: 量子化 VS 単純化
quantizationとはどう違いsimplificationますか?量子化は単純化を行う別の方法ですか? 特定の状況で量子化を使用する方が良いですか? または、両方を組み合わせて使用する必要がありますか?
gis - Topojson: GIS ソフトウェアで有効なポリゴン、ライン、ポイントを設計する方法は?
これまでは、行政ポリゴン、河川、陸地などを提供する Web の GIS ファイルを常に使用していました。次に、それらを Topojson 形式に変換して D3js にフィードしました。
今日、Quantum GIS (QGIS) 内で独自のレイヤー (wine_areas) を設計する必要があります。同様に、この .shp ファイルは後で Topojson 形式に変換されます。
GIS ソフトウェア (.shp ファイル) 内でシェイプ、ライン、ドットを設計する場合: 心配すべき重要な側面とその方法は? ほとんどの場合、隣接するポリゴンが共通の円弧を共有している場合などです。
特に、GIS ソフトウェアで topojson の「アーク」を設計する方法を知りたいです。
- 私は自分の形をそのような近くに置くべきですか
[][] - 形を作って線で切るか
[|] - どのレベルの精度が必要ですか? (そしてそれを知る方法)
と他のヒント。
d3.js - d3 マップは一見有効な topojson データで空を示します
私はこの例に従いました: http://bost.ocks.org/mike/map/
この topojson ファイルを表示するには:
https://github.com/max-l/topojson-experiments/blob/master/qc-map.json
マップは常に空です。適切な中心 d3.geo.albers().center(-71,45) を設定しようとしましたが、他の多くのことは成功しませんでした。
Githubでレンダリングできることに気付きました(リーフレットあり)
https://github.com/max-l/topojson-experiments/blob/master/qc-map.json
これは、有効なtopojsonであると私に思わせます..
d3.js - 海の形状ファイルを topojson に変換する方法
MacOs 10.7.5 に gdal 1.10.1 と topojson 1.4.0 がインストールされています。ne_110m_oceanフォーム Natural Earthをダウンロードしました。
GeoJSON で形状ファイルを正常に変換しました。
次に、GeoJSON を topojson に変換します。
GeoJSON ファイルを使用してプロットすると、すべて正常に動作します。
topojson ファイルを使用してプロットすると、海のポリゴンではなく、陸地のポリゴンが得られます!!!!
誰でも助けることができますか?
前もって感謝します
d3.js - d3 ズームされたバウンディング ボックスにマップ フィーチャのみを描画
特定の(x、y)座標点にカーソルを合わせると、ズームインされたミニマップが中央にあるホバーされたポイントの横に表示されるマップを作成しました(次のようなコードを使用:http://bl .ocks.org/mbostock/2206590 )。うまく機能しますが、マップ全体を新しい縮尺で再描画し、オーバーフローを離陸したときに気づいたたびに変換するため、少し非効率的です: IE のミニマップから隠されています。
d3 または TopoJSON にマップ機能をフィルタリングして、ズームイン領域の境界ボックス内にある機能のみを保持する組み込みの方法はありますか?
ありがとう!