地理情報システム

地図製作者、地理学者、およびGIS専門家のためのQ&A

3
PostGISに大きなラスターを保存し、QGISで視覚化するとパフォーマンスが低下する
私の質問は、PostgreSQL、PostGIS、QGIS、およびGDALなど、いくつかのソフトウェアツールを組み合わせて使用​​およびパフォーマンスすることに関するものです。 私は、ArcGIS、Python、Rの長年のユーザーであり、無料のオープンソースGISエコシステムとLinuxへの多様化にも関心があります。最近、QGIS(ver 2.8)をPostgreSQL(ver 9.4)およびPostGIS(ver 2.1)と一緒に使用することに非常に興味があり、Windows 8.1 x64を搭載したコンピューターにコンピューターにソフトウェアをインストールしました(コンピューターの仕様:ThinkPad 2.1GHzコア2、8GB RAM、および240GB SSDを搭載したX200)。空間データ(〜100GB相当)の管理方法を学んだら、このマシンでUbuntuを実行したいと思います。 現時点では、シェープファイルとラスターを確実に保存および取得しようとしています。これまでのところ、シェープファイルをPostGISに読み込むことに成功していますが、ラスターはより問題が多いことが判明しています。小さなgeoTIFFおよびGRIDファイルの単一およびバッチインポートを正常に完了しましたが、大きなラスター(たとえば、ディスク上のサイズが156MBの15619x14655セルIMGまたはTIFFファイル)がPostGISにロードされるまでに時間がかかります。空間インデックスを構築し、これらのパラメーターを使用してタイルによってラスターを読み込むために、raster2pgsqlツールを読んで構成しました。 raster2pgsql -s 3161 -C -I D:\PostGIS_data\dem.img -t auto raster.dem | psql -h localhost -U postgres -p 5432 -d postgres インポートのパフォーマンスは依然として非常に低く、ハードウェアは問題ではありません。QGISでのPostGISラスターの視覚化はさらに悪く、せいぜい小さなラスターをゆっくりロードするか、完全にフリーズします。私が述べたような大きなラスターは、QGISで視覚化することは不可能です。ドキュメントとフォーラムの議論から、この欠点はQGIS自体ではなく、GDALのPostGISラスタードライバーによるものと思われます。フォーラムでの議論ではこの問題について簡単に言及しており、ラスタをPostGISに保存すべきではないと示唆する人もいます(ラスタをスムーズに処理できない空間データベースのポイントは何ですか?)。それでも、私は日常的にESRIのファイルジオデータベースを使用して、非常に大きな(〜70GB)ラスターをすばやく簡単に保存、視覚化、分析し、ArcGIS 10.1はそのような日常的な操作によってフリーズまたはスローダウンすることはありません。 ここで不足しているもの、対処していないボトルネックはありますか?PostGISのパフォーマンス上の利点を実現するために、PostgreSQLをチューニングする必要がありますか?探してコンパイルする必要があるGDALのバージョンがありませんか?特に、QGISでのシェープファイルとラスターのPostGISパフォーマンスと視覚化を改善するにはどうすればよいですか?Linuxターミナルを使用して、包括的かつ迅速な空間データ管理の栄光を享受するにはどうすればよいですか?この問題に関する助けを歓迎します! Duncan Golicherがこのガイドに従いました:https ://duncanjg.wordpress.com/2012/11/20/the-basics-of-postgis-raster/ 私は元々自動設定のタイルを使用していましたが、タイルを行ごとに100x100セルにリセットし、ガイドに示されているようにピラミッドを含めました。 raster2pgsql -s 3161 -d -C -I -M -l 4 D:\PostGIS_data\dem.img -t 100x100 raster.dem100 …

6
ArcPyをAnacondaと連携させるには?
私は「への答えにステップバイステップの指示に従うことをしようとしていますのArcGISでPythonのインストールを分離する方法」しかし、パスファイルを見つけることができないDTBGGP64.pthで、C:\Python27\ArcGIS10.2\Lib\site-packages。 誰かが同様の問題に直面していますか? arcpyがインストールされている場所をAnacondaに伝えるパスファイルを含めることで回避策がありますか?次のテキストを含む.pthファイルを作成しようとしました。 # .pth file for arcpy C:\Program Files (x86)\ArcGIS\Desktop10.2\bin C:\Program Files (x86)\ArcGIS\Desktop10.2\arcpy C:\Program Files (x86)\ArcGIS\Desktop10.2\Scripts それを保存しましたC:\Anaconda\Lib\site-packages(つまり、これが実際にすべてのパッケージが保存される場所である場合)が、次のエラーが表示されます。 Traceback (most recent call last): File "<stdin>", line 1, in <module> File "C:\Program Files (x86)\ArcGIS\Desktop10.2\arcpy\arcpy\__init__.py", line 21, in <module> from arcpy.geoprocessing import gp File "C:\Program Files (x86)\ArcGIS\Desktop10.2\arcpy\arcpy\geoprocessing\__init__.py", line 14, in <module> from …

3
一般的なGISのポリゴン頂点の順序:時計回りまたは反時計回り
2日前に、ESRIシェープファイルのポリゴンの頂点の内部保存順序について質問しました。その質問は回答されました(ポリゴンはシェイプファイルに時計回りまたは反時計回りに保存されていますか?)、また古い投稿で回答されました(ポリゴン作成(時計回りの回転かどうか)) しかし、今では私の質問はより一般的であり、独自の答えがあるかどうかはわかりません。時計回りの順序はESRIシェープファイルのみですか、それとも一般的なGIS形式ですか?また、GISソフトウェアの内部表現についてはどうですか?たとえば、QGISを使用し、ポリゴンを含む* .shpを読んだ場合、外側の境界の内部表現は元のシェープファイルのように時計回りであると仮定しますが、QGISでサポートされているすべてのファイル形式はどうでしょうか?ArcGISの場合はどうですか?また、ポリゴンが反時計回りに保存されているファイル形式が存在する場合、これらのファイルがQGIS、ArcGISなどにロードされると、内部で方向が変更されるため、たとえばPyQGISを使用してデータを読み取ると、ポリゴンは時計回りになります順序付けられました? 私の目的はQGISのプラグインを作成することですが、データのソースはESRIシェープファイルまたはその他の形式にすることができます。方位角を使用してポリゴンの連続する側面間の角度を確認する必要があるため、順序が時計回りであるかどうかを知る必要があります。1つの解決策は、各ポリゴンの面積を計算することです。正しく覚えていれば、正の場合は順序は時計回りになり、負の場合は順序は反時計回りになります。 面積計算は集中的なタスクではないため、プラグインをそれほど遅くすることはありません。しかし、QGISの特殊なケースでは、元のソースの順序に関係なく、ポリゴンを時計回りに保存するか反時計回りに保存するかを誰もが知っていますか?これまでにESRIシェープファイルを使用しており、layer.getFeatures()。geometry()。asPolygon()の座標は、外側の境界線では時計回りに、穴の場合は反時計回りに、つまり元の* .shpのように保存されます。

3
近くの平行な道路線(たとえば、二重の車道)を1本の線に結合/縮小するにはどうすればよいですか?
都市内のすべての道路を含むOSMのシェープファイルがあります。(二重車道のような)より大きな道路には、2本の平行線があるようです。それらを1行に折りたたむ/結合して、外部の3Dアプリケーションでうまくエクスポートしてレンダリングできるようにします(2つのオーバーラップする道路は複雑になり、3Dで奇妙に見えます)。 QGISまたはPostGISでこれを達成するにはどうすればよいですか?精度がわずかに低下する(数メートル以内)ことを心配していません。現在の平行線の間(理想的には中心)に、結果として生じる単一の線があることを望みます。 ありがとうございました。 (ここで、組み合わせたい二重道路線の例を示します)
23 qgis  postgis  line  road 

2
GeoServerでPostGISラスターを公開しますか?
GeoServerを使用してPostGISラスターを公開するにはどうすればよいですか? Image Mosaic JDBCを使用してRasterデータソースを作成しようとして多くの時間を費やしましたが、運はありません。 実行手順: 1. JDBC Image Mosaic拡張機能をダウンロードしてインストールしました(正常に機能しました) 2.「接続パラメーター」ファイルを作成しました: connect.postgis.xml.inc: <connect> <dstype value="DBCP"/> <username value="postgres" /> <password value="password" /> <jdbcUrl value="jdbc:postgresql://localhost:5432/db1" /> <driverClassName value="org.postgresql.Driver"/> <maxActive value="10"/> <maxIdle value="0"/> </connect> mapping.postgis.xml.inc: <spatialExtension name="postgis"/> <mapping> <masterTable name="mosaic" > <coverageNameAttribute name="name"/> <maxXAttribute name="maxX"/> <maxYAttribute name="maxY"/> <minXAttribute name="minX"/> <minYAttribute name="minY"/> <resXAttribute name="resX"/> <resYAttribute …

1
ディスク上のファイルジオデータベースフィーチャクラスのサイズを取得する方法は?
フィーチャクラスが占めるハードドライブの容量を決定する簡単な方法はありますか? 単純なものが欠けているように感じますが、そうする方法は思い出せません。 ArcCatalogでデータセットを右クリックすると、自動的に実行されると思うでしょう。 私がこれまでにできた最善の方法は、Windowsエクスプローラーでgdb全体のサイズを取得することでした。 ArcCatalog UIでこれを行う方法がない場合でも、コードでこれを行う方法に興味があります。 何か案は?

6
回転した緯度経度を通常の緯度経度に手動で変換しますか?
まず、この分野での経験がないことを明確にする必要があります。そのため、技術用語はわかりません。私の質問は次のとおりです。 2つの天気データセットがあります。 最初のものは、-90から90および-180から180の範囲の通常の座標系(特定の名前があるかどうかはわかりません)を持ち、極は緯度-90および90にあります。 2番目の例では、同じ地域に対応するはずですが、別の基準点(説明では回転グリッドと呼ばれます)があるため、緯度と経度が同じではないことに気付きました。緯度/経度のペアとともに、南極緯度:-35.00、南極経度:-15.00、角度:0.0。 lon / latの2番目のペアを最初のペアに変換する必要があります。角度が0で、単純なシフトのように見えるので、緯度に35を、経度に15を追加するだけで簡単にできますが、よくわかりません。 編集:座標に関する情報は次のとおりです http://rda.ucar.edu/docs/formats/grib/gribdoc/llgrid.html どうやら、2番目の座標系は球の一般的な回転によって定義されます 「これらのパラメータの選択肢の1つは次のとおりです。 座標系の南極の地理的緯度(度数など)。 座標系の南極の度単位の地理的経度、たとえばlambdap。 座標系の新しい極軸(南極から北極を見たときに時計回りに測定)を中心とする回転角度(度)。最初に球体を地理極軸を中心にlambdap度回転させて取得したと仮定します。 、(90 +タップ)度回転して、南極が(以前に回転した)グリニッジ子午線に沿って移動するようにしました。」 しかし、まだこれを最初のものに変換する方法がわかりません。

5
Esriジオデータベース間でドメイン(および唯一のドメイン)をコピーしますか?
あるジオデータベースから別のジオデータベースにドメインをコピーする必要がある場合があります(フィーチャクラスまたはテーブルなし)。 過去には、いくつかの異なる方法でこれを達成しましたが、各方法は考えられるほど簡単ではありません(または、見逃したCopyDomainツールがあるかもしれません)。 これを達成するためにどのような方法を使用しますか?

2
スタンドアロンPyQGISスクリプト(GUIの外部)からQGIS3処理アルゴリズムを使用する
私はQGIS GUIの外で動作しなければならないスクリプトを書いています。qgis.coreからいくつかのAPI関数を呼び出しますが、処理プラグインを使用したいと思います。 sys.path.append()で処理をインポートできますが、プロセスを実行できません。さらに、QgsApplication.processingRegistry()。algorithms()ですべての「ネイティブ」アルゴリズムが欠落しています。 それで、そのように処理を実行することは可能ですか?私は何が欠けていますか? import os, sys from qgis.core import * QgsApplication.setPrefixPath('/usr', True) qgs = QgsApplication([], False) qgs.initQgis() sys.path.append('/usr/share/qgis/python/plugins') from processing.core.Processing import Processing Processing.initialize() import processing layer1 = QgsVectorLayer('data/ROUTE_PRIMAIRE.SHP') layer2 = QgsVectorLayer('data/ROUTE_SECONDAIRE.SHP') processing.run('qgis:union', layer1, layer2, 'test.shp') # returns nothing 私はQGIS 3.0.1を使用しています-Debian 9


4
ST_Distance、kNNを使用したPostGIS最近傍点
1つのテーブルの各要素で、別のテーブルの最も近いポイントを取得する必要があります。最初のテーブルには交通標識が含まれ、2番目のテーブルには町のエントランスホールが含まれます。問題は、ST_ClosestPoint関数を使用できないことと、ST_Distance関数を使用してmin(ST_distance)レコードを取得する必要があることですが、クエリの構築が非常に困難です。 CREATE TABLE traffic_signs ( id numeric(8,0) ), "GEOMETRY" geometry, CONSTRAINT traffic_signs_pkey PRIMARY KEY (id), CONSTRAINT traffic_signs_id_key UNIQUE (id) ) WITH ( OIDS=TRUE ); CREATE TABLE entrance_halls ( id numeric(8,0) ), "GEOMETRY" geometry, CONSTRAINT entrance_halls_pkey PRIMARY KEY (id), CONSTRAINT entrance_halls_id_key UNIQUE (id) ) WITH ( OIDS=TRUE ); すべてのtraffic_signの最も近いentrnce_hallのIDを取得する必要があります。 これまでの私のクエリ: SELECT …

2
GeoJSON機能のsetStyle()関数-リーフレット
これについてはすでに非常に長い質問をしましたが、しばらくの間は新しい返信を受け取らず、詳細を混乱させないため、この方法をできる限りシンプルに保ちます。 間違っていなければsetStyle、名前付きの特定の機能の関数は次のようになります。 var bounds = [[54.559322, -5.767822], [56.1210604, -3.021240]]; var rect = L.rectangle(bounds, {color: "#ff7800", weight: 1}).addTo(map); rect.setStyle({color: "#4B1BDE"}); ...色がオレンジから青に変わります。またresetStyle()、スタイルを元に戻す関数についても知っています。 これが私のGeoJSONのスタイルです: var everything = L.geoJson(myfile, { onEachFeature: function(feature){ array_of_layers.addLayer(feature); }, style: function(feature){ switch(feature.properties.name){ case "belgium": return belgium_style; break; case "bosnia": return bosnia_style; break; case "denmark": return denmark_style; break; case "great_britain": …

2
Pythonでシェープファイルを読み取る方法は?
私の質問は、ポリゴンシェープファイルの垂直線の延長です。最初にその質問を参照してください。 表示されるのは、ユーザー定義の間隔で、バウンディングボックスに対して垂直線を生成する方法です。OGR、Fiona、Shapelyなどを使用して次のクリッピングのステップを実行できることは理解していますが、それらの使用法は理解していません。 ポリゴンシェープファイルの1行を読み取るにはどうすればよいですか?Shapelyを使用するすべてのアプリケーションは、LineString、Point、またはPolygonを生成する方法を示しますが、既存のシェープファイルを読み取ることはありません 少なくともスケルトン構造をサポートしてくれますので、その上に構築できます。

3
GeoTIFFピラミッド/概要はどのように標準化されていますか?
ピラミッド/概要はGeoTIFF標準の一部ではありませんが、多くのツールがピラミッド/概要の作成をサポートしています。たとえば、vips / nip2、Orfeo Toolbox(otb)、およびossimは、これらを作成するための何らかのサポートを約束します。しかし、それらがすべて他の人がサポートする形式でファイルを作成するかどうかはわかりません。ツールのドキュメントを調べても、それについては何も言及されていません。 vipsは地理空間ツールではなく、エンドユーザーフレンドリーなドキュメントは見つかりませんでしたが、IIPImageのドキュメントでは「Tiled Pyramidal TIFF」のサポートについて言及されています:http : //iipimage.sourceforge.net/documentation/images/ otbは、「Multi Resolution Pyramids」の形式や仕様については何も言及していません:https : //www.orfeo-toolbox.org/CookBook/CookBooksu65.html ossimは、「解像度の低下したデータセット」のさまざまな出力形式をサポートしていると言いますが、実際の意味はわかりません:https : //trac.osgeo.org/ossim/wiki/img2rr GDALは、その「概要画像」に関することも実際には指定していません:http : //www.gdal.org/gdaladdo.html したがって、それらはすべてピラミッド/概要を持っていますが、それらが相互互換性があるかどうかは明確ではありません。 より一般的なページでは、次の引用を見つけました。 http://iipimage.sourceforge.net/documentation/images/は言う タイル型多重解像度(またはタイル型ピラミッド型)TIFFは、タイル型のマルチページTIFF画像であり、各解像度はTIFF内の個別のレイヤーとして保存されます。これは標準のTIFF拡張機能であり、Photoshop、GIMP、VIPS、ImageMagickなどのほとんどの画像処理アプリケーションでサポートされています。libtiffコーデックライブラリは、このような画像を完全に読み書きすることもできます。 それは誰もが使用するものですか? 米国議会図書館はまた、いくつかの情報を持っている:http://www.digitalpreservation.gov/formats/fdd/fdd000237.shtml 彼らは注意してください。 異なるアプリケーションによって作成されたPyramid TIFFファイルは、必ずしも同じ構造ではありません。特に、JHOVEによる分析とImageMagickの識別コマンドから判断すると、AdobeのPhotoshopとImage Magickは異なる内部TIFF構造を持つファイルを生成します。どちらの場合も、TIFFを処理できるほとんどのソフトウェアは、問題なくプライマリ(フルサイズ)TIFFを認識するようです。 それで、それらのフォーマットはどこかで標準化され、指定され、文書化されていますか?他のツールと互換性のある方法でそれらを生成できるツールを見つけるにはどうすればよいですか?概要/ピラミッドに地理空間タグがありますか、それともソフトウェアを使用して画像データにタグを作成できますか?

5
GalileoポジショニングをサポートするAndroidデバイスとアプリ?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 閉じた3年前。 欧州のガリレオ測位システムは2020年までに完全に配備される予定ですが、すでに配備されたガリレオ衛星を使用した最初の測位は2013年に行われました。また、ガリレオをサポートするハードウェアデバイスはすでに市販されています。 ただし、GalileoをサポートするAndroidスマートフォンは知りません。 Galileoポジショニングをサポートする既知の、既存の、または計画中のAndroidデバイスとAndroidアプリはありますか? 私が理解していることから、ガリレオのサポートはマイクロプロセッサ自体のサポートに依存している可能性があります。したがって、GalileoをサポートするAndroidデバイスに関する質問は、どのマイクロプロセッサシリーズがGalileoをサポートするかという質問に要約される可能性があります。

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