地理情報システム

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

1
pyqgisでベクターレイヤーを反復処理するとき、機能が選択されているかどうかを確認するにはどうすればよいですか?
次のコード(pyqgis クックブックの例から要約)を使用してベクターレイヤーを反復処理しているときに、機能が選択されているかどうかを確認する方法はありますか? provider = vlayer.dataProvider() feat = QgsFeature() allAttrs = provider.attributeIndexes() provider.select(allAttrs) while provider.nextFeature(feat): geom = feat.geometry() attrs = feat.attributeMap() for (k,attr) in attrs.iteritems(): print "%d: %s" % (k, attr.toString()) または、選択した機能のリストをを使用して作成することもできますが、vlayer.selectedFeatures()各機能を直接確認する方法があることを期待しています。
10 qgis  python  pyqgis  select 

3
PostgreSQLデータベースから空間テーブルのみを選択しますか?
私のデータベースには空間テーブルと非空間テーブルの両方が含まれていますが、クエリから空間テーブルのみを取得します。 空間テーブルのみを選択するための提案。'the_geom'は、空間テーブルのジオメトリ列です。 それ以外の場合、列名からテーブルを選択することは可能ですか。 私はこのコードで試しましたselect relname from pg_stat_user_tables WHERE schemaname='public'。しかし、これからすべてのテーブル名を取得します。

1
不確実性を伴う方位角データを視覚化する方法は?
各点で不確実性の範囲が異なる方位角データを示す図を作成しようとしています。1991年の論文からのこのオールドスクールフィギュアは、私が目指している「ボウタイプロット」のアイデアを捉えています。 同様の図を作成する方法について何か提案はありますか?私はGISの初心者ですが、大学を通じてArcGISにアクセスできます。私のArcの経験は地質図の作成に限定されているので、あまりエキゾチックなことをする必要はありませんでした。 ArcとQGISのシンボルオプションをいろいろ調べてみましたが、その仕事をすると思われる設定は見ていません。これは、蝶ネクタイの形をしたシンボルを方位角で回転するだけの問題ではないことに注意してください。各「ボウタイ」の角度範囲は異なる必要があります。 私のPythonスキルは「強い中級」、Rのスキルは「中級」と評価しているので、必要に応じてmatplotlib、mpl_toolkits.basemapまたは類似のライブラリと一緒に何かをハッキングするのを嫌いません。しかし、聞いたことのないGISランドからのより簡単な解決策がある場合に備えて、その道を進む前にここでアドバイスを求めたいと思いました。

2
GDAL / OGR PythonバインディングでPostgreSQL / PostGISエラーをキャッチする方法は?
クエリが失敗した後にOGRでPostgreSQL出力エラーメッセージをキャッチすることは可能ですか? 例えば conn.ExecuteSQL('SELECT * FROM non_existing_table;') Postgresではこれはエラーメッセージを返します: "Error: relation 'non_existing_table' does not exist." ogrでは標準を取得します。 "Error: current transaction is aborted, commands ignored until end of transaction block" Postgresのエラーメッセージをキャッチ/解析できれば、おまけです。私はSWIG / CPLについて読んだことを考えると、これは少し長いショットだと思いますが、誰かがアイデアを持っているかどうかを確認するように頼む価値があります。理想的にはこれはPythonで行われますが、C / C ++コメントも使用します。 ありがとう。


3
割合でPostGISジオメトリを拡大する
PostGISジオメトリの周りにバッファを追加する方法を探していますが、バッファのサイズはジオメトリのサイズに依存するはずです。つまり、各ジオメトリを、たとえば5%拡大する必要があります。 交差するジオメトリを探しているのですが、考慮に入れたいジオメトリごとに最大5%のエラーが発生する可能性があります。 誰もがこれについて最善の方法を知っていますか? データベースには100万行あるので、かなり高速にしたいと思います。

4
Pythonを使用してラスターから緯度/経度で標高を取得していますか?
ArcGISを使用せずにラスターから標高データを取得した経験があり、情報をpython listまたはdict? タプルのリストとしてXYデータを取得します。 xy34 =[perp_obj[j].CalcPnts(float(i.dist), orientation) for j in range (len(perp_obj))] リストをループするか、それを関数またはクラスメソッドに渡して、xyペアの対応する高度を取得します。 私はこのトピックについていくつかの調査を行い、gdal APIは有望に聞こえます。誰もが私に物事、落とし穴、サンプルコードに取り組む方法をアドバイスできますか? 作業中のマシンでシステムパス変数を編集できないため、GDALはオプションではありません。 誰かが別のアプローチについて知っていますか?

3
テレメトリデータを与えられた航空写真をオルソ補正および地理参照するためのオープンソース(コマンドライン/ API)メソッドは何ですか?
どうすれば画像を取得して、オープンソースソフトウェアで自動的にオルソ補正できますか?各画像に関連する情報は次のとおりです。 カメラスペック カメラの緯度、経度、高度 カメラの向き:UAVを下向きにして、ロールピッチとヨーを指定 geotiffファイルを出力し、うまくいけば画像をつなぎ合わせて地図を作成したいと思います。


2
ゼロからマルチスペクトル画像を作成する
いくつかのテストを行うために、Ceroからマルチスペクトル画像を作成したいと考えています。塩とコショウのノイズが乗った5つの完全に均一なバンド、または中央に異なる値の2乗のような本当にシンプルなもの。明らかに、これは行列のスタック、つまり多次元配列であり、生成は非常に簡単です。私はpythonとgdalを使用してこれを実現したいのですが、gdalはかなり気密性が高く、コツがつかめません。geotiffファイルを作成するのが理想的です。誰かがこれを手伝ってくれませんか?いくつかのポインタまたは非常に穏やかなgdalチュートリアル?皆さん、ありがとうございました。
10 python  raster  gdal  imagery 

2
自分で計算せずに地磁気座標を地理座標に変換するにはどうすればよいですか?
地磁気座標のデータがあります。つまり、緯度と経度ですが、地理的な北極ではなく、カナダの磁気北極を参照しています。ご想像のとおり、他の座標系にある他のデータと照合します。 (データはオーロラオーバルの計算として作成されたものです。つまり、それらは地磁気として作成されたものであり、原則として私が相談できる地理的な情報源はありません。) データはPostGISに保存されます。 これを行う簡単な方法は、地磁気座標系のEPSGコードを見つけて、そのコードでデータにタグを付けることです。その後、すべてが魔法のようにそのときに必要なものに再投影されます。しかし、地磁気または磁気のいずれかを含むEPSGコードをspatialreference.orgで見つけることができません。さまざまなGoogle検索でも何も見つかりません。 必要な精度のレベルについては、異なる北極を持つように変更された緯度/経度座標系(たとえば、WGS84)で十分です。したがって、そのような座標系を定義してPostGISにロードする簡単な方法があれば、それも問題ありません。 明確化 たとえば、地磁気座標から地理座標に変換するのではなく、単にUTM 15NからWGS84に変換したいとします。UTMオブジェクトを変更せずにPostGISに保存し、EPSGコード26915でタグ付けすることができます。その後、後でクエリを実行すると、PostGISに「結果をEPSGコード4326で返してください」と言うことができ、PostGISは自動的にWGS84に変換します。 同様に、地磁気データに何らかの座標系をタグ付けし、reproject()関数を手動で呼び出さなくても、PostGISにバックグラウンドでの再投影を実行させたいと思います。

5
道路地図の上にマーカーと境界ボックスを追加できるウェブサイトはありますか?
マーカー(緯度/経度)と境界ボックス(最小/最大緯度/経度)を表示し、Googleマップ(またはOSM、Bingなど)の上にオーバーレイ表示できるウェブサイトはありますか?私は実際にこのために自分のWebページを作成するつもりはありません...誰かが一般的な使用例やデモのためにこのようなものを実装し、それがどこかでオンラインであることを望んでいます。
10 extents 

2
GeoPyジオコーダーから個々の住所コンポーネント(市、州など)を返す方法は?
GeoPyを使用して住所を緯度、経度にジオコーディングしています。また、各住所の項目別住所コンポーネント(ストリート、市、州、郵便番号)を抽出したいと思います。 GeoPyはアドレスを含む文字列を返しますが、各コンポーネントを分離する信頼できる方法が見つかりません。例えば: {street: '123 Main Street', city: 'Los Angeles', state: 'CA', zip: 90034, country: 'USA'} GoogleジオコーディングAPIはこれらの個々のコンポーネントを返します...これらをGeoPyから取得する方法はありますか?(または別のジオコーディングツール?)

1
PostGISは列をマルチポリゴンとポリゴンに制限できますか?
現在PostGIS 1.5.3を使用していますが、まもなく2.0にアップグレードします。したがって、次の質問に関連する2つのバージョンの違いに注意してください。 AddGeometryColumnを呼び出すときにPostGISが生成する制約を手動で変更せずに、ポリゴンとマルチポリゴンの挿入を許可し、他のジオメトリタイプの挿入を制限するPostGISジオメトリタイプの列を作成することは可能ですか? これを行わない理由はありますか?特に、PostGISは、制約を手動で変更することで悪影響を与える可能性のあるメタデータを格納しますか?(私はPostGISに非常に慣れていないので、メタデータを格納するPostGISの考えがばかげている場合は許してください。) すべてにマルチポリゴンを使用することで生じるオーバーヘッドはどのくらい重要ですか? 挿入する前にST_Multiを使用してポリゴンをマルチポリゴンに変換することはすでに承知しているので、それが不可能な場合や適切でない場合は、そうします。
10 postgis 

5
QGIS Pythonコンソールの外で六分儀アルゴリズムを実行する方法は?
OSGeo4Wディストリビューションのスタンドアロンpythonからsextanteを実行する方法を見つけようとするのはちょっと行き詰まっています。これを実行したいのは、モデルビルダーからモデルをテストするたびにダイアログにパラメーターを入力するのが面倒だったからです。 だからここにそれを呼ぶPythonスクリプトがあります test.py # as per http://qgis.org/pyqgis-cookbook/intro.html#using-pyqgis-in-custom-application from qgis.core import * # supply path to where is your qgis installed QgsApplication.setPrefixPath("C:/OSGeo4W/apps/qgis", True) # load providers QgsApplication.initQgis() from sextante.core.Sextante import Sextante Sextante.alglist() Sextante.alghelp("saga:slopeaspectcurvature") バッチファイルから呼び出していること @echo off set OSGEO4W_ROOT=C:\OSGeo4W set PYTHONPATH=%OSGEO4W_ROOT%\apps\qgis\python;%OSGEO4W_ROOT%\apps\qgis\python\plugins;%HOME%/.qgis/python/plugins set PATH=%OSGEO4W_ROOT%\bin;%OSGEO4W_ROOT%\apps\qgis\bin;%OSGEO4W_ROOT%\apps\qgis\plugins python test.py 問題は、Algorithm not foundQGIS pythonコンソールから意味のある出力が得られるのにそれが言うことです。 何かを初期化するのに欠けているような気がします。しかし、何ですか? GUIを使用して大量のパラメーターを入力する以外に、モデルをテストするより良い方法はありますか? アップデート7/2/2012 …

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