リーフレット上のPostgisからのジオデータを表示する最も一般的な方法は何ですか?


18

たとえば、私のデータベースには、地理座標を持つポイントがいくつかあります。Leaflet JSレイヤーに表示したいです。どの楽器を使用すればよいですか?たぶんいくつかのAPIがあります...


GIS SEへようこそ?あなたの質問は本当に「リーフレットを使用してPostGISポイントを表示する方法」ですか?もしそうなら、あなたはあなたが質問を編集してそのことをより明確にすることができますか?
PolyGeo

回答:


22

データベースからWebブラウザーにデータを取得するには、サーバー側のスクリプトを使用する必要があります。SQLインジェクションなどの脆弱性を認識する必要があるため、これは難しい場合があります。注意すべき重要なベストプラクティスのいくつかは、パラメーター化されたクエリを使用し、データベースユーザーが特権を持たないようにし、パブリックにするテーブルへの読み取りアクセスのみを許可することです。

データベースへのAPIアクセスを取得する簡単な方法は、GeoServerのようなソフトウェアを使用することですが、それは潜在的に小さな問題に使用する非常に大きなアプリケーションです。

もう1つの方法は、サーバー側のスクリプトにデータをGeoJSONファイルに定期的にダンプさせることです。データの変更頻度に応じて、これは1時間ごと、1日ごと、1週間ごとになります。ファイルの書き込み中はWebサイトが機能しない可能性があることに注意してください。

別の方法は、PHPまたはPythonをCGIスクリプトとして使用して独自のAPIを構築することです。

例:

:あなたがにGeoJSONを持っていたら、動的または静的かどうか、あなたはリーフレット使用して非常に簡単にそれを読み込むことができhttp://leafletjs.com/examples/geojson.htmlを


1
ご回答ありがとうございます。GeoJSONを使用する傾向があります。次に、Postgisの代わりにCSVファイルを使用し、それをgeoJSONに変換してから、リーフレットでデータを表示します。
ジョンスミス

1
読み取りogr2ogr次に使用CSVファイルをにGeoJSONに容易に変換する
ジョージ・サンス

1
データが大きすぎてJSONとしてロードするのに時間がかかりすぎる場合は、TopoJSONをご覧ください。github.com/mbostock/topojson
アレックスリース

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.