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

PostgreSQLは、オープンソースのオブジェクトリレーショナルデータベースシステムです。

1
インデックス作成を視覚化していますか?
PostGISのGiSTインデックスからどのような視覚化/統計を取得できますか? ウィキペディアのRツリーエントリを見ると、ELKIを使用して、さまざまなRツリーのバリエーションとそれぞれの境界ボックスの視覚化があります。GiSTインデックスは、Rツリーインデックスに似ています。では、この種の視覚化(おそらくQGISによる)のためのメソッド/拡張機能はありますか? 編集:ここでも視覚化されています-これはどのように達成されますか?

2
インデックスが欠落しているPostGISテーブルを見つけますか?
最近私は周りを見回していましたpg_stat_user_tablesが、いくつかの空間テーブルで多数の順次スキャンが見られたことに驚きました。案の定、これらのテーブルには空間インデックスがありませんでした。 インデックスのないジオメトリ列を持つすべてのテーブルを見つけるにはどうすればよいですか?

1
PostGISで中心線に沿って平行線を計算する
PostgreSQLデータベースに通り(道路の中心線)とポリゴンテーブルを作成しています。サンプルシナリオは次のとおりです。 問題: 通りの周りの50メートルのバッファーと両側の最も近い建物のポリゴンの交点で、通りに沿った平行線を計算する必要があります。望ましい出力シナリオは次のとおりです。 私が試したこと: 私のアプローチは: 1) Generate 50m buffer around street layer 2) get the intersection of buffer and polygons 3) Compute the distance 4) Draw offset curves (parallel lines) at both sides of street layer 5) Merge both curves to get parallel lines at the intersection これが私の試みです: WITH street_buffer …

2
ポイントでラインストリングをカットしますか?
ラインストリングをポイントでカットする最良の方法をチェックしていました。 シナリオは次のとおりです。たくさんの道​​路があり、交差点でカットされたセグメントが必要です。 わかった 線ストリング(ポイントでカットされていない完全な)テーブル st_intersectionポイントテーブル 交差点テーブルでカットされた独立したラインストリングセグメントを取得する必要があります。 私はPostGIS関数を使用していて、いくつかのアプローチを見つけましたが、それらのすべてが何らかの問題を引き起こしています。 これは私がすでにテストしたものです: 1 ラインテーブル:1行、1200行のst_memunionポイントテーブル:1700行(ポイント) 悪い点:本当に多くの時間とメモリのフラッシュが必要です。同時に複数のテーブルを作成できないため、メモリはそれを処理できません。そしてその結果は汚くて厄介です。私に正しい行番号を与える代わりに、後でそれをクリーンアップする必要があります(ここで説明されている交差点でのラインの分割) CREATE TABLE lines_with_messy_result AS ( SELECT ((ST_DUMP(ST_SPLIT(a.geom,b.ix))).geom) as geom FROM st_union_lines a INNER JOIN lots_of_points b ON ST_INTERSECTS(a.geom, b.ix) ); --then need to clean this up create table lines_segments_cleaned as ( SELECT DISTINCT ON (ST_AsBinary(geom)) geom FROM lines_with_messy_result ); …

4
GROUP BYタイムスタンプ間隔10分PostgreSQL [終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、地理情報システムスタック交換のトピックになるようにします。 2年前休業。 期間を10分に分けてグループ化する必要があります。 結果セットを返す次のクエリがあります。 SELECT timestamp FROM table_1, table_2_shape_polygon WHERE ST_Within(earthnetworks_geometry_raios, poligono_geometry) AND timestamp BETWEEN '2013-04-07 15:30:00' AND '2013-04-07 16:50:00' AND type = 0 AND id_polygon = 2 私の結果セットは次のとおりです: "2013-04-07 15:30:55" "2013-04-07 15:32:52" "2013-04-07 15:32:52" "2013-04-07 15:34:21" "2013-04-07 15:39:09" "2013-04-07 16:24:25" "2013-04-07 16:29:58" "2013-04-07 16:33:22" "2013-04-07 16:34:30" "2013-04-07 …

2
ポリゴン内にあるポイントでデータベース行を更新する
2つのテーブルを含むPostGIS / Postgresql DBがあります。1つはポイントジオメトリを持ち、もう1つは国の境界をポリゴンとして表します。各ポイントが交差する国名を、ポイントテーブルの各行に追加したいと思います。多分1つの大きな更新クエリとして。これは単純なSQLを使用して実行できると思いますが、どこから始めればよいかわかりません。これについてのアドバイスは大歓迎です...

1
Postgis 2.0-public.geometry_columnsビューにビューの正しい情報が含まれていない
最近、データベースをPostgis 2.0に更新しました。 私たちのシステムでは、geometry列を含むテーブルのビューを作成するために使用していました。ビューの作成後、geometry_columnsテーブルを必要な情報で手動で更新しました。ビューは、Geoserverレイヤーの作成とogr2ogrのデータのフィードに使用されます。 Postgis 2.0 の問題は、geometry_columnsテーブルが、システムカタログからデータを取得するビューに置き換えられたことです。私たちの場合、作成されたビューでは、「coord_dimension」、「srid」、および「type」列の正しい情報を取得していません。 情報:いくつかの調査の結果、geometry_columnsビューがpg_constraintテーブルを使用してこれらの列を埋めていることがわかりましたが、そのビューには制約が定義されていません。 誰かがこの問題をどのように修正できるか考えていますか?gemetry_columnsビューに必要な情報を取得させるにはどうすればよいですか?これを行うには回避策または他の方法がありますか?

5
OSM道路を交差点で個々のセグメントに分割する方法は?
OpenStreetMapデータを使用してpgRoutingで使用する道路ネットワークを作成したいと思います。GeoFabrikからシェープファイルをPostgresテーブルにロードしました(PostGISを有効にした状態)。しかし、私が抱えていた問題の1つは、道路が常に交差点で終わらないということでした。そのため、すべての交差点または交差点で道路をすべて分割することにしました。 道路が交差または交差するすべての交差点を特定するために、私は次のものを使用しましたSQL(前の質問と同様)。 CREATE TABLE split_points as SELECT DISTINCT ST_GeometryN(ST_Intersection(a.geom, b.geom),1) as geom FROM roads as a, roads as b WHERE ST_Touches(a.geom, b.geom) OR ST_Crosses(a.geom, b.geom) AND a.gid != b.gid GROUP BY ST_Intersection(a.geom, b.geom); これらのポイントを使用して道路を分割したいと思います。私は次のアプローチを使用しました: CREATE TABLE split_roads as SELECT ST_GeomFromEWKB((ST_Dump(ST_Split(g.geom, blade.geom))).geom) As geom, generate_series(1,ST_NumGeometries((ST_Split(g.geom, blade.geom)))) as gid FROM split_points as …

3
PostgreSQLデータベースから空間テーブルのみを選択しますか?
私のデータベースには空間テーブルと非空間テーブルの両方が含まれていますが、クエリから空間テーブルのみを取得します。 空間テーブルのみを選択するための提案。'the_geom'は、空間テーブルのジオメトリ列です。 それ以外の場合、列名からテーブルを選択することは可能ですか。 私はこのコードで試しましたselect relname from pg_stat_user_tables WHERE schemaname='public'。しかし、これからすべてのテーブル名を取得します。

2
GDAL / OGR PythonバインディングでPostgreSQL / PostGISエラーをキャッチする方法は?
クエリが失敗した後にOGRでPostgreSQL出力エラーメッセージをキャッチすることは可能ですか? 例えば conn.ExecuteSQL('SELECT * FROM non_existing_table;') Postgresではこれはエラーメッセージを返します: "Error: relation 'non_existing_table' does not exist." ogrでは標準を取得します。 "Error: current transaction is aborted, commands ignored until end of transaction block" Postgresのエラーメッセージをキャッチ/解析できれば、おまけです。私はSWIG / CPLについて読んだことを考えると、これは少し長いショットだと思いますが、誰かがアイデアを持っているかどうかを確認するように頼む価値があります。理想的にはこれはPythonで行われますが、C / C ++コメントも使用します。 ありがとう。

2
ST_Distanceは空間クエリにインデックスを使用しません
最も単純なクエリでも、PostgreSQL 9.3.5でPostGIS 2.1を実行して空間インデックスを使用できません。データセット全体800万ポイント(ここから人口数グリッド)です。テーブルは次のように作成されます CREATE TABLE points ( population DOUBLE PRECISION NOT NULL, location GEOGRAPHY(4326, POINT) NOT NULL ) CREATE INDEX points_gix ON points USING GIST(location); クエリは取得するのと同じくらい簡単です SELECT SUM(population) FROM points WHERE ST_Distance( location, ST_GeographyFromText('SRID=4326; POINT(0 0)') ) < 1000 PostgreSQLは常にSeqスキャンを使用します。私は10000ポイントのサブセットを試しました-まだSeqスキャンです。何か案は?

5
ポイントに基づいてラインを重複しないサブセットに分割します
ラインジオメトリのテーブルと、別のテーブルでこのラインにスナップされる1つまたは複数のポイントが与えられた場合、ラインがポイントと交差する各位置で1つまたは複数の交差するポイントを使用して各ラインを分割します。 たとえば、ラインLがあり、ラインジオメトリに沿って3つの交点A、B、Cが順番に並んでいます。Lを4つの異なるジオメトリとして返します。Lの最初からAまで、Lに沿ってAからBまで、Lに沿ってBからCまで、そしてCからLの終わりまでです。 過去に私はこのタスクに整形を使用しましたが、これは線形参照の問題です(http://sgillies.net/blog/1040/shapely-recipes/)。ただし、これは、何百万もの線と点があるこの場合には実用的ではありません。代わりに、PostgreSQL / PostGISを使用するソリューションを探しています。 ポイントは直線上にあるように制約されていることに注意してください。さらに、ポイントは有効にラインの開始または終了に置くことができます。その場合、ラインを分割する必要はありません(同じラインの開始または終了ポイントと一致しない他のポイントがない限り)。サブセットラインは方向と属性を保持する必要がありますが、ポイントフィーチャの属性は重要ではありません。


2
SQLクエリを実行してQGIS Pythonコンソールから結果を取得する方法は?
QGIS APIを使用してPythonスクリプトを作成しています。postgresデータベーステーブルから結果を取得する必要があります。テーブルには、ジオメトリフィールドとその他の非ジオメトリフィールドがあります。 非ジオメトリフィールドでSQLクエリを実行し、コードで結果を取得したいと考えています。これを行う方法?そうするクラスはありますか? QgsDataSourceURIクラスについては知っていますが、私が知る限り、ジオメトリフィールドからの結果しか得られません。

2
PostGISを使用して建物の陰影を生成する
私は現在、既存の建物の太陽ポテンシャル推定ツールに取り組んでいます。アイデアは、建物(=ポリゴン)の形状とその高さを使用して、特定の時間に結果の陰を作成することです。太陽のいくつかの位置についてのみテストを行います。グラス関数r.sun.maskについては知っていますが、私がやろうとしていることには圧倒されます。 とりあえず、太陽が南、空が18°のときだけ日陰を取得したいと思います。したがって、建物はその高さの約3倍の影を落とす必要があります。 私が取得しようとしているもの: しばらく探していましたが、これを行うためのツールがpostgisにありませんでした。バッファリングしてからポリゴンをカットすることを考えていましたが、機能させることができませんでした。ツールを知っているか、それを行う方法について何か考えがありますか?

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