タグ付けされた質問 「postgis」

PostGISは、PostgreSQLオブジェクトリレーショナルデータベースの拡張機能で、地理オブジェクトのサポートを追加します。

3
近くの平行な道路線(たとえば、二重の車道)を1本の線に結合/縮小するにはどうすればよいですか?
都市内のすべての道路を含むOSMのシェープファイルがあります。(二重車道のような)より大きな道路には、2本の平行線があるようです。それらを1行に折りたたむ/結合して、外部の3Dアプリケーションでうまくエクスポートしてレンダリングできるようにします(2つのオーバーラップする道路は複雑になり、3Dで奇妙に見えます)。 QGISまたはPostGISでこれを達成するにはどうすればよいですか?精度がわずかに低下する(数メートル以内)ことを心配していません。現在の平行線の間(理想的には中心)に、結果として生じる単一の線があることを望みます。 ありがとうございました。 (ここで、組み合わせたい二重道路線の例を示します)
23 qgis  postgis  line  road 

4
ST_Distance、kNNを使用したPostGIS最近傍点
1つのテーブルの各要素で、別のテーブルの最も近いポイントを取得する必要があります。最初のテーブルには交通標識が含まれ、2番目のテーブルには町のエントランスホールが含まれます。問題は、ST_ClosestPoint関数を使用できないことと、ST_Distance関数を使用してmin(ST_distance)レコードを取得する必要があることですが、クエリの構築が非常に困難です。 CREATE TABLE traffic_signs ( id numeric(8,0) ), "GEOMETRY" geometry, CONSTRAINT traffic_signs_pkey PRIMARY KEY (id), CONSTRAINT traffic_signs_id_key UNIQUE (id) ) WITH ( OIDS=TRUE ); CREATE TABLE entrance_halls ( id numeric(8,0) ), "GEOMETRY" geometry, CONSTRAINT entrance_halls_pkey PRIMARY KEY (id), CONSTRAINT entrance_halls_id_key UNIQUE (id) ) WITH ( OIDS=TRUE ); すべてのtraffic_signの最も近いentrnce_hallのIDを取得する必要があります。 これまでの私のクエリ: SELECT …

3
PostGISでバウンディングボックスクエリを実行していますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 地理情報システムスタック交換のトピックになるように質問を更新します。 去年閉鎖されました。 ほぼ200万行のPostgreSQLテーブルcoordinatesがあり、フォーム内にlong-lat フィールドがありますPOINT(-73.4938 33.2405)。 そのフィールドに地理空間インデックスがあると仮定すると、任意の境界ボックス内のすべての行を選択する最も効率的で最速の方法は何ですか? ボックスはのようなものですSW long-lat: -74.0042 40.7688、NE long-lat: -73.8809 40.7984。

4
隣接するすべてのポリゴンをマージする
パーセル(ポリゴン)レイヤーで隣接関係のテストを行い、特定の基準(サイズなど)に適合する場合はそれらをマージします。次の図では、ポリゴン1、2、3、4をマージしますが、 5はマージしません。 私には2つの問題があります: ST_TOUCHES線分ではなく、角だけが接触している場合にTRUEを返します。共有ラインセグメントをチェックするには、ST_RELATEが必要だと思います。 理想的には、隣接するすべてのポリゴンを1つにマージしたいと思いますが、1ラウンドで1、2、3、4(および実際のデータでさらに)をマージするなど、2つを超えてスケ​​ーリングする方法がわかりません。 私が今持っている構造は自己結合に基づいていST_TOUCHESます。 玩具データ CREATE TABLE testpoly AS SELECT 1 AS id, ST_PolyFromText('POLYGON ((0 0, 10 0, 10 20, 00 20, 0 0 ))') AS geom UNION SELECT 2 AS id, ST_PolyFromText('POLYGON ((10 0, 20 0, 20 20, 10 20, 10 0 ))') AS geom UNION SELECT …
22 postgis  merge  union 

3
ジオメトリ列の命名規則-「geom」または「the_geom」?
私は最初のPostGISプロジェクトを始めています。さまざまな本やチュートリアルで、「geom」または「the_geom」というラベルの付いたジオメトリ列を見てきました。一方は他方よりも慣習的ですか? さらに、ジオメトリ列のよりわかりやすい名前の代わりに「geom」/「the_geom」を使用する正当な理由はありますか?(たとえば、フィーチャの中心点の「centre_point」。)従来のdb列に「the_int」または「the_string」のラベルを付けないのに、なぜジオメトリ列にこのようにラベルを付けるのですか?

1
ジオコーディングソリューションの比較(Gisgraphy&PostGIS 2.0など)[終了]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 4年前に閉鎖されました。 多くの人が知っていると思いますが、PostGISは最終的にバージョン2.0をリリースし、このバージョンにジオコーダーも組み込みました(http://postgis.net/docs/Extras.htmlを参照)。 V2がリリースされたばかりであることに気付きましたが、gisgraphy.comなどの他のオープンソースソリューションを比較する機会が誰かにあったかどうか知りたいです。 個人的には、速度、機能/オプション、精度、および独自のデータセットを使用できる容易さの違いを理解することに興味があります。

1
QGISでのPostgis 2.0トポロジサポートのステータスはどうなっていますか?
この投稿は、急速に変化するイベントに関連しています。 過去6か月にわたってPostgisの開発をフォローしてきましたが、特にトポロジの分野で非常にクールな機能が多数あり、交差、スナップなどの計算を関連付けていることに気付きました... 私が理解しようとしているのは、誰かがこれらの機能をqgis内のネイティブコントロールに変えるプラグインを持っているか、作業している場合です
22 postgis  qgis  topology 

4
PostGISでサークルを作成しますか?
SRID:900913のジオメトリでPostGIS 1.5.2を使用しています。ポイントのリストを中心として、半径600キロメートルの円を作成する必要があります。私はこのクエリを使用しています: INSERT INTO circles (geom) ( SELECT ST_Buffer(point, 600000, 'quad_segs=8') FROM points ); ただし、作成された円の半径は600キロメートルではありません(半径はこの長さに近いですが、正確ではありません)。 PostGISで円を作成する他の方法はありますか? 注:表示される情報はスペインからのものです。正しい投影法は4326ですが、クライアントはGoogleラスタを使用するため、再投影を避けてパフォーマンスを向上させるために900913にデータを保存しています。

3
PostGISでアウトラインを構築するための一般化戦略をお探しですか?
ラスタデータセットからベクトル化された建物のフットプリントのデータセットがあります。現在、データセットはラスターデータの単なるベクター表現です。建物の隅にのみ頂点があるポリゴンデータセットが欲しい。PostGISでSimplifyコマンドを使用しようとしましたが、成功は限られていました。 もっと良い方法はありますか?

2
PostGISでポリゴン内のポイントを見つけるにはどうすればよいですか?
PostGISの特定のポリゴン内にあることが保証されているポイントを見つけるにはどうすればよいですか? 私はST_Centroid機能を知っています。ただし、重心は常にポリゴン内にあるとは限りません。以下を参照してください。 さらに、多角形の境界上にある点の使用を避けたいのですが、境界内にある(ドーナツ型の多角形の穴内にはない)点が必要です。

7
OpenLayersでPostGISベクターを表示するためのオプション
Webマッピングは初めてなので、この質問は少し見当違いかもしれません。 現在、PostGISにある多くのポイントテーブルとポリゴンテーブルを表示できる、OpenLayers(または、もっと簡単な場合はGoogleマップ)を使用した非常にシンプルなWebインターフェイスが必要です。 私はこれをできるだけシンプルに(そして保守性を低く)したいです: タイルを作成する必要はありません(非常に正当な理由がない限り)、またはミドルウェアの大規模で複雑なレイヤーは必要ありません。 パフォーマンスは驚異的である必要はありません。これは内部で使用するためであり、数人の同時ユーザーを超えて拡張する必要はありません。 ベクターレイヤーのスタイル設定の重要性は最小限です。 これには予算がほとんどないので、オープンソースのツールが非常に好まれます。 これに推奨されるアプローチは何ですか?

3
st_union以外にPostGISにディゾルブ関数はありますか?
テーブル内のポリゴンフィーチャ間の共有境界を解消する関数を探しています。ST_UNION()は、私が探していることをほぼ実行しますが、共通の境界を共有するかどうかに関係なく、レイヤー内のすべてのポリゴンからマルチポリゴンを作成します。むしろ、互いに接触するポリゴン間の境界のみをディゾルブします。ST_TOUCHES()を使用する方法があるはずですが、ディゾルブ関数の必要性は非常に一般的であるため、これを実現する組み込み関数がない場合は驚くでしょう。 ユースケースは次のようになります。ヨーロッパの大規模な国のCorine Landcoverデータをダウンロードし、異なるフォレストタイプ(1つのテーブルに約75,000ポリゴン)の境界を解消したいと思います。ST_UNIONを試しましたが、「メモリ不足」エラーで失敗します(ただし、30,000ポリゴンは機能しました)。 create table corine00 as select st_union(the_geom) as the_geom, sum(area_ha) as area_ha, substr(code_00,1,2) as code_00 from clc00_c31_forests group by substr(code_00,1,2) 注:すべてのフォレストコードは「31」で始まり、PostGIS 1.4、GEOSバージョン:3.2.0-CAPI-1.6.0を使用しています
22 postgis  dissolve 

1
PostGISを使用してGeoJSON FeatureCollectionをPostgreSQLに保存しますか?
GeoJSONは初めてです。示されているGeoJSON機能コレクションがあり、それをpostgresテーブル(testtable)に保存したいと思います。私のpostgresテーブルには、シリアルIDとジオメトリ列があります。 { "type": "FeatureCollection", "features": [ { "type": "Feature", "geometry": { "type": "Point", "coordinates": [ 2565453.1826721914, -3835048.659760314 ] } }, { "type": "Feature", "geometry": { "type": "LineString", "coordinates": [ [ 2727584.7219710173, -3713449.1942418693 ], [ 2732476.691781269, -3992291.473426192 ] ] } }, { "type": "Feature", "geometry": { "type": "Polygon", "coordinates": [ [ …

1
PostGISとQGISは信頼できるマルチユーザー編集を提供できますか?
いくつかのオプションを検討した後、15〜20のQGIS 2.2ユーザーが1つまたは2つの基本的なPostGISレイヤーを同時に表示/編集できるようにしようとしています。PostgreSQL 9.1 / PostGIS 2.0をインストールしましたが、基本的なテストはうまくいくようですが、まだ大衆に解き放たれていません。 通常、一度に2〜3人の編集者しかいませんが、15人の閲覧者がいる可能性があります。編集はすべてQGISで行われ、視聴者はQGISとArcGISで行われます(ただし、SDEはありません)。 私が言ったように、これらは単なる基本的なポイントファイルであり、編集はポイントの追加/削除といくつかのテーブル編集になります。同じ機能を同時に編集することを心配していません。 この組み合わせは、2つの基本的なポイントファイルに対して信頼できるマルチユーザー編集を提供できますか?

1
ST_PointOnSurfaceはどのように計算されますか?
この質問は、地理情報システムStack Exchangeで回答できるため、Stack Overflowから移行されました。 6年前に移行され ました。 PostGISのドキュメントには、ST_PointOnSurface「表面上にあることが保証されたポイント」を返すと記載されています。PostGISが非自明な実装を提供していることは確かですが、この関数を簡単に実装してドキュメントを満足させる結果を得ることができますが、実際の実用性はほとんどありません。 PostGISのこの導入は、素敵な比較とのコントラストを提供ST_CentroidしてをST_PointOnSurfaceし、「[ST_PointOnSurface]は実質的に多くの計算コスト重心操作よりもある」と述べています。 ST_PointOnSurface計算方法の詳細な説明はありますか?私はを使用ST_Centroidしていますが、重心がジオメトリの外側にあるデータのエッジケースに遭遇しました。私はそれST_PointOnSurfaceが正しい代替品であると信じていますが、関数名とドキュメントには不確実性の余地が残されています。 さらに、ST_PointOnSurface重心が既にジオメトリ内にある場合でも、発生する計算費用はかかりますか?
21 geometry  postgis 

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