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

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

1
PostGisとOracle Spatial 11gのパフォーマンス
63,000,000ポイントをWKT形式に変換しているときに、Oracle Spatial 11Gのテーブルを更新するとパフォーマンスの問題が発生します。Postgresとも比較しました。PostgresとOracleはどちらも、同じサーバーでホストされている2つの仮想マシンで実行されます。 Postgres:プロセッサ12、RAM 64GB create table alldata(geom geometry(Point, 4326)); alter table alldata add column wkt4326 varchar(100); update alldata set wkt4326 = St_AsText(geom) -- 25 minutes Oracle 11G:プロセッサー12、RAM 40GB、pga + sga =最大8GB create table alldata(geom sdo_geometry); -- e.g.: SDO_GEOMETRY(2001, 4326, SDO_POINT_TYPE(aLon, aLat, null), null, null) alter table alldata add (wkt4326 …

2
QGISのPythonコンソールでraster2pgsqlを使用していますか?
GeoTiFFファイルをPostGIS / PostgreSQLデータベースにアップロードする必要があり、raster2pgsqlは初めてです。 Pythonコンソールでraster2pgsqlコマンドを実行するにはどうすればよいですか? import psycopg2 import subprocess db_name = 'enter_qgiscloud_db' db_host = 'db.qgiscloud.com' db_user = 'enter_qgiscloud_user' db_password = 'enter_qgiscloud_pw' conn = psycopg2.connect( "dbname={0} host={1} user={2} password={3}".format( db_name, db_host, db_user, db_password ) ) cursor = conn.cursor() cmds = 'raster2pgsql -s 3857 -p -Y -I -C -M C:\qgis_cloud_data\ -F -t auto …

1
ポリゴンデータセットの結合
2つの大きなポリゴンデータセットを組み合わせる必要があります。これらのデータセットの1つに最新のデータが含まれているため、このデータセットのポリゴンを既存のデータセットにコピーする必要があります。 既存のデータセットを変更する必要がある3つの異なるインスタンスがあります。スクリーンショットと説明については、以下を参照してください。 (すべてのスクリーンショットで、赤い破線の輪郭は既存のデータを表しています。緑のポリゴンは新しいデータです。) 状況1-まったく新しいポリゴン: アクション -新しいポリゴンを既存のデータセットに追加する必要があります。同じままのポリゴンは無視できます。 状況2-既存のポリゴンの形状が変わった: アクション -既存のポリゴンを削除する必要があります。次に、新しいポリゴンを既存のデータセットに追加する必要があります。 状況3-既存のポリゴン内の複数の新しいポリゴン アクション -既存の包含/大きなポリゴンを削除する必要があります。次に、新しいポリゴンを既存のデータセットに追加する必要があります。 だから、私の質問です。QGISまたはPostGISのいずれかで、上記のルールに従ってこれらのデータセットを組み合わせることができますか?
8 qgis  postgis 

1
Openlayers 3でPostgis GeoJSONを使用する簡単な方法はありますか
Jason Sanford(https://github.com/JasonSanford)のgoogle-vector-layersとleaflet-vector-layers を使用して、Postgis-databasesからのデータのカスタマイズされたポップアップを簡単に表示、スタイル設定、および追加しました。これは、Bryan McBrideのPHP-Database-GeoJSONの修正バージョンと組み合わせて機能します。 Openlayers 3での使用に匹敵するものはありませんか?私はそのようなライブラリを書くためのプログラミングスキルを持っていないことを認めなければなりません。誰かが同等のコードについて知っているかもしれません。多くのグーグル操作を行った後、特定の問題に対する多くの答えを見つけ、AjaxとboundingBox戦略を使用してGeoJSONをロードする方法、ベクターレイヤーのスタイルを設定してポップアップを追加する方法を実装しましたが、まだ簡単な方法がありませんこれらすべてを組み合わせる方法の方法。 PostGis> GeoJSON> Openlayers 3(スタイリングとポップアップによる機能の表示を含む)はかなり標準化された方法であると思うので、今日まで見つからなかった既存のソリューションがあるのではないかと思います。

4
残りの道路ネットワークに接続されていないフィーチャを選択するためのPostGISクエリ?
PostGIS対応のデータベースに保存されている都市の道路のデータセットがあります。他の道路ネットワークに接続されていないフィーチャを特定して削除したいと思います。この動作は、データが切り取られたネットワークの端でよく見られます。 これを行う他の回答をGIS SEで見つけましたが、すべてArcGISを使用しているようで、PostGIS、QGIS、またはPythonスクリプトを使用して問題を解決したいと考えています。 データセットには10​​0万を超える機能を含めることができるため、パフォーマンスが問題になります。

1
非水平面の地理参照ラスター
(垂直)壁から生成されたラスターデータがあります。このデータをpostgisデータベースに保持し、空間参照を「最も正確な方法」でエンコードします。 現在、それらはメトリックCRSを悪用することによって保存され、壁のz座標をyとして、壁の左側からのオフセットをxとしてエンコードします。これにより、その目的のために機能するローカル参照システムが提供されますが、グローバルコンテキストは失われます。 ベクトルデータの場合、すべての頂点に3D座標を与えて(グローバル)スペースに配置するのは簡単です。これは、ラスターデータに基づいて作成する必要があります(GISユーザーインターフェイスを使用して、これらの壁の上にある関心領域をデジタル化します)。 さらに、複数の壁を隣り合わせに配置することもでき、この状況でこれらを視覚化できるはずです(同じ方位角の場合にのみ機能すれば十分です)。 これに対処する方法はいくつかあります。 実際の座標に基づいた原点を持つ垂直空間でカスタムCRSを使用します。ただし、この「元の参照」が正確にどこに格納されるかはまだ不明です。 情報をCRSに保存します(それは可能ですか?)-各参照面にいくつかの異なるCRSが必要になります。 ラインに外部キーを使用する(サンプルの赤いラインを参照)-現在の状況、冗長な情報(ラインの長さがラスターの幅に対応していない場合はどうなりますか?) 参照面として3Dポリゴンを作成-冗長情報、上記を参照 線の原点を作成します。これは、線の方位角と組み合わせて参照面にすることができます-異なる壁が同じ参照面を共有しますか? すべてのアプローチは、どういうわけか「回避策」であるように思われ、注意が必要です。 以下の2つの画像は、状況の上面図といくつかの正面ラスター画像の構成を示しています。(それらが単一の参照面にマッピングされている場合は問題ありません) 水平空間や標高情報で地理的コンテキストを失わずに、垂直ラスターイメージをデータベースに保存する最も適切な方法は何ですか?

2
PostGISのST_Areaはどのように機能しますか?
面積が約6226 km ^ 2であることがわかっているポリゴンに対して単純な計算を実行しています。これは、地理(WGS84 SRID)列に格納されます。 クエリは次のとおりです。 select st_astext(col), st_area(col) area from table そして返す: "POLYGON((-180 58.282525588539,-178.916399160189 57.4759784390599,-178.191728834624 58.5761461944577,-180 58.282525588539))" | 5807028547.33813 返される領域(5807028547.33813)は、km ^ 2ではなくmm ^ 2のように見えますか?ドキュメントhttp://postgis.net/docs/ST_Area.htmlは、「デフォルトでは、面積は平方メートルの単位を持つ回転楕円体で決定される」と述べています。 これはドキュメントのエラーですか、それとも上記は正しいのですか?機能が根本的に誤解していますか?
8 postgis  area 

2
パスワード保護QGISプロジェクト
共有コンピューター上に、自分のデータを含むPostGISデータベースにリンクするQGISプロジェクトがあります。ユーザーがデータベースからレイヤーにアクセスする場合は、データベースの資格情報を入力する必要があるため、問題ありません。 ただし、以前にログオンしてレイヤーをデータベースからQGISにインポートし、QGISで操作しました(メタデータに基づくスタイルオプションなど)... QGISプロジェクトを開いた人は誰でもこれらのレイヤーをQGISで表示できます。したがって、自分のデータベースで保護したいデータを見ることができます。 QGISプロジェクトをパスワードで保護する方法はありますか?

1
PostGISでラスターからポリゴンの平均値を計算していますか?
まず、同僚から提供された英国のNetCDF .griおよび.grdラスターファイルから始めました。私はそれをRでロンドンだけになるようにクリップし、エクスポートしてASCファイルに変換してから、Rで次のコマンドを使用してPostGISにインポートしました。 library(raster) uk_raster <- raster("AnnMean2011.grd") london_area <- extent(-720000.0,-630000.0,-50000.0,25000) london_raster <- crop(uk_raster, london_area) writeRaster(london_raster, filename="AnnMean2011.asc", format="ascii") そして、Ubuntuコマンドラインで: raster2pgsql -I -C -s 10001 -t 20x20 AnnMean2011.asc annualmean | psql -d james_traffic PostGISにラスターテーブルができました。ちなみに、10001のSRIDは次のとおりです。 INSERT INTO spatial_ref_sys(srid, auth_name, auth_srid, proj4text) VALUES (10001,'CMAQ_Urban',10001,'+proj=lcc +a=6370000 +b=6370000 +lat_1=35 +lat_2=65 +lat_0=52 +lon_0=10 +x_0=000000 +y_0=00000'); 同じデータベースに、ロンドンをカバーするポリゴンファイルSRID 27700があります。ラスターから各ポリゴン内の平均値を計算したいと思います。 私はこのようなことを試みていますが、それは正しくありません: …

1
形式の理解:WKTからのWKB、および最初の形式を後者に変換する方法[終了]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 3年前休業。 データの形式がわかりません。列名はwkb_geomなので、データはWKB形式であると想定していましたが、確認してみたところ、その例が見つかりませんでした。データは次のとおりです: "0106000020E6100000010000000103000000010000007218000007000060B1D42B4010000060A372454007000060B1D42B40030000009D724540030000E0D5D42B40030000009D724540030000E0D5D42B40050000C08A7245400B000040FAD42B40050000C08A7245400B000040FAD42B40130000807B7245400B000040FAD4 (...)」 WKBまたはWKT形式ですか?2番目の質問です。WKB形式の場合、どうすればWKT形式に変換できますか?私はこの提案に従おうとしていました WKBをWKTに変換する方法 だからクエリは UPDATE "ita_adm1" SET wkb_geometry = ST_GeomFromWKB("wkb_geometry",4326) しかし、関数ST_GeomFromWKBは存在しないと言い続けています。

2
PostGIS ST_Unionパフォーマンス
ST_Unionコマンドを使用してPostGISで「ディゾルブ」操作を実行しようとしています。 入力層は確かに非常に大きく複雑です。「大きい」とは、57,771のフィーチャを意味し、頂点の数はフィーチャあたり4〜758,018の範囲であり、平均してフィーチャあたり約86の頂点です。頂点の数が10,000を超えるのは約10のフィーチャだけです。「複雑な」とは、ポリゴンに多数の穴、乱雑なオーバーラップ、アイランドなどがあり、大きなポリゴンには、小さなポリゴンの多くをカバーする境界ボックスがあり、おそらくインデックスの有用性が低いことを意味します。 問題は、クエリが非常に遅くなり、使用できなくなることです。私はここでポールの2009年の投稿を読んだので、私のクエリはまだかなり高速であるはずだと思いました。次のコマンドを使用しています。私は露骨に間違っている、または非効率的なことをしていますか? SELECT ST_Union(f.geom) as geom, column1,column2,column3 FROM "inputlayer" As f GROUP BY column1,column2,column3 編集:私は使用しています: POSTGIS="2.1.4 r12966" GEOS="3.3.3-CAPI-1.7.4" PROJ="Rel. 4.7.1, 23 September 2009" GDAL="GDAL 2.0.0dev, released 2014/04/16" LIBXML="2.7.8" LIBJSON="UNKNOWN" TOPOLOGY RASTER PostgreSQL 9.3.5 on x86_64-unknown-linux-gnu, compiled by gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3, 64-bit 私がdbサーバーを実行しているマシンは、パワーのない仮想マシンです。SET work_mem = 50000のアイデアを試してみて、どうなるか見てみましょう!

2
源流ポリゴンを見つける
これは、この質問のフォローアップ質問です。 河川網(複数線)といくつかの排水ポリゴンがあります(下の画像を参照)。私の目標は、源流ポリゴン(緑)のみを選択することです。 ジョンのソリューション私は簡単に川の開始点(星)を抽出することができます。ただし、ポリゴンに始点がある状況(赤いポリゴン)がある場合がありますが、ポリゴンは河川を通って飛んでいるため、源流ポリゴンではありません。源流ポリゴンだけが必要です。 ポリゴンと川の交差点の数を数えてそれらを選択しようとしました(理由:源流ポリゴンには川との交差点が1つだけである必要があります) SELECT polyg.* FROM polyg, start_points, stream WHERE st_contains(polyg.geom, start_points.geom) AND ST_Npoints(ST_Intersection(poly.geom, stream.geom)) = 1 ここで、poylgはpoylgonsであり、johnsのstart_pointsは答え、streamは私の河川ネットワークです。 しかし、これは永遠にかかり、私はそれを実行しませんでした: "Nested Loop (cost=0.00..20547115.26 rows=641247 width=3075)" " Join Filter: _st_contains(ezg.geom, start_points.geom)" " -> Nested Loop (cost=0.00..20264906.12 rows=327276 width=3075)" " Join Filter: (st_npoints(st_intersection(ezg.geom, rivers.geom)) = 1)" " -> Seq Scan on ezg_2500km2_31467 …

1
QGIS geometry_columnsにエントリがありません!
PostGIS v2.1拡張機能を備えたPostgreSQL v9.3では、2つのテーブル(サイトと訪問)からビューを作成しました。サイトテーブルには、作成されたビューに含まれていたポイントジオメトリ列(the_geom)が含まれていました。テーブルビューを確認すると、予期した情報が含まれていました。 Windows 8.1で実行されているQGIS v2.4では、geometry列を含むサイトテーブルをレイヤーとして追加できます。ただし、DB Managerで作成されたビューテーブルを見ると、次のように記載されています。 PostGIS 列:the_geomジオメトリ:GEOMETRYディメンション:2エクステント:482350.00000、132750.00000-538750.00000、177150.00000 geometry geometry_columnsにエントリがありません! テーブルタブには期待どおりにテーブルの内容が表示され、プレビューには妥当と思われるポイントが表示されます。ビューテーブルのアイコンは疑問符として表示されます。 ビューが最初に作成されたとき、マップにレイヤーとして追加できませんでした。ただし、コンピューターを再起動すると、ビューがレイヤーとしてマップに追加されます。 2つの質問: エラーメッセージの意味と、それを取り除く方法を教えてください。 ビューテーブルをマップに追加するためにコンピューターを再起動する必要があるのはなぜですか?
8 qgis  postgis 

2
マルチユーザー編集環境でArcGISとQGISを一緒に使用していますか?
私たちは7人のGISスタッフと約14人のグループがあり、時々「GISを使用」しています。私たちは本当にマルチユーザー編集を望んでいます。ほとんどの場合、大きなポイントファイルであり、同じ場所にいることはほとんどないため、同じポイントを編集しても問題ありません。 ArcSDEを使用しているArcGISのすべてのユーザーを希望しますが、予算がない、またはPostgreSQL / PostGISでQGISとArcGISを使用していますが、ArcGIS for DesktopはArcSDEがないとPostGISを編集できません。 現在、ArcGIS AdvancedにはGISスタッフ、QGIS 2.2にはその他のスタッフがいます。これはうまく機能しています。複数のQGISユーザーが同時に編集でき、さらに1人のArcユーザーが編集できます。データを1日に4回バックアップしています。 同じような環境で、経験から学んだり、ミスをしたり、データを失ったりしないようにしてくれる人がいることを願っています。


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