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

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

2
オープンソースのPython / PostGISプロトタイプに最適な設計
Apacheを介して配信されるデータ集約型のWebアプリケーションを作成しています。私の質問は、複数のオプションがある場合に、処理を最適に配置する方法についてです。 私は自由にOpenLayers / JQuery / Javascript、PostGIS / Postgresql(pgsql付き)、python / psycopg2、phpを持っています。 データベースには約300万行が含まれており、プロトタイプは現在次のように実行されます。 ユーザーがOpenLayersウィンドウのポイントをクリックした 座標はAJAXリクエストとしてサーバー上のPython関数に送信されます 現在、私のアプリケーションはステートレスです Pythonのpsycopg2を使用してpgsqlストアドプロシージャを呼び出し、大量のWKT値(およびデータフィールド)がpythonモジュールに返されます。 データフィールドは、PythonでWKTレコードを次のように分類するために使用されます。すべてのWKT値は、5つのグループのいずれかに分類されます。WKT値の約1%が実際に変更されます。 WKTの5つのセット/グループは、5つの異なるポリゴンを作成するためにバッファリングされます。現在、データベース内のストアドプロシージャを呼び出してこれを行っています。これは今度はST_BUFFERを使用するだけです。(私はShapelyの使用を検討しましたが、どちらの場合にもGEOSライブラリが使用されるため、パフォーマンス上の利点があるかどうかはわかりません...) 最後に、5つのWKTテキスト値がJSON文字列にラップされ、OpenLayersに返されて5つのレイヤーとしてレンダリングされます。 ボトルネックは、最初の空間検索と最後のバッファリング段階であることがわかりました。 質問は次のとおりだと思います: 物事を整理するより良い方法はありますか?たとえば、すべてのデータ処理をPostgreSQLで(たとえばカーソルを使用して)実行する必要がありますが、これはメンテナンスとパフォーマンスの点で優れているでしょうか?長いWKT文字列をWebクライアントに渡さないようにするには、タイルサーバーを使用する方がよいでしょうか。どのように対処しますか?

1
PostGISに保存されている155 MBのラスターを表示するにはどうすればよいですか?
次のコマンドを使用して、ラスタをpostgresデータベースにロードしています。 raster2pgsql -I -C -e -Y -F -s 3086 -I -C -M myraster.tif myraster -F -t 30x30 | psql -U postgres -d database -h localhost -p 5432 myraster.tif155Mです。QGISでラスタープラグインを使用しようとすると、ロードに非常に長い時間がかかります(15〜20分)。これをスピードアップするために私にできることがあるか、またはラスターを表示する別のアプローチがあるかどうかはわかりません。私ができることは、ラスターをすばやく表示して、データベースに格納されているベクターデータと正しく一致することを確認することだけです。(対照的に、ベクトルデータは非常に速く表示されます。)現時点では、QGISはフリーズし、ラスターを表示します。黒い四角形が表示されるだけで、相互作用によってプログラムがフリーズするため、カラースケールを変更することはできません。 私はラスターの読み込みに関連する微妙な点に精通していないので、おそらく使用する必要のあるさまざまなフラグと引数があるでしょう。これは大きなラスターであることを理解しているので、表示のためだけに再サンプリングしたり、同様に処理したりできます(どうすればよいかわかりません)。 wktrasterQGISでプラグインの最新バージョンを使用しています。リモートサーバーに接続してデータを表示しています。QGIS 1.8でOSXを使用しています。任意のプログラムを使用して、任意のOSでラスターを表示できます。

1
QGISおよびArcGISでPostgreSQLを使用しますか?
QGISおよびArcGISでPostgreSQLを使用することは可能ですか?つまり、異なるクライアント用の1つのデータベース。 2つの異なるソフトウェアからDBMSを使用するのに心配や問題はありますか? PostGISとArcSDEが必要であり、QGISからPostgreSQLのPostGIS 1.5でラスターデータを操作または保存できないことはわかっています。 あなたは何を勧めますか、何を避けますか?

3
ポイントとポリゴンの最も近い部分の間の距離と方位を取得する方法は?
SQLを記述してPostGISを使用するのはかなり新しいので、これが少し単純または明白に思える場合は謝罪してください。postGISデータベースに保持されているポリゴンフィーチャのテーブルがあり、SQLクエリを作成して、すべての属性、距離、および事前定義されたポイントの特定の距離内のポリゴンフィーチャの方向を選択する必要があります。(ST_Distanceを使用して)フィーチャを選択して距離を計算することができましたが、方位を取得する方法がわかりません。 これは私がこれまで使ってきたスクリプトです: SELECT *, ST_Distance (Geometry, ST_GeomFromText ('POINT(292596 90785)', 27700)) FROM mytable WHERE ST_DWithin( Geometry, ST_GeomFromText('POINT(292596 90785)', 27700), 250) フィーチャの方位と距離を計算するにはどうすればよいですか?
9 postgis 

2
census.govシェープファイルのSRIDとは何ですか?
私は郡のファイルを以下からダウンロードしました: http://www.census.gov/cgi-bin/geo/shapefiles2011/main それらで使用するSRIDがわかりません。からクラスファイルを生成しようとすると、ポリゴンフィールドに./manage.py ogrinspect ...SRIDが表示さ-1れます。これは正しくないと思います。 GDALは私に与えたにProj4のを+proj=longlat +ellps=GRS80 +datum=NAD83 +no_defs。 SRIDが-1の場合、不明であることを知っています。それは私のジオメトリを役に立たなくしませんか?使用するSRIDを確認するにはどうすればよいですか? 私はGISが初めてです。地球が平らだった時代はもう寂しいです。 これも役に立つかもしれません: SELECT PostGIS_full_version(); postgis_full_version ------------------------------------------------------------------------------------------------------- POSTGIS="1.5.3" GEOS="3.2.2-CAPI-1.6.2" PROJ="Rel. 4.7.1, 23 September 2009" LIBXML="2.7.8" USE_STATS (1 row) >>> import django >>> django.VERSION (1, 4, 0, 'final', 0)

3
スキーマ全体のPostGISで空間インデックスを作成する
SPIT(QGISプラグイン)を使用して多数のシェープファイルをPostGISデータベースにロードしました。これらのレイヤーには、読み込み時に作成される空間インデックスがありませんでした。各レイヤーのクエリを記述せずにスキーマの各レイヤーの空間インデックスを作成する方法があるかどうか疑問に思っています。私は良いPostGISスクリプトライターではないので、どんな助けでも大歓迎です。 ありがとう

1
QGISとPostGISの1対多の関係
QGISで1対多の関係を実現できるツールを知っている人はいますか? PostGISデータベースにデータがあります。空間テーブルまたは非空間テーブルに関連する空間レイヤーをクエリしたり、その逆もできるようにしたいと思います。私は、ArcGIS 9.xに同様のことを可能にする方法があったと思います。

2
postgisでスペース分割をスピードアップする方法は?
重複しているポリゴンがたくさんあり、重複しているポリゴンを避けるためにスペースを分割しようとしています。私の問題はかなり単純だと思います。一部のESRI製品とhttp://arcscripts.esri.com/details.asp?dbid=16700を使用して、同僚が48秒で計算しました。 私はhttp://s3.opengeo.org/postgis-power.pdf#page=24を使用してpostgisでそれをやろうとしています(http://trac.osgeo.org/postgis/wiki/UsersWikiSimplifyPreserveTopologyを使用して詳細を推測しています)インスピレーションとして)しかし、非常に遅いので、10個を超えるポリゴンでは実行できません(分割するポリゴンが800個あります)。遅い部分はST_Unionです。私はさまざまなことを試しましたが、成功したものはありません。現在の状況は次のとおりです。 select geom from (select st_linemerge(st_union(geom)) as geom from (select st_exteriorring((st_dumprings((st_dump(t.geom)).geom)).geom) as geom from (SELECT geometry AS geom, id FROM tt WHERE campaign_id = 204 ORDER BY id limit 200) t) t2) t3 これは26分間計算されています(linemerge()は実際にはそうではありません)。st_dumpでバグが発生する場合に備えて、ポリゴンはマルチポリゴンです。 ヒントはありますか?ラインワークのst_union()は非常に遅い部分です。 おかげで、 ニコ。 PS:ここにいくつかの数字があります:852マルチポリゴン、14880ポリゴン、21467ラインストリング、合計315513頂点。

1
postgis DBの既存のテーブル(新しいスキーマを適用)からテーブルを作成する方法は?
地理空間的に有効になっているテーブルがあります。世界の国境が含まれています。それを異なるスキーマ(グローバル、ヨーロッパなど)に分解したいと思います。私の考えは、次のようなものを使用することです。 CREATE TABLE europe.borders AS (SELECT * FROM wo_borders WHERE admin_lvl2='eu' ); //just an example! 新しいスキーマを考慮し、それらを地理空間的に有効にするために、既存のテーブルからテーブルを作成するのは正しいですか?デフォルトのpostgisテンプレートを使用して新しいテーブルを事前に作成する必要がありますか?

1
トポロジを維持するラインネットワークを簡素化する方法
約250.000のセグメントを持つシェープファイル(ヨーロッパの主要道路からなる)があり、グラウチングのために単純化する必要があります。しかし、私はそれを適切に行う方法を見つけることができないようです。 これは次のようになります。 これは次のようになります。 残りのポイント間のトポロジー接続を維持しながら、3本未満のライン(交差ではない)に接続されているラインのすべてのポイントを削除する必要があります。誰かがアイデアを持っているなら、それは大歓迎です! 宜しくお願いします 編集:私は@dkastlのアイデアを実装しようとし、以下のコード(underdarkのブログhttp://underdark.wordpress.comから取得したネットワーク生成)を使用して、ネットワークから不要なノード(2つの隣接するラインストリングのみのノード)のみを取得することに成功しました/ 2011/02/07 / a-beginners-guide-to-pgrouting /): SELECT * FROM (SELECT tmp.id as gid, node.the_geom FROM (SELECT id, count(*) FROM network JOIN node ON (start_id = id OR end_id = id) AND (end_id = id OR start_id = id) GROUP BY id ORDER BY id) as tmp …

1
Postgisで近接検索を実行するにはどうすればよいですか?
Geonamesデータベース(cities1000)をダウンロードして、テーブルにインポートするための小さなRubyプログラムを作成しました(geo_cities)。次に、という地理列を追加しましたgeog。 次に、緯度/経度のすべてをgeog列に変換しました。 update public.geo_cities set geog = st_GeogFromText('SRID=4326;POINT(' || longitude || ' ' || latitude || ')'); 物事はよく見えています。今、私がやりたいのは、プラハから100マイル以内にあるすべての都市を見つけます。 だから私はプラハを次のように得ることができます: select * from geo_cities where asciiname = 'Prague' and countrycode = 'CZ'; 私はまだGISとPostgresを学んでいるので、誰かが簡単なクエリで私を助けてくれませんか?

4
PostGIS ST_Intersectsのパフォーマンスの問題を修正する方法は?
私はpostgisの初心者で、クエリのパフォーマンスに問題があります。 この私のクエリ: SELECT DISTINCT ON (userid) userid ,ST_AsText(position), timestamp FROM table1 WHERE ST_Intersects ( ST_GeomFromText('a multiypolygon geom goes here',4326),position) ORDER BY userid, timestamp desc 問題は、私のマルチポリゴンに非常に大きなポリゴン(単語のドキュメントでは600ページの長さです)が含まれていて、実行に2時間以上かかったことです。 クエリを最適化する方法または別の方法を使用する方法はありますか? どうぞよろしくお願いします!

3
PostGISまたはGRASSの共通属性のラインを分解または分割しませんか?
すべての交差点で道路が分割されている道路中心線シェープファイルがあります。ただし、共通の属性セットを持つLINESTRINGを1つのLINESTRINGに結合したいと考えています。名前、制限速度などが変わらない限り、マージしたい。これはOpenStreetMapへの最終的な統合のためです。 EsriのArcGIS for Desktopソフトウェアは、DissolveコマンドとUNSPLIT_LINESオプションでこれを許可しているようです。 また、QGISでDissolveコマンドを見つけましたが、それはポリゴンと単一フィールドでのみ機能するようです。 QGISに何も存在しないと仮定すると、PostGISまたはGRASSでそれを行う方法を誰かが知っていますか?

2
PostGIS ST_Buffer Radiusヘルプ
特定のポイントから半径5マイル以内にあるすべてのポイントを検索しようとしています。次のようなクエリがあります。 SELECT * FROM table WHERE ST_Contains(ST_Buffer(geomFromText('POINT(0 0)', 4326), ?), latlon) ?5マイルを取得するために(半径)の代わりに何を配置したかわかりません。すべてがEPSG 4326にあり、PostGISのドキュメントによれば(私の知る限り)、半径はメートル単位である必要があります。12,070.0m(約5マイル)に置くと、全国の半分の地点で試合が行われます。誰かが私が欠けているものを知っていますか?

2
GMLサーフェスをPostGISに保存する
私はPostGIS 2.0.0を使用していますが、GMLサーフェスをさまざまなポイントやラインとの交差を計算できるように格納したいと考えています。私の場合、Surfaceには、LineringSegment、Geodesic、Arc、Circleなどの内部リングと外部リングのない1つのPolygonPatchがあります。距離は、数十から数百マイルのオーダーです。私は、PostGISでは持っていることを見るCIRCULARSTRINGとCURVEPOLYGON、彼らはによってサポートされていないことを除いて、アークを格納する良い方法であると思われたgeographyだけで、タイプgeometry。これを保存する最良の方法は何でしょうか?(私はPostGISとGISの一般に非常に新しいので、明らかな何かを見逃している可能性があります。)

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