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

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

3
PostGISを使用して道路の交差点を特定する
道路が交差する場所を特定し、交差点を形成する道路の数をリストして、この交差点でポイントを作成しようとしています。 これを達成するためにST_NumPointsを使用する方法があるかどうか疑問に思っていましたが、私は何をすべきかを理解できません。次のコードを使用して、線が交差するポイントのテーブルを作成しました。 CREATE TABLE test_points as SELECT ST_Intersection(a.geom, b.geom), a.gid FROM roads as a, roads as b WHERE ST_Touches(a.geom, b.geom); 道路のサンプルでこれを実行すると、次の点のグリッドが得られます(道路は説明のために示されています)。 ポイントの1つを調べると、多くのポイントが積み重なっていることがわかります。 ここのGIDは道路IDですが、なぜ多くのポイントがあるのか​​理解できません。中央の道路の交差点で4つのポイントがカウントされることは理解できますが、ここには12ポイントがリストされています。PostGISでこの計算を実行するより良い方法はありますか?


2
ESRIジオデータベース形式の.gdbをPostGISにインポートする方法
ESRIジオデータベース形式の.gdbをPostGISに読み込むときに問題が発生しました。データ2.5GBのGDBファイルがあります。インターネットでいくつかのチュートリアルを行ったが、うまくいかないようだ。 データベース「SampleNY」を作成しました コンソールからこれを実行しました: ogr2ogr -f "PostgreSQL" PG: "dbname = SampleNY user = postgres" NYPluto / Pluto.gdb しかし、何も起こりません。エラーも操作も成功しませんでした。手順を逃しましたか?

2
Postgisでポリゴンのポイントを数える
単純な問題があります。ポリゴンのセット内のポイントの数をカウントしたいのです。 私はすでにSQLを持っていますが、実際にポイントを含むポリゴンのgidのみを返します。 私のテーブル:19.000行のポリゴンレイヤーと450行のポイントレイヤー。 次のSQL select grid.gid, count(*) AS totale FROM grid, kioskdhd3 WHERE st_contains(grid.geom,kioskdhd3.geom) GROUP BY grid.gid; 実際にポイントを含む320個のポリゴンのみを返します。しかし、ポイントの数が0であっても、すべてのポリゴンが返されるようにします。 もちろん、それは私のWHERE節に関係しています。st_containsのどこに置く必要がありますか? ありがとう、カーステン

1
「ノードなし交差点」とは何ですか?
「ノードなし交差点」とは何かを正確に定義できますか?このテキストに誤りがあるさまざまなGISプラットフォームとツールキットがあります。このためのGoogle検索結果は、何が問題なのかを実際に説明することなく「精度を落とすとすべての問題がなくなる」というカテゴリに分類される傾向があります。2つの有効なジオメトリがある場合、なぜこのエラーが発生するのでしょうか? ドキュメントへの参照が最も役立ちます。

3
ラスターデータベースのクエリを高速化する方法は?
私はこれらの列を持つpostgresql / postgisにラスターデータベースを持っています: (ID、rast、data_of_data)。 「ラスト」は、WKT形式のラスターファイルがある列です。WGS84システム(30.424、-1.66)および2002-01-09のポイントのDN値を検索するクエリの例は次のとおりです。 SELECT st_value(rast,(st_GeomFromText('POINT(30.424 -1.66)', 4326))) as val FROM my_table WHERE date_of_data='2002-01-09' これらの種類のクエリを高速化する方法(空間インデックスなど)はありますか?

6
PostGISをWindowsにインストールする方法は?
PostGISデータに基づいてアプリケーションプラットフォームを作成します。GEOS、GDAL、Proj4をインストールするための前提条件を見たドキュメントを読みました。主な問題は、Windowsプラットフォームを使用していることです。PostGIS、GDAL、GEOS、Proj4をすべてのライブラリとともにWindowsにインストールするための完全なドキュメントを入手できる場所を誰かが私に紹介できますか?または、すべてのライブラリをWindowsにインストールできますか?

4
OpenLayersとPostGISを使用する有名なWebサイトは何ですか?
この投稿はコミュニティWikiです。この投稿を改善するには、既存の回答を編集してください。現在、新しい回答は受け付けていません。 PostGISを使用することには多くの説得力のある議論があると思いますが、PostGISとOpenLayersを使用するWebサイトの例を示すことに興味があります。 私が見たいくつかの例は次のとおりです。 foursquare CartoDB Vizzuality(多くの例) WalkScore(私が知る限り) この組み合わせの良い例を示す他の例はありますか?リストしたサイトのいずれかがOpenLayersを機能の中心部分として使用しているかどうかはわかりませんが、それらはすべてPostGISを使用していると考えています。

2
QGIS 1.7を使用する場合、PostGIS資格情報をどのように保護しますか?
私はこれがコミュニティwikiであるべきだとかなり確信していますが、どのように作成するかわかりません。そのため、管理者がこれを確認した場合は、必要に応じて変更してください。 QGIS 1.7を使用する場合、PostGISデータベースデータをどのように保護しますか?(私はQGIS 1.7とPostGIS 1.5を使用しています) 私が尋ねる理由は、最近サーバーの名前を変更したため、データソース文字列のホスト値を変更するために、notepad ++でQGISプロジェクトファイルを開いたためです。notepad ++でプロジェクトファイルを編集していたとき、次のようにデータベースのユーザー名とパスワードが平日であると見ました。 <datasource>dbname='spatialdb' host=gis port=9999 user='generaluser' password='gisv13wer' sslmode=disable key='gid' table="gisprod"."aq_pipeline" (the_geom) sql=</datasource> これはやや両刃の剣のようです。なぜなら、データソース文字列のホスト値を簡単に編集してプロジェクトを失うことがないという事実が好きなのですが、データベース資格情報が暗号化されていない状態で座って、いわば世界が見ることができます。 不測の事態として、管理者アカウントを使用するすべてのプロジェクトファイルをフォルダーに配置しました。しかし、これは理想的ではないと思います。 GIS管理者として、私は空間データベースの整合性を担当し、データベース全体を知りたがっている人にデータベースを公開したばかりだと心配しています。 それで、あなたが同様の状況にいる場合、このリスクをどのように管理しますか?私の不測の事態は実稼働環境に十分であるか、または問題に対処するためにQGIS機能要求を提出する方が良いでしょうか?

6
無料のGISソフトウェアで擬似ノードを見つけましたか?
ソフトウェアgvSIG OA Digital Edition 2010には、線形ジオメトリの擬似ノードを見つけるためのツールトポロジがあります。20000リンクカウント線形ジオメトリのクラスター許容値0.00002と最大エラー数-10000を設定します。しかし、失敗した結果。 無料のGISソフトウェアで擬似ノードを見つけるソリューションはありますか? 擬似ノードを階層化する必要があります(この問題の1つの解決策-ArcInfoのツールトポロジを使用しますが、私にとっての優先事項はフリーソフトウェアを使用することです)。線形ジオメトリにより、PostGIS(v。2.0.1)データベースのQGIS 1.8.0で複数のユーザーが作成されました。 新しいイメージの追加:A(ライン4/5)、B(ライン6/7)、C(ライン9/10)に3つの擬似ノードを持つ12の線形フィーチャ。代わりに、擬似ノードはポイントである必要があります。1つのポイント(ノード)に交差する2つの線形フィーチャは、1つの線形フィーチャ(ライン4/5-ライン4、...)でなければなりません。 PostGISでリクエストを行うことは可能ですか?これにより、擬似ノードのレイヤーが作成されますか? サンプルの擬似ノードの新しい画像を追加します:線形レイヤーのポイントレイヤーの擬似ノード(青い四角形)を受け取った場合、線形レイヤーの次のエラーを修正しました:A-欠落したジオメトリを追加、B-交差するスナップ線、C-擬似ノードを削除

3
PostGISでMultiLinestringをLinestringに変換しますか?
複数行の文字列があり、それをラインストリングに変換して、ラインストリングでのみ機能するいくつかの関数を使用したい。ST_Dump()ジオメトリのコレクションを使用して取得しました。それらをマージして戻すと、まだ複数線ストリングが得られます。単純なラインストリングで終わるために、Npointsを取得し、それらを一緒に結合するか、何かにする必要がありますか?ST_LineMerge()私の複数線ストリングでも機能せず、同じ結果を返します。 私の例、 MULTILINESTRING(( - 3.16420835153456 55.9269166007097、-3.164222 55.926918)、( - 3.1642070167833 55.9269296196706、-3.16421351659546 55.9268662214904)、( - 3.16421351659546 55.9268662214904、-3.16421636372824 55.9268384509897)、( - 3.16421636372824 55.9268384509897、-3.16422182573761 55.9267851753802)、( - 3.16422182573761 55.9267851753802、-3.16422870102352 55.926718114886 )、( - 3.16422870102352 55.926718114886、-3.16423309121073 55.926675293667)、( - 3.16423309121073 55.926675293667、-3.16423565148822 55.9266503211093)、( - 3.16423565148822 55.9266503211093、-3.16424103159897 55.9265978443265)、( - 3.16424103159897 55.9265978443265、-3.16424680776317 55.9265415044985)、( - 3.16424680776317 55.9265415044985、-3.16425267254583 55.9264843002995 )、(-3.16425267254583 55.9264843002995、-3.16425541048045 55.9264575949012)、(-3.16425541048045 55.9264575949012、-3.16426111146586 55.9264019883556)、(-3.16426111146586 55.9264019883556、-3.1642667032531 …
16 postgis  sql 


1
線ストリングがそれ自体と交差するかどうかを判断するためのPostGIS関数はありますか?
LineStringがそれ自体と交差するかどうかを判断できる関数を探していました。st_intersects同じLineStringで2回呼び出してみましたが、明らかに同一のラインストリングが交差します。関数がない場合の私の計画は、線ストリング内のすべてのポイントを取得し、個々の線ストリングを作成してから、st_intersectsを使用してそれぞれの新しい線ストリングをチェックすることです。私はそれがこれに来ることを望んでいません、しかし、私はそれがそうすることを恐れています。 それでは、ラインストリングが自己交差しているかどうかをチェックするためのPostGIS関数はありますか?ポリゴンが複雑かどうかを調べることに似ているはずです
16 postgis 

1
PostGISを使用してトポロジ関係を識別する
PostGISを使用して基本的な類型分析を実行しようとしています。私の目的は、他のポリゴンに接触するポリゴンを見つけることです。これを行うために、私ST_GetFaceEdgesはうまくいくと思った(リファレンス)。データベース内のすべてのポリゴンをチェックし、それに接触する他のすべてのポリゴンをリストしたい。下の画像では、2つのポリゴン(建物)が1つの建物に接触し、他の4つのポリゴンが0のポリゴンに接触していると言う結果が期待されます。 しかし、私は何をすべきかを理解するのに少し苦労しています。この例をコピーしようとしたときに、理解できない部分がいくつかありました。 -- Returns the sequence, edge id -- , and geometry of the edges that bound face 1 -- If you just need geom and seq, can use ST_GetFaceGeometry SELECT t.seq, t.edge, geom FROM topology.ST_GetFaceEdges('tt',1) As t(seq,edge) INNER JOIN tt.edge AS e ON abs(t.edge) = e.edge_id; topologyテーブル、列、または関数の一部の名前がわからない。私はそれがテーブルだと思っていましたが、よくわかりません。 -- try …
16 postgis  sql  topology 

2
PostGISで最も近いジオメトリを見つける
私はPostGISの関数の「API」を見てきましたが、それらのほとんどが比較するために2つの要素を必要とすることに気付きました。たとえば、ST_Distance関数は、距離を見つけるために2つのジオメトリ/地理要素を取ります。 「ジオメトリGを指定して、テーブルTでG.id <> GClosest.idの最も近いジオメトリGClosestを指定してください」などの機能はありません。 PL / PgSQL関数を作成してテーブルを反復処理し、各要素でST_Distanceを呼び出すことができることを理解していますが、より良い、より効率的なソリューションがあることを望んでいます。

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