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

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

4
PostGISテーブルから各列のデータ型を取得していますか?
ジオメトリタイプを含む、テーブル内のすべての列の列データタイプを取得する必要があります。私が知りたかったのは、次のような関数またはSQLがあるかどうかです。 column_name | data_type ------------+-------------- gid | integer descr | character varying(32) class | character varying(10) area | double precision geom | geometry(Polygon,3763) stackexchangeとgis.stackexchangeに関するいくつかの回答から、次のクエリでいくつかの情報を取得できることがわかります。 SELECT g.column_name, g.data_type, g.character_maximum_length, g.udt_name, f.type, f.srid FROM information_schema.columns as g JOIN geometry_columns AS f ON (g.table_schema = f.f_table_schema and g.table_name = f.f_table_name ) WHERE table_schema …
9 postgis 

4
ライン(LINESTRING)にないポイント(バス停)をネットワークに接続していますか?
バスストップ(ポイント)をネットワークレイヤー(OSMデータ)に接続する必要があります。これらのバス停は路線上にありません(スクリーンショットを参照)。また、場所を移動する必要もありません。私はPostGIS、pgrouting、QGISを使用しており、ネットワークはすでにソース列やターゲット列などでルーティング可能です。 その後、主に2つのことを行います。 最短経路分析を使用してバス停間の距離を取得する。 OSMネットワークを使用して、バス停から徒歩圏内にアイソクロンを作成します。 正確な値を取得するには、ルーティングがバス停に最も近い「スタート」と「ストップ」であることが必要です。多くの場合、最も近い既存のノードは遠すぎて正確な値を取得できません。ただし、バス停の実際のポイント位置へのルーティングはありません。写真の私の例では、ストップ間のルーティングがどのように見えるかを確認できます。 バス停に最も近い新しいノードをネットワーク(LINESTRING)に自動的に挿入する可能性はありますか、またはクエリのためだけに設定された一種の「ダミーポイント」でルーティングを開始することは可能ですか(道路と同様) QGISのグラフプラグインはありますか?)

2
空のPostGISテーブルのジオメトリタイプを取得するにはどうすればよいですか?
行を挿入する前に、PostGISテーブルのgeomフィールドのジオメトリタイプを知る必要があるWebアプリケーションがあります。次のクエリを使用して、geom列のジオメトリタイプを決定します。 SELECT GeometryType(geom) FROM my_schema.building LIMIT 1 これは実際の行のジオメトリタイプを返すため、テーブルが空の場合は機能しません。ジオメトリ列自体のジオメトリタイプを判別するにはどうすればよいですか?
9 postgis 

2
Ubuntu 12.04にPostGISとTIGERデータをインストールする
誰かがPostgisをインストールし、ubuntuに全国のTigerデータをロードするための馬鹿のガイドを理解していなくても、簡単に書くことができますか?私はいくつかのガイド、つまりhttp://wiki.bitnami.com/@api/deki/pages/302/pdfを試しましたが、あまりうまくいきません。この質問の自由な性質をお詫び申し上げます。

2
PostgreSQL / PostGISには、どの空間認識GUI管理ソフトウェアが存在しますか?
私のPostgreSQLでの経験のほとんどはpgAdminIIIとpsqlでしたが、他の人が何を使っているか知りたいです。 SQL Server Management Studio(SSMS)に相当するPostgreSQLと、限られた方法で、ジオメトリ(無料または有料)を含む結果を表示する機能はありますか? または、この質問はPostgreSQL / PostGIS用のGUIツールですか?? PostgreSQLソフトウェアカタログを調べましたが、何も見つかりませんでした(リンク切れ以外)。

1
PostGISでZ値を削除するにはどうすればよいですか?
PostGISでZ次元を取り除くにはどうすればよいですか?具体的には、MultiPolygonZsとして別のテーブルにコピーしたいs がいくつかありますMultiPolygon。Z値は気にしません-単に捨てても大丈夫です。 簡単な方法があるはずですが、これを行う関数を見つけることができませんでした...どんなヒントも大歓迎です!

1
PostGISでのラスター統計計算のパフォーマンス
PostgreSQL / PostGISを使用して、ベクターレイヤーの各ポリゴンのラスター統計(最小、最大、平均)を計算しようとしています。 このGIS.SEの回答は、ポリゴンとラスター間の交差を計算し、次に加重平均を計算することにより、これを行う方法を説明しています:https : //gis.stackexchange.com/a/19858/12420 私は次のクエリを使用しています(demはラスター、topo_area_su_regionはベクターでtoid、一意のIDです: SELECT toid, Min((gv).val) As MinElevation, Max((gv).val) As MaxElevation, Sum(ST_Area((gv).geom) * (gv).val) / Sum(ST_Area((gv).geom)) as MeanElevation FROM (SELECT toid, ST_Intersection(rast, geom) AS gv FROM topo_area_su_region,dem WHERE ST_Intersects(rast, geom)) foo GROUP BY toid ORDER BY toid; これは機能しますが、遅すぎます。私のベクターレイヤーには2489kのフィーチャがあり、各フィーチャの処理には約90msかかります- レイヤー全体の処理には数日かかります。(ST_Areaへの呼び出しを回避する)最小値と最大値のみを計算する場合、計算速度は大幅に向上しないようです。 Python(GDAL、NumPy、PIL)を使用して同様の計算を行うと、(ST_Intersectionを使用して)ラスターをベクトル化する代わりに、ベクトルをラスター化する場合に、データの処理にかかる時間を大幅に削減できます。ここのコードを参照してください:https://gist.github.com/snorfalorpagus/7320167 私は本当に加重平均を必要としません-「それに触れるなら、それは入っている」アプローチで十分です-そしてこれが物事を遅くしているものであると合理的に確信しています。 質問:PostGISをこのように動作させる方法はありますか?つまり、正確な交差ではなく、ポリゴンが接触するラスターからすべてのセルの値を返します。 私はPostgreSQL / PostGISに非常に慣れていないので、私が正しく行っていないことが他にあるかもしれません。私はPostgreSQL 9.3.1とPostGIS …

2
フィーダーバスサービス
まず第一に、少し背景。 私は地域の交通機関で働いています。フィーダーバスサービスの「診断」を行っています。車を利用する代わりにバスを利用して駅まで行くことができるユーザーの割合を知りたいのですが。これは何度かパスで行われましたが、現在はgtfsをメインデータソースとして使用しているため、方法論を再考する必要があります。 電車に「餌をやる」と見なされるには、バス路線が駅から一定の距離内に止まる必要があります(赤いバッファ)。また、バスが電車の30分前に駅に到着した場合、待ち時間が長すぎるため、朝20分以上眠って車に乗る必要があるため、電車サービスとの同期が非常に重要です。 12番線でラインA(青)に乗ったとします。13番バスでバスを降りると、バスは13番の停留所に到着します。それはとても良いことです。つまり、1から13までの停留所でそのバス路線を利用する全員が、その電車の5分前に到着するということです。 次に、列車は、学校や交差点がたくさんある非常に人口密度の高いエリアを通過するため、速度が大幅に低下します。一方、バスは14〜17番の停留所で乗客をピックアップし、その列車の10分前に第2駅に到着します。そのため、14〜17番の停留所でバスに乗車する乗客は、駅に到着したら、すべて10分の待ち時間があります。したがって、そのバス路線に沿って、1番から13番のバスに乗る乗客は5分の待ち時間を持ち、14番から17番のバスに乗る乗客は10分の待ち時間を持っています。 線路の反対側にあるラインBは、鉄道駅#1の近くを通過しますが、その停留所は、「給餌」鉄道駅#1を考慮するには遠すぎます。電車の7分前に駅#2に到着します(朝のラッシュアワー中に電車ごとに行ってください。非常によく同期しています)。したがって、B線沿いの乗客は、バスを停車場1から59までどこにでも連れて行くのに7分の待ち時間があります。 さて、私の質問です。LineA.13とLineA.17の停車地が私の列車に供給していることを確認したら(PostGISでは空間的に行われています)、#13の前の停留所でバスに乗るときの待ち時間は5分ですが、その後は待ち時間が10分の場合、すべてのストップにその待ち時間を割り当てるにはどうすればよいですか? Postgres / PostGIS(pl / pgsqlまたはpl / python)で実行したいのですが、純粋なpython(OSまたはarcpy)も使用できます。 逆にループできると思います。したがって、適切なストップ(ここではLineA.17)を見つけたら、同じ待機時間を16に割り当て、次に15 ...基準に合う別のストップ(LineA.13)を見つけて、残りを割り当てます。ストップの数は13と同じです。 しかし、そのようなループを作成する方法はわかりません。SQLではできないと思うので、PostgreSQLで手続き型言語を使用する必要があります。 私はpgRoutingを使用して各フィーダーストップ間のルートを見つけることで、ラインAが2つに分割されるようにしました(ストップ1から13、次にストップ13から17)。それは簡単でしょうか? 次のステップは、pgRoutingを使用して、待ち時間のあるすべてのストップからの運転時間を計算し(LineA.18以上に申し訳ありません!)、それをバスのスケジュールと比較して、競争力を計算します(5車でそれよりバスで数分?) 何か案は?私は通常、これまでに行った努力を示すために、長い進行中のスクリプトを投稿していますが、行き詰まっています!

1
ArcGISの代替としてのGDALおよびPostGISを使用したPython
ほんの少し前に、私はアラスカのサイズの地域の毎日の地表面温度衛星画像を扱いました。 約1000枚の画像を処理する必要がありました。それらをダウンロードし、モザイク化し、投影し、シェープファイルの境界にクリップし、クリップされたラスターから平均を抽出し、平均を時間-温度グラフにプロットしました。時間と温度のグラフが最終的な出力です。これらはすべてArcGISで行いましたが、作業の一部を自動化するのに役立つArcPyスクリプトを作成しましたが、それでもまだ骨の折れる作業でした。 同じことを行いますが、100%自動的に実行するプログラムを作成したいと思います。関心のある領域を定義し、時間と温度のグラフである最終的な出力を生成するために、プログラムにコーナーの座標を入力したいだけです。 これは、GDALライブラリとPostGISをPythonでラスターデータストアとして使用することで可能だと思いますか


2
PostGISへの複数のGPXファイルのバッチロードを自動化しますか?
PostGISデータベースに「バッチロード」したい50以上のGPXファイルがあります。すべてのtrack_pointsデータは「track_points」テーブルに読み込まれ(緯度、経度、標高、時刻などの一般的なGPSフィールドを使用)、トラックデータは同様に適切に設計された「トラック」ラインジオメトリテーブルに読み込まれます。 このプロセスを自動化して、次の50以上を取得したときに、データベースにデータを手動で入力する必要がないようにします。私は個人的にこれらの種類のプロセスをスクリプト化するためにPythonを使用することを好みますが、提案は大歓迎です。 私の一般的な思考プロセスは次のとおりです。 処理するGPXファイルのリストを取得します(標準のPythonツールで十分簡単です) 各GPXファイルをループして、必要なデータを抽出/ PostGIS形式に変換します psycopg Pythonライブラリを使用してGPSデータをPostGISに挿入する ステップ1と3を管理できると思いますが、データ(tracksとtrack_points)をPostGIS形式に変換する比較的単純なメソッド/ライブラリがあるのか​​、またはすでに作成されているテーブルに挿入できる表形式のフォームがあるのか​​と思っています。 。 私は「もう読んだ?良いGPSトラック解析ライブラリがあります」、「?GPSログの地理データベースを構築する方法」、および「パイソンと.GPXデータを抽出する方法」、およびGDAL / OGRに見てきましたFWTools Pythonバインディングですが、ホイールを再発明したくないのは、誰かがすでにこれに適した方法を持っているからです。


2
OpenStreetMap / PostGISデータベースでPOIに最も近い都市を見つける方法は?
OSMデータベースでPOIの追加データを見つけることに興味があります。 現在、次のSQLを使用して、すべてのPOIのname + long + latを取得できます SELECT name, x(transform(way, 4326)) AS lon, y(transform(way, 4326)) AS lat FROM planet_osm_point WHERE tourism='museum' UNION SELECT name, x(centroid(transform(way, 4326))) AS lon, y(centroid(transform(way, 4326))) AS lat FROM planet_osm_polygon WHERE tourism='museum' また、POIが置かれている最寄りの町または都市の名前も教えてください。

3
PostGISエラー:ライブラリ「/usr/lib/postgresql91/lib64/postgis-2.0.so」をロードできませんでした
OSはopenSUSE 12.1、PostgreSQL-9.1、PostGIS-2.0です。Postgre / PostGISはApplication:Geoリポジトリからインストールされます。 最近の更新後、データベースに接続しようとすると、次のエラーが発生します。 ERROR: could not load library "/usr/lib/postgresql91/lib64/postgis-2.0.so": /usr/lib/postgresql91/lib64/postgis-2.0.so: undefined symbol: pj_get_spheroid_defn 私はこのエラー(hint-1、hint-2)をWebで検索しましたが、ld.so.config(またはldconfigコマンド)と関係があるようです。しかし、私は私の場合に何をしなければならないのか理解できません。

4
[LINE | MULTILINE] STRINGからポイントを抽出する方法
vectorLayerを作成して、DBに格納されたQGIS、LINESTRINGまたはDBにMULTILINESTRING格納されたすべてのポイントを表示しますPostGIS。 LINESTRING(またはMULTILINESTRING)のすべての点をに変換する必要があると思いますPOINT。 最初の質問: それPostGISを行う機能はありますか? 2番目の質問: 結果POINTテーブルから重複したポイントを除外したい場合、どうすればよいですか?

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