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

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

4
.shpをPostgreSQLにインポートしますか?
shpファイルをpostgreSQLにインポートしたい。最初にsqlファイルを作成してから、PostgreSQLを実行します。SQLファイルを作成するには、Windows cmdで次のコマンドを実行します。 shp2pgsql -s 4326 worldCountries.shp worldcountries postgres > worldcountries.sql 次に実行します: psql -d postgres -U postgres -p 4321 -f worldcountries.sql しかし結果は: psql:worldcountries.sql:21:エラー:関数addGeometrycolumn(unknown、unknown、unknown、unknown、unknown、integer)は存在しません

1
PostGIS:テーブル内のラインとポリゴンの頂点の数を数える
PostGISスキーマには、頂点の数をカウントする必要がある23個のテーブルがあります。テーブルには線と多角形が混在しているため、ST_NPoints(geom)を使用する必要があることに気付きました。 だから私は次のクエリを実行しました SELECT count(ST_NPoints(geom) FROM lines; 結果/カウントは、そのテーブル内のすべてのフィーチャの頂点の総数ではなく、そのテーブル内のフィーチャの数に等しくなります。 私は何かを見逃しているに違いありませんが、それを理解することはできません(月曜日の朝でなければなりません;))
14 postgis 

4
QGISまたはPostgreSQL、またはその他の無料アプリケーションを使用して空間自己相関を実装しますか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 3か月前に閉鎖されました。 GISは初めてです。 PostgreSQLデータベースには2つのレイヤーがあります。 最初のレイヤーには、ヨーロッパでイベントが発生したポイントが含まれています。2番目には、ヨーロッパのシェープファイルが含まれています。 QGISを使用して、ヨーロッパのマップ上のポイントをマップできました。空間オートコレレーション(Moran i)を実装したいと思います。 GeoDAを使用してこれを行うデモをいくつか見ましたが、単一のシェープファイルのみを処理するようです。 QGIS、PostgreSQL、または他の無料アプリケーションを使用してこれを実装する方法について、誰かが正しい方向に私を指すことができますか?

3
最大の幅/高さの比率で「斜めの境界ボックス」を作成しますか?
以下の画像に示すように、入力フィーチャのセットから最大の幅/高さの比率(「斜めの境界ボックス」)で囲む長方形を作成したいと思います。 たとえば、PostGIS関数ST_EnvelopeおよびST_Box2DFMEトランスフォーマーBoundingBoxReplacerをBoundingBoxAccumulator使用して、軸平行バウンディングボックスを生成します。 PostGIS、QGIS、またはFMEを使用したアプローチを使用した提案は大歓迎です!
13 qgis  postgis  fme  extents 

2
PostGISデータベースをセットアップし、Windows上のQGISで開きますか?
QGISを使用しているユーザーがアクセスできるようにPostGISデータベースを設定するためのマニュアルに従うことを試みましたが、現時点では十分に理解できずに進行しますか? 私の状況; 私は、緑のオブジェクト(樹木など)のデジタル化のためのPostGISデータベースを作成し、クエリを実行する研修生です。たとえば、ストリートリストと画像ファイルを属性テーブルにリンクします。 「シェープファイルスケルトン」(現在空のオブジェクトなし、属性フレームのみ)があり、現在および将来のジオリファレンスオブジェクト(タイプごとに異なるシェープファイル)が貼り付け/作成されます。これらのスケルトンシェープファイルをインポートできると信じていますデータベース? 状況; 私たちは、ファイルごとにバックアップサーバーを備えた独自のLANとインターネット接続を備えた別の建物で働いています。したがって、ローカルファイルアクセスとインターネット接続を介して共有するファイルがあります。 データベースのセットアップは、PostGISおよびPostgreSQLの最新の.exe実行ファイル(postgresql-9.6.2-3-windows-x64およびpostgis-bundle-pg96x64-setup-2.3.2を使用して、リモートアクセス経由で管理者によって行われました。 -1)64ビットマシンの場合。管理者からログイン情報が記載されたテキストファイルが提供されました。ここでのトレーニングマニュアルは、Ubuntuを扱っているため、かなり混乱しています。 書き留めたログイン情報をどこで使用するかわからないので、行き詰まっていますか?pgAdminを使用する必要があると思いますか?

3
タイルのキャッシュ速度を上げる(TileStache)
TileStacheを使用してベクタータイルを提供しています。すべての設定を思いどおりに行います。データはPostgresに保存されており、VecTilesプロバイダーを使用してGeoJSONタイルを提供しています。 すべてのタイルをキャッシュして、タイルの配信を高速化したい。私はtilestache-seed.pyを使用してキャッシュをシードしています。複数のマシンでtilestache-seedを実行しています。Tilestache-seedはズームレベル13まで本当にうまく機能しましたが、その後、タイルをキャッシュするには時間がかかりすぎています。ズームレベル16の場合、キャッシュする5023772タイルがあり、各マシンで1日あたり100k〜200kのタイルしか取得できません。 タイルキャッシュを高速化するにはどうすればよいですか?tilestache-seed.pyを微調整してシードを高速化する方法はありますか? 更新:テーブルに空間インデックスを構築しようとしました(ジオメトリカラムとwhere句でデータをフィルタリングするために使用されるカラム)。それでも、タイルスピードの大幅な向上は見られませんでした。このレートでは、ズーム17のみで1か月かかりますが、この時間はズーム21に向かって指数関数的に増加するだけです。 更新2:マテリアライズドビューも作成しようとしましたが、パフォーマンスに目に見える変化はないため、データベースの最適化は機能していません。tilestache-seed.py自体を最適化するか、タイルをキャッシュする新しい方法を考案する必要があると思います。 ハードウェア情報 8つの異なるPCでキャッシングプロセスを実行しています。1つは32GB RAMを搭載したi7で、もう1つは4GB RAMを搭載したi3ですが、どちらもほぼ同じキャッシュ速度を提供します

1
Postgis空間インデックスを格納する内部データ構造へのアクセス(PostGres GiST)
Postgisの空間GiSTインデックスの内部データ構造とストレージメカニズムについて興味があります。Oracleでは、SDOインデックスが「単なる別のテーブル」であり、レベルがインデックスの属性であり、インデックス付きジオメトリのbboxがblob(抽出可能)として格納されている方法を示すのが好きでした。postgisはインデックスをどのように保存しますか? システムテーブルhttp://www.postgresql.org/docs/8.3/static/catalogs.htmlを使用してインデックスを識別できますが、実際のストレージにアクセスする方法がわかりません(実際にテーブルである場合)

1
PostGISのラインからポリゴンを作成する
ポリゴンをラインから小さなポリゴンに分割しようとしていますが、st_split関数を使用できないと思います。必要なのは、ラインストリンググリッドを使用して、大きなポリゴン内に小さなポリゴンを作成することです。 いくつかの方法を試しましたが、結果を得ることができません。私が試したもの: st_split()を使用してLineStringから1つのポリゴンを分割します 境界ポリゴンから。 そして、線ストリング表: 次のポリゴンが必要です。 問題:複数のラインからポリゴンを分割することはできません。マルチラインストリングからポリゴンを分割することもできません。 私が試みているもう1つの方法は、st_polygonize()でラインからポリゴンを作成することです SELECT g.path[1] as gid, g.geom::geometry(polygon, 22033) as geom FROM (SELECT (ST_Dump(ST_Polygonize(geom))).* FROM linestable ) as g; PostgreSQLおよびPostGISを使用してラインセグメントからポリゴンを作成することから抽出 問題:ポリゴン(境界)を1つしか取得できません。 誰かがラインストリングからポリゴンを取得する最善の方法だと教えてもらえますか、または何かが足りない場合は? 注:テーブルは同じSRIDにあり、ジオメトリはグリッドにスナップされます。QGISでは、ラインからポリゴンへのポリゴン化プロセスを完全に実行できます。 ジョンの要求として、ここにラインストリングテーブルがあります。 https://drive.google.com/file/d/0B603y_m735jfS014S0EyVnpMUEU/view?usp=sharing
13 postgis  sql  topology 

1
PostGIS-単一のテーブルですべての重複ポリゴンを効率的にST_Unionする方法
私の目標は、単一のテーブルを取り、互いに接触または近接しているすべてのポリゴンを単一のポリゴンにst_unionすることです 私はPostGISについて学び始めているC#開発者です。以下のコードを使用して、これを達成できましたが、非効率的であるように思われ、PostGISには私にとって新しいことがたくさんあります。 最初の試み(まだコメント)から、一度にpolyだけを結合する代わりに、ST_UNIONでarray_aggを使用することで、反復を減らすことができました。 私は私の173から133ポリで終わりました。 sql = "DROP TABLE IF Exists tmpTable; create table tmpTable ( ID varchar(50), Geom geometry(Geometry,4326), Touchin varchar(50) ); create index idx_tmp on tmpTable using GIST(Geom); "; CommandText = sql; ExecuteNonQuery(); sql = ""; for (int i = 0; i < infos.Count(); i++) { sql += "INSERT …
13 postgis 

2
POSTGISは、ポリゴンの最大長と平均幅を取得します
postgisにはポリゴンタイプのテーブルがあります。 ポリゴンの最大長を自動的に計算する必要があります。 そして2番目は平均幅です。 他の場合はすべてのポリゴンがほぼ長方形になりますが、実際には曖昧であり、幅と高さを区別することはほとんど不可能であるため、これが可能かどうかを今疑っています。 誰かがこれに光を当てることができるかどうか見てみましょう。 よろしく、

1
Hstoreキー/値と空間クエリの組み合わせが大きすぎるOSM抽出を処理するには遅すぎる
PostgreSQL 9.3.5およびPostGIS 2.1.4を使用して、OSMデータの統計を計算しようとしています。Geofabrikからダウンロードした小さなバイエルン抽出物から始めました。dbスキーマは通常のAPI 0.6スキーマであり、データはダンプアプローチを介してPostgresにインポートされました(osmosisに付属のpgsnapshot_schema_0.6 * .sqlスクリプトを使用)。ANALYZE VACUUMも実行されました。 私が使用している唯一のカスタムメイドのものは、すべての管理境界関係のマルチポリゴンを含むポリゴンテーブルです。ポリゴンジオメトリは、決して簡素化されていません。 私が今達成しようとしているのは、バイエルンのadmin = 6境界内にあるすべてのノードをカウントすることです。これが私のSQLクエリです。 SELECT relpoly.id, count(node) FROM bavaria.relpolygons relpoly, bavaria.nodes node WHERE relpoly.tags @> '"boundary"=>"administrative","admin_level"=>"6"'::hstore AND ST_Intersects(relpoly.geom, node.geom) GROUP BY relpoly.id; Postgresはネストされたループ結合を行っており、admin = 6境界ごとにすべてのノードをスキャンするため、このクエリの実行時間はひどいです。参考までに、バイエルンは98個のadmin = 6ポリゴンに分割され、バイエルン抽出物には約3,000万個のノードがあります。 この準最適なクエリの実行を回避し、Postgresにすべてのノードを一度だけスキャンするように指示することは可能ですか(たとえば、結果セット内の対応するポリゴンのカウンターをインクリメントするか、ヒントを使用して) 編集: 1)バイエルンノードに空間インデックスが存在する: CREATE INDEX idx_nodes_geom ON bavaria.nodes USING gist (geom); 2)クエリプランは次のようになります。 HashAggregate (cost=284908.49..284908.75 rows=26 width=103) …

2
PostGISを使用してすべてのポイントを接続する最小のネットワークを計算する方法は?
2つのテーブルを生成するpostgisスクリプトのセットがあります-1つはポイントのセット、もう1つはそれらを囲む道路のセットです。すべてのデータは同じプロジェクションにあり、両方の出力はpostgis 2.1でpostgres 9.2テーブルに保存されます 道路ネットワークのトポロジーを作成し、ポイントテーブルに最も近い道路セグメントを含む列があります。 次に、最小全域木などを使用してすべてのポイントを接続する最小のネットワークを表す道路ネットワークのサブセットを生成します。道路ネットワークは無向であり、コストは単にルートの長さです。 モジュールのv.netファミリを使用してQGIS / Grassでこれを行うことができますが、理想的にはSQLでもこの最終ステップを維持したいと思います。 新しいapspWarshall postgis関数を見てきましたが、ネットワーク全体ではなくポイントの接続にエネルギーを集中するように奨励する方法については迷っています。 これは、これを解決するためのフレームワークを作成するために作成した短いスクリプトですが、エッジのサブセットから開始するために関数をフォーカスできる場所がわかりません。 SELECT seq, id1 AS node, id2 AS edge, cost, the_geom FROM pgr_apspWarshall('SELECT gid AS id, source, target, st_length(the_geom) AS cost FROM road_network ', false, false ) AS tree JOIN road_network As roads ON tree.id2 = roads.gid 単一パスの最短パスの問題では、関数は開始と終了を要求しますが、明らかにすべてのポイントの問題ではありません。同様に、Grassでは、v.net.spanningtreeとv.net.steinerは、連携するネットワークとして一連のポイントとラインを使用することを想定しています。 PostGISでこれを行う方法についての提案はありますか?
13 postgis  routing 


6
QGIS / PostGISで使用するCollector for ArcGISと同等のオープンソースですか?
この質問の答えはコミュニティの努力です。この投稿を改善するには、既存の回答を編集してください。現在、新しい回答やインタラクションを受け入れていません。 私の読書からのEsri WebページのArcGISのためのコレクターはしっかりとそのプラットフォームに接続されています。私はこれについて間違っていることを知ってうれしく思います。 私は、GPSを備えたiOSおよびAndroidデバイス向けの汎用モバイルデータ収集アプリに強い関心を持っています。特に、カバレッジ外でデータを収集し、カバレッジに戻ったときに同期できるもの。理想的には、オフライン時に使用するためにデータの一部をローカルにキャッシュすることもできます。 私が想定しているのは、データレイアウトや制約などを指定できるWebベースのアプリケーションです。その後、バックエンドデータベースを生成し、Restful APIを介したアクセスを許可します。 私がする必要があるのは、モバイルデバイス(できればiOSとandroidの両方)のフォームからデータを入力することです。これにより、バックエンドデータベースのテーブルが更新されます。これにより、データをQGISに簡単に組み込むことができます。オフラインで動作する必要があり、動作する領域の多くは3Gをカバーしていません。オフラインで使用するために、選択したデータをデバイスにキャッシュすることもできれば理想的です。マップの統合は重要ではありません。 クラウドベースの優れたソリューションをいくつか見つけましたが、一部のデータは機密性が高い可能性があるため、バックエンドのデータ収集を制御できるものが本当に必要です。たとえば、密輸の脅威である珍しい爬虫類の目撃報告。 モバイルアプリがQGISにデータを取得するための代替手段は何ですか。

2
ArcGISとPostgreSQLをArcSDEだけで使用することの利点は何ですか?
ArcGIS空間データ型(ST_GEOMETRY、バージョン対応ジオデータベースなど)を活用するには、ArcSDEをインストールする必要があることを理解しています。10.1クライアントでは、自動的にインストールされます(2層クライアント>> DBMS、こちらを参照)。 ただし、EsriフロントエンドをPostgreSQL(またはOracle)に接続する利点を理解しようとしています。スケーラビリティ/パフォーマンス/冗長性/ DBAabilityなどの純粋にバックエンドの利点ですか、それともPostgreSQL / PostGISセットアップによって提供される追加のフロントエンド機能がありますか?Esriのヘルプは精巧ではないようです 参考までに、私はPostgresql / PostGIS / QGISがArcGIS /他のデータベースよりもスケーラブル/柔軟(そして安価)である理由を説明することを目的としたGIS論文を設計しているデータベース初心者です。実装する余裕はありません。この最後のポイント、特にワークフローに関するリンク(たとえば、シェイプファイルが大量に散らばっていないなど)は大歓迎です。d。

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