問題タブ [geojson]
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 - JavaScript でマップ ポイントをカテゴリ別にグループ化する
動的に作成された GeoJSON ファイルを解析して、マップにポイントを配置しています。これらのポイントをカテゴリ属性でグループ化したいと思います (各ポイントにはカテゴリ プロパティがあります)。マッピング ライブラリ (リーフレット: http://leaflet.cloudmade.com/examples/layers-control.html ) でグループ オブジェクトにポイントを追加する方法を見つけましたが、カテゴリがどうなるかを知っていることを前提としています。 (例var citiesLayer = new L.LayerGroup();
)。
私がやりたいのは、各ポイントを解析して(すでにその部分を実行しています)、カテゴリXのグループが存在するかどうかを確認し、そのグループにポイントを追加するか、グループを作成してポイントを追加することです. これにより、特定のカテゴリのすべてのポイントを一度にオン/オフすることができます。私がそれをどのように行うかについてのアイデアはありますか?私は JavaScript についてほとんど知りません (私は Python 派です)。
ここに私のJSがあります:
GeoJSON ポイントの例:
各ポイントをグループ化するために使用される属性はe.properties.event_set__all[0].category__category
です。
javascript - D3.js で geoJSON データを使って線を引く
D3 フレームワーク (http://mbostock.github.com/d3/) を使用して米国の州の輪郭を描画しようとしていますが、実際の SVG データの生成に問題があります。Chloropleth の例に従うようにコードを作成し (このプロジェクトが必要とするものに最もよく似ているため)、提供されたデータが geoJSON 形式であることを確認しました。
問題は、DOM を表示すると、<svg>
オブジェクトには<g>
要素が 1 つしか含まれておらず (この例では手動で作成したものです)、<path>
その下にあるはずの子要素が含まれていないことです。私のコードは例とほとんど同じように見え、データは正しいように見えますが、例で使用する Polygon オブジェクトの代わりに MultiPolygons を出力しています。
私たちのアプリは、jQuery を使用した RoR プロジェクトです (SVG と地理機能には D3 のみを使用しています)。テスト ページは、米国の州のドロップダウン選択からの選択に基づいて、<svg>
という div の下に要素を作成しようとします。theArea
D3 に供給するデータは次のようになります。
誰かが私たちが間違っていることを教えてくれますか? 私は地理とGISのことは初めてです。それぞれに空のオブジェクトを作成する必要があるdata()
ように見えるため(現時点では1つしかありませんが)、D3のドキュメントは不明確なようです(そして理解しにくいようです)。<path>
Feature
編集: 生成する geoJSON が GeoRuby gem の geoJSON 拡張によって作成されたことを追加したかっただけです。実際の地図の線は、米国国勢調査局の地図境界ファイルを SQL に変換して postGIS で保存した統合データを基に作成されました。私の一部は、geoJSON 拡張機能が何か間違ったことをしているのではないかと疑っているので、それが私の次の攻撃手段です。
openlayers - GeoJSON: プロパティは FeatureCollection で許可されていますか?
仕様に関連情報が見つかりませんでした: http://geojson.org/geojson-spec.html
properties
にキーを入れることはできFeatureCollection
ますか? それとも機能のみ可能ですか?
可能であれば、内のプロパティにアクセスするにはどうすればよいopenlayers
ですか? 前もって感謝します。
json - geoJson データを生成するには?
国とそのすべての州の geoJson データを生成したいと考えています。私が見たすべての例で、すべてのデータは米国のものです。
他の国とそれに対応するすべての州の geoJson データをどこでどのように取得できますか? それは可能ですか?
c# - C# DataContracts は、GeoJSON を正しく記述するのに十分表現力がありますか?
そのため、WCF/REST API で GeoJSON を返すことを簡単にサポートできるように、GeoJSON を C# DataContracts にマップしようとしました。DataContracts とシリアライゼーションを扱うほど、理解できない魔法のブラック ボックスであると感じるようになります。
とにかく、これが私が来た限りです:
GeoJSON.cs:
Program.cs:
プログラムの出力:
問題点
- これらの__typeタグが散らばっています
- タイプ フィールドは、実際の名前ではなく「0」にシリアル化されます。
これらの問題は、WCF サービスで使用するときにも発生します。何か案は?これを逆シリアル化する際に問題が発生するかどうか、またはこのアイデアがまったく合理的かどうかについてのヒントはありますか?
php - geoJSON に保存されたポイントがマップに表示されない
以下で構成される geoJSON ファイルがあります。
この JSON ファイルは、php スクリプトで構成されています。
polymaps.org フレームワークを介してロードしようとすると、ポイントが表示されません。マップをロードするための標準的なものに加えて、この JavaScript を使用して geoJSON を解析します。
ポイントが赤い円のように見えるように、CSS は次のとおりです。
奇妙なことは、geojson ファイル ポインターを GIS アプリケーションによって構築されたものに変更すると、それが機能することです。したがって、私の geoJSON が壊れているに違いありません。しかし、http://jsonlint.com/で実行すると、検証されます。
これがどのように可能か知っている人はいますか?
svg - GeoJsonワールドデータベース
d3.jsを使って国や都市の地図を表示する必要があるプロジェクトに取り組んでいます。
実際、D3はGeoJson形式をサポートしています。通常、GeoJson形式は他の形式から変換されていると思います。
このGeoJsonデータでいくつかの場所を見つけました:
http://mbostock.github.com/protovis/ex/countries.js
ただし、これは国のリストにすぎません。IDを設定し、この形式を取得して、GeoJsonに変換したり、GeoJsonでより適切に取得したりできるサービスまたはプログラムを探しています。
ありがとう!!
javascript - Leaflet ポップアップのコンテンツを更新するにはどうすればよいですか?
LeafletでWaxを使用しています。リーフレットの L.GeoJSON を使用して、GeoJSON で州境を描きながら、米国の地図を作成しています。
マップのロード中にすべてを設定できますが、マップの描画後にポップアップのコンテンツを調整できる必要があります。これが私がやっていることの簡素化されたバージョンです:
今、すべてがうまく描画され、ポップアップには適切なコンテンツがありますが、後で変更したいのですが、それを参照する方法がありません。bindPopup() が 'this' を返すことをソースで見ました。これは L.Popup オブジェクトだと思っていましたが、別のものになりました。したがって、たとえば、次のコードは、取得しようとしている特定の L.Path オブジェクト (状態) の特定のポップアップではなく、アクティブなポップアップを更新します。
firebug を使用して DOM を掘り下げると、ポップアップ コンテンツが内部変数に設定されており、それを更新できることもわかります。ただし、これを更新しても HTML は更新されず、アラスカが 52 のキーを持っていることを知る方法はありません。 .Popup オブジェクト。
だから、私はちょっと立ち往生していて、必要なものが見つかりません。最初のレンダリング後にマップ上の特定のポップアップを参照してコンテンツを更新する方法はありますか?
javascript - リーフレット js: POI をキャンバスとして描画する
Leafletでジオポイントをたくさん描きたい。したがって、HTML5 キャンバスを使用してパフォーマンスを向上させたいと考えています。私のデータソースは geoJSON です。リーフレットのドキュメントで見たように、地理位置をキャンバスとして描画することはまだできません。
私はここに接続する必要があると思います:
pointToLayer: 関数 (latlng) { }
私のlatlngオブジェクトをキャンバスとして描く方法を誰かが知っていますか?