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

Pythonは、多くのGISプログラムで使用されているオープンソースのインタプリタ型プログラミング言語です。

2
Pythonで複数のラスター値に透明度を設定する方法
次のコードを使用すると、ラスター値0に100%の透明度を設定できます。 map=None for lyr in QgsMapLayerRegistry.instance().mapLayers().values(): if lyr.name() == "some_layer": map= lyr tr=None tr=QgsRasterTransparency() tr.initializeTransparentPixelList(0) map.renderer().setRasterTransparency(tr) map.triggerRepaint() 2つの値(0と8)を100%透明に定義するにはどうすればよいですか? ラスター値8で最後のブロックのコマンドを繰り返すと、レイヤーの透明度から最初の値(0)が削除されます。

1
ENVI(クラシック)ROIのバイナリ形式は何ですか?
私は、ENVI / IDLユーザーでいっぱいのオフィスのPythonistです。ギャップを埋めるためのツールをいくつか作成しましたが、大きな障害の1つはENVIクラシック.roiファイルであり、同僚がよく使用します。 テキストベースの形式は解析が容易なので、ENVI 5 ROIをPythonに簡単にインポートできます。ただし、グループ内のデータ交換の大部分を構成するENVIクラシック.roiファイルのバイナリ形式については、あまり意味がありません。これらのファイルを読み書きするコードはありますか、それについてどう考えますか? ENVI 5をやり取りするたびに起動するのは少し面倒です-可能であれば、ソースで問題を解決したいです。

4
QGISを使用して500個のCSVファイルを効率的かつ簡単に再投影する方法は?
私の質問は、このサイトの古い質問と似ています。 私はqgisにインポートする(そして変換する)多くのCSVファイル(geo座標)を持っていますが、それを行うには通常の方法は最適ではありません(長すぎます)。 私はほぼ500のCSVファイル(wgs84座標)を持っていますが、これは私がやりたいことです: すべてのCSVファイルを一度にQGISにインポートする それらを投影する それらをCSVファイルに(再び)エクスポートしますが、座標が異なります(UTM33Nへの変換) 私はPythonコンソールの使用方法を理解しようとしていますが、先に進みません:( 誰も私にステップバイステップでそれを達成する方法を説明できますか?
11 qgis  python  pyqgis  export  csv 

1
PythonでのGDALを使用したジオティフの読み取り、変更、および書き込み
Python GDALバインディングとnumpyを使用して、リモートセンシング画像処理のロープを学ぼうとしています。最初の試みとして、Landsat8ジオティフファイルを読み取り、簡単な操作を行い、結果を新しいファイルに書き込みます。以下のコードは正常に動作するように見えますが、操作されたラスターではなく、元のラスターが出力ファイルにダンプされます。 コメントや提案は歓迎しますが、特に、操作されたラスターが結果に表示されない理由についてのメモです。 import os import gdal gdal.AllRegister() file = "c:\~\LC81980242015071LGN00.tiff" (fileRoot, fileExt) = os.path.splitext(file) outFileName = fileRoot + "_mod" + fileExt ds = gdal.Open(file) band = ds.GetRasterBand(1) arr = band.ReadAsArray() [cols, rows] = arr.shape arr_min = arr.Min() arr_max = arr.Max() arr_mean = int(arr.mean()) arr_out = numpy.where((arr < arr_mean), 10000, …

3
Python、GDAL、およびScikit-Imageを使用した画像処理
私は処理に苦労しており、できればここで解決できることを願っています。 林業に適用されるリモートセンシング、特にLiDARデータを使用して作業しています。アイデアは、ツリートップの検出にScikit-imageを使用することです。私はPythonに慣れていないので、次のことをするために大きな個人的な勝利を考えました。 CHMをインポートします(matplotlibを使用)。 ガウスフィルターを実行します(scikit-imageパッケージを使用)。 最大フィルターを実行します(scikit-imageパッケージを使用)。 peak_local_maxを実行します(scikit-imageパッケージを使用)。 ローカル最大値(matplotlibを使用)でCHMを表示します。 今私の問題。matplotでインポートすると、画像の地理座標が失われます。したがって、私が持っている座標は、基本的な画像座標(つまり、250,312)です。必要なのは、画像内の極大ドット(画像内の赤いドット)の下にあるピクセルの値を取得することです。ここで、フォーラムで同じこと(NumPyを使用せずにOGRポイントの下でGDALラスターのピクセル値を取得しますか?)私の場合、ポイントはscikit-imageで計算されました(各ツリーの頂点の座標を持つ配列です)。そのため、シェープファイルはありません。 結論として、私が最後に望むのは、地理座標での各極大点の座標を含むtxtファイルです。例えば: 525412 62980123 1150 ...


2
shapelyでpostgisジオメトリを読み取る
私はipythonノートブックでgeopandasとshapelyを使用して小規模なワークフローを実行し、シェープファイルから、時にはpostgis(より高価な処理が実行される)から大量の地理空間データを引き出します。 次に、を使用してpostgisテーブルをpythonにプルします。sqlalchemy途中でジオメトリをWKTに変換し、次のようにします。 sql = """ SELECT ST_AsText(ST_Transform(the_geom,4326)) as newgeom,* FROM public.parcels2010_small limit 5; """ parcels = pd.read_sql(sql, engine) parcels +----+---------------------------------------------------+---------------------------------------------------+-----------+-------------+ | id | newgeom | the_geom | parcel_id | osm_node_id | +----+---------------------------------------------------+---------------------------------------------------+-----------+-------------+ | 0 | MULTIPOLYGON(((-122.991093691444 38.4878691106... | 01060000209C0E00000100000001030000000100000097... | 1805792 | 66237 | +----+---------------------------------------------------+---------------------------------------------------+-----------+-------------+ | 1 | MULTIPOLYGON(((-122.444576448624 37.7346386006... …


2
2つのポイントからShapely LineStringを作成する方法
2つのポイントがあり、そこから直線LineStringオブジェクトを作成する場合: from shapely.geometry import Point, LineString A = Point(0,0) B = Point(1,1) 状態に関するShapelyマニュアルLineString: Pointインスタンスのシーケンスは、有効なコンストラクターパラメーターではありません。A LineStringはポイントで記述されますが、Pointインスタンスで構成されていません。 だから、2つのポイントAとBがあるAB場合、現在の「最良の」推測よりも短い/良い/簡単な線を作成する方法があります... AB = LineString(tuple(A.coords) + tuple(B.coords)) ...かなり複雑に見えます。もっと簡単な方法はありますか? 更新 本日リリースされたShapely 1.3.2では、マニュアルの上記の記述は正しくありません。だからこれから AB = LineString([A, B]) 動作します!
11 python  shapely 

3
PythonアドインとArcGIS for Desktopの.NETアドインの長所と短所は何ですか?
私はESRI .NETヘルプで見つけました: Python すべてのArcGIS Desktopアプリケーションには、Pythonと呼ばれる組み込みスクリプト言語が含まれています。ArcGISの多くの領域、特にジオプロセシングは、単純化されたPythonアプリケーションプログラミングインターフェイス(API)を介してアクセスできるため、一般的なタスクを簡単に作成および自動化できます。Pythonスクリプトは簡単に共有でき、外部の開発環境なしで作成できます。科学、工学、数学などの分野に焦点を当てたさまざまなパブリックドメインPythonモジュールがあります。すべての長所を備えたPythonは、すべてのプログラミングタスクに適しているわけではありません。カバレッジは改善されていますが、ArcGISのすべての領域が現在Pythonに公開されているわけではありません。さらに、Pythonでの編集およびデバッグエクスペリエンスは、Visual Studioなどの商用開発環境に含まれているものほど洗練されていたり、使いやすいものではありません。最後に、ArcGISイベントをリッスンして応答したり、COMインターフェイスを実装したり、Pythonを使用してESRIの多くのCOM拡張ポイントにプラグインすることはできません。 ArcGIS Desktopのヘルプ: ArcGIS 10.1は、デスクトップアドインを作成するための言語のリストにPythonを導入し、デスクトップ機能を拡張する簡単なソリューションを提供します。Pythonアドインの開発を簡素化するには、Pythonアドインウィザードをダウンロードして使用し、カスタマイズの種類を宣言する必要があります。ウィザードは、アドインが機能するために必要なすべての必要なファイルを生成します。 Pythonと.NETアドインの機能が同じ場合 Pythonで.NETと同じことができるということですか??

3
Pythonを使用して複数の重なり合うラスターのモザイク化プロセスを改善するヒストグラムマッチング?
Pythonを使用してヒストグラムマッチングを実行し、複数の重複するラスターのモザイク化プロセスを改善しようとしています。私は次の場所にあるコードに基づいています: http://www.idlcoyote.com/ip_tips/histomatch.html これまで、隣接する2つのラスターの重複領域をクリップし、配列を平坦化することができました。 したがって、同じ長さの2つの1次元配列があります。 次に、上記のWebサイトで見つかったコードに基づいて、次のコードを作成しました。示されているコードでは、gdとbdの画像を2つの非常に小さなデータセットに置き換えています。 import matplotlib.pyplot as plt from scipy.interpolate import interp1d bins = range(0,100, 10) gd_hist = [1,2,3,4,5,4,3,2,1] bd_hist = [2,4,6,8,10,8,6,4,2] nPixels = len(gd_hist) # here we are creating the cumulative distribution frequency for the bad image cdf_bd = [] for k in range(0, len(bins)-1): b = sum(bd_hist[:k]) …


1
QGISでPythonセッションを保存する方法は?
QGISのpythonコンソールで多くのスクリプトを実行した後、10を超える辞書とリストがあり、さらに分析するためにこれらが必要です。これらすべての変数で、Pythonセッションを保存する方法はありますか? 一般に、私の質問は、変数をPythonコンソールから何かにエクスポートして、将来再びロードできるようにする方法ですか? ありがとう
11 qgis  python  pyqgis 

1
QThreadとPyQGISを使用してレスポンシブGUIを維持するにはどうすればよいですか
QGIS 1.8のPythonプラグインとしていくつかのバッチ処理ツールを開発しています。 ツールの実行中にGUIが応答しなくなることがわかりました。 一般的な知恵は、作業はワーカースレッドで行われ、ステータス/完了情報がシグナルとしてGUIに返されることです。 私は川岸のドキュメントを読んで、doGeometry.py(ftoolsからの実用的な実装)のソースを研究しました。 これらのソースを使用して、確立されたコードベースに変更を加える前にこの機能を調べるために、簡単な実装を構築しようとしました。 全体的な構造は、プラグインメニューのエントリであり、開始ボタンと停止ボタンのあるダイアログを開きます。ボタンは100までカウントするスレッドを制御し、各番号のシグナルをGUIに送り返します。GUIは各信号を受信し、メッセージログとウィンドウタイトルの両方を含む文字列を送信します。 この実装のコードは次のとおりです。 from PyQt4.QtCore import * from PyQt4.QtGui import * from qgis.core import * class ThreadTest: def __init__(self, iface): self.iface = iface def initGui(self): self.action = QAction( u"ThreadTest", self.iface.mainWindow()) self.action.triggered.connect(self.run) self.iface.addPluginToMenu(u"&ThreadTest", self.action) def unload(self): self.iface.removePluginMenu(u"&ThreadTest",self.action) def run(self): BusyDialog(self.iface.mainWindow()) class BusyDialog(QDialog): def __init__(self, parent): QDialog.__init__(self, …

1
PythonコードからQGisVectorLayerを非表示/表示する方法は?
レイヤーを作成したら、どのように非表示/表示できますか?QGISでチェックボックスを選択することにより、特定のレイヤーのレンダリングを有効/無効にすることができますが、Pythonコードからプログラムで行う必要があります。 Pythonコードからラベルを表示/非表示(削除しない)にするにはどうすればよいですか? 私は次のようなものを探しています: aLayer = self.addVectorLayer(uri.uri(), layerName, self.dbConn.getProviderName()) aLayer.Hide() .... aLayer.Show()

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