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

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

2
GDALでファイルジオデータベース(* .gdb)ラスターにアクセスしますか?
私はNumPyで処理するためにラスターレイヤーを配列に変換するツールを開発しています。理想的には、すべてをエクスポートせずに.gdbにパッケージ化されたラスターで作業できるようにしたいと思います(特に、ArcGISまたはArcPyを使用する必要がある場合) )。 これはOpenFileGDBドライバーで可能ですか? 私が言うことができることから、このドライバーはラスターレイヤーをベクターレイヤーと同じように扱うようです。これにより、レイヤーに関するいくつかのデータにアクセスできますが、ReadAsArray機能は利用できません。

4
qgis.coreをPythonアプリにインポートする方法は?
Pythonは初めてです。Window 7 64ビットのQGISライブラリを使用して、PythonでGISアプリを作成したいと思います。 私のやり方: QGIS 1.7.0をインストールする PYTHONPATH = D:\ Program Files(x86)\ Quantum GIS Wroclaw \ apps \ qgis \ pythonを設定しました D:\ Program Files(x86)\ Quantum GIS Wroclaw \ binのcmdからpythonを実行します import qgis.coreと入力すると、ポップアップウィンドウにテキストが表示されます コンピューターにqgis_core.dllが見つからないため、プログラムを開始できません。プログラムを再インストールして、この問題を修正してください そしてcmdのテキストは ImportError:DLLの読み込みに失敗しました:指定されたモジュールが見つかりませんでした。 誰か助けてもらえますか?
11 python  qgis 

2
pygeoprocessingまたはgdalを使用してシェープファイル内のラスター値を抽出します
グリッド全体を配列として読み取ることなく、gdalまたはpygeoprocessingを使用してポリゴン内のすべてのラスター値を取得する方法を知りたいです。 pygeoprocessingとgdalはゾーン統計を実行できますが、そのような関数から利用できるのはmin、max、mean、stdev、またはcountのみです。ゾーン統計は値にアクセスする必要があるため、同じ方法で値を抽出するのは簡単ですか? 私はここで非常によく似た質問を見つけました:(NumPyなしのOGRポイントの下でGDALラスターのピクセル値を取得していますか?)しかし、特定の "ポイント"に対してのみです。

2
RasterioまたはGDALを使用して、サブプロセスコマンドを使用せずに複数のバンドをスタックする
誰かがRasterioやGDALを使用して複数の.tifファイルを複数のバンドスタックにスタックする雄弁な方法を持っていますか? 私はgdal_merge.pyのようなサブプロセスコマンドの使用を避け、それを私のpythonスクリプトの一部として持つ方法を探しています。 RasterioとGDALの両方が.tifファイルを配列として読み取ることを知っていますが、それらの配列をスタックして、結果を別々のバンドとして書き出すにはどうすればよいですか?

1
Ubuntu OSでQgisをpycharmに接続する方法
qgisでpycharmを使い始めたばかりですが、両方を接続できませんでした。Pycharmは常に「接続待ち」の状態にあります。利用可能なほとんどのチュートリアルはウィンドウを指していますが、私はubuntuを使用しているため、pycharmでqgisコードをデバッグする方法を見つけることができませんでした。これが私のpycharmコードです: from shapely.geometry import * from shapely.wkt import loads import sys import pydevd pydevd.settrace('localhost', port=53100, stdoutToServer=True, stderrToServer=True) class Loader: def __init__(self, iface): """Initialize using the qgis.utils.iface object passed from the console. """ self.iface = iface 私はpycharmでブレークポイントを有効にし、pythonpathにpycharm-debug.eggも追加しました。ubuntuのqgis​​から構成するにはどうすればよいですか? pycharmは常にあります: Starting debug server at port 53100 Use the following code to connect to …
10 qgis  python  ubuntu  pycharm 

1
Pythonを使用して投影座標からシェープファイルを変換する
初心者はここでGISと格闘しています。私は、郡のウェブサイトの郡のウェブサイトにあるシェープファイルを使用して、ミルウォーキー市の病棟を作成しようとしています。私はいくつかの成功を収めてここのスレッドをフォローしています。私のコードは与えます: from pyproj import Proj, transform # wisconsing EPSG:32054 # epsg:4326 is for the entire world, wgs 84...not obvious inProj = Proj(init='epsg:32054') outProj = Proj(init='epsg:4326') x1,y1 = 2560131.496875003, 406816.434375003 x2,y2 = transform(inProj,outProj,x1,y1) print(x2,y2) 出力付き、 -65.70220967836329 43.08590211722421 問題はこれが間違っていることです。ミルウォーキーの経度/緯度は-87.863984および42.920816です。 次に、シェープファイル全体に対してプログラムでこれを行うにはどうすればよいですか。これをベースマップにプロットしたいと思います。このスレッドをフォローしようとすると、エラーコードが表示されます: with fiona.open("ward2012/ward.shp") as shp: ori = Proj(init='epsg:32054' ), dest= Proj(init='EPSG:4326',preserve_units=True) with fiona.open('ward2012/MKE_wards_lat_lon.shp', …

2
python gdal / ogrを使用して座標のリストからポリゴンシェープファイルを作成する方法
オープンソースのPythonツールを使用して、座標のリストからポリゴンシェープファイルを作成しようとしています。以下は、Python GDAL / OGRクックブックとこのGIS SEの回答から一緒にハッキングされた、これまでのところです。 同様の質問Pythonがあります:X、Y座標のリストからポリゴンシェープファイルを作成する方法?ただし、この質問はの使用に言及していpyshpます。ただし、gdal / ogr Pythonツールのみを使用してポリゴンシェープファイルを作成することに興味があります。 import ogr def create_polygon(coords): ring = ogr.Geometry(ogr.wkbLinearRing) for coord in coords: ring.AddPoint(coord[0], coord[1]) # Create polygon poly = ogr.Geometry(ogr.wkbPolygon) poly.AddGeometry(ring) return poly.ExportToWkt() def write_shapefile(poly, out_shp): """ /gis//a/52708/8104 """ # Now convert it to a shapefile with OGR driver = ogr.GetDriverByName('Esri Shapefile') …
10 python  gdal  polygon  ogr 

1
バーチアルゴリズムが期待どおりにクラスター化しない
私は、scipy-learn PythonパッケージのBirchアルゴリズムを使用して、10のセットで1つの小さな都市のポイントのセットをクラスター化しています。 私は次のコードを使用します: no = len(list_of_points)/10 brc = Birch(branching_factor=50, n_clusters=no, threshold=0.05,compute_labels=True) 私の考えでは、私は常に10ポイントのセットで終わります。今の場合、私はクラスターに650ポイントあり、n_clustersは65です。 しかし、私の問題は、しきい値が低すぎると、クラスターのアドレスが1つになり、非常に大きなしきい値(クラスターあたり40アドレス)になることです。 ここで何が悪いのですか?

1
QGISのPythonスクリプトを使用して、コンポーザーマップにキャンバスデータを入力し、構成をpngとしてエクスポートする方法
QGISでPythonスクリプトを作成し、いくつかのデータ(この例ではshp + tif)を取得し、(ファイルから)tamplate Map Composerを使用して、作成したコンポジションをpng画像にエクスポートします。 プログラミングの経験はほとんどありません(基本的なPythonの知識はありません)。いくつかのコードスニペットをググって、それらを一緒に動作させるようにしています。以前に回答したいくつかの質問からMap Composerコードを取得しました 。Pythonを使用して(表示レイアウトの何も変更せずに)Print / Map QGIS composerビューをPNG / PDFとして保存しますか? データとMap Composerテンプレート(単一のマップと凡例項目が定義されている)をなんとかロードしましたが、エクスポートpng画像には空のマップフレームがあります(フレーム内にベクター/ラスターデータはありません)。ただし、凡例のアイテムは問題ありません。 このコードを機能させるための助けはありますか? from qgis.core import * import qgis.utils from PyQt4 import QtCore, QtGui from qgis import core, gui # ADD VECTOR LAYER data_folder = "D:/QGIS/dane/" granica = "granica_SZ VI_UTM34.shp" granica_name = granica[0:-4] granica = data_folder …

2
Pythonスクリプトの実行後にQGISを終了するにはどうすればよいですか?
経由qgis --code myscript.pyでpythonスクリプトを実行し、すぐに終了したいと思います。私はを使用iface.actionExit().trigger()しています。これは、Pythonコンソールから実行したときにQGISを強制終了しますが、渡したスクリプトに入れたときは強制終了しません--code。 すぐに終了する正しい方法は何ですか?QGIS 2.0.1を実行しています アップデート:私も試しましたsys.exit()。QGISはそれをキャッチし、次のウィンドウをポップアップします。 An error occured during execution of following code: execfile('myscript.py') Traceback (most recent call last): File "", line 1, in File "myscript.py", line 14, in sys.exit() SystemExit 更新:os.kill(os.getpid(), 9)動作しますが、それは汚いハックであり、私はもっと良いものを探しています。
10 qgis  python  pyqgis 

1
QGISでPythonを使用して交差する線を交差させますか?
バスラインを表す一連のラインがあります。いくつかの線が重なっており、同じ道を進んでいます。 ノードを抽出することができます。 ただし、このような交差点のみを抽出することに興味があります。 これどうやってするの?QGISまたはPythonを使用した方法を探しています。 GDAL Pythonの交差法を試しましたが、基本的には頂点のみが返されます。 QGIS のLine Intersectionsメソッドは、2本の線が交差する場合に交差を返します。ただし、2本のバス路線が同じ道路のルートの一部を進んでいる場合、それらが合流する場所を示すことはできません。

2
python gdalを使用してGeoTiffから座標と対応するピクセル値を取得し、numpy配列として保存します
投影座標とそれらの座標の実際のピクセル値をGeoTiffファイルから取得し、それらをnumpy配列に保存するにはどうすればよいですか?arsenci020l.tifファイルがあり、その座標はメートル単位です。以下は、私が実行したgdalinfoの要約出力です。 ~$ gdalinfo arsenci020l.tif Driver: GTiff/GeoTIFF Files: arsenci020l.tif arsenci020l.tfw Size is 10366, 7273 Coordinate System is: PROJCS["Lambert Azimuthal Equal Area projection with arbitrary plane grid; projection center 100.0 degrees W, 45.0 degrees N", GEOGCS["WGS 84", DATUM["WGS_1984", SPHEROID["WGS 84",6378137,298.257223563, AUTHORITY["EPSG","7030"]], AUTHORITY["EPSG","6326"]], PRIMEM["Greenwich",0], UNIT["degree",0.0174532925199433], AUTHORITY["EPSG","4326"]], PROJECTION["Lambert_Azimuthal_Equal_Area"], PARAMETER["latitude_of_center",45], PARAMETER["longitude_of_center",-100], PARAMETER["false_easting",0], PARAMETER["false_northing",0], UNIT["metre",1, AUTHORITY["EPSG","9001"]]] …

1
GDALとPythonを使用してラスタをジオリファレンスしますか?
pythonおよびを使用してラスターを地理参照したいGDAL。私の現在のアプローチは、地上管制点の醜いリストを呼び出しgdal_translateてgdalwarp使用os.systemすることです。私はこれを内でネイティブに行う方法を本当に望んでいますpython。 これは私が使用している現在のプロセスです: import os os.system('gdal_translate -of GTiff -gcp 1251.92 414.538 -7.9164e+06 5.21094e+06 -gcp 865.827 107.699 -7.91651e+06 5.21104e+06 "inraster.tif" "outraster1.tif"') os.system('gdalwarp -r bilinear -tps -co COMPRESS=NONE "outraster2.tif" "outraster3.tif"') インポート後にアクセスできると述べている2012年からの以前の質問と回答gdal_translateがありますgdal。が廃止されているのか、それが間違っているのかfrom osgeo import gdalはわかりませんが、実行しgdal.gdal_translateてもオプションとして表示されません。 それが存在するかどうかはわかりませんが、ラスタをpythonicの方法で変換および再投影できたら嬉しいです。例えば: # translate gcp_points = [(1251.92, 414.538), (-7.9164e+06, 5.21094e+06)] gdal.gdal_translate(in_raster, gcp_points, out_raster1) # warp gdal.gdalwarp(out_raster1, out_raster2, 'bilinear', args*) そのようなアプローチは可能ですか?

5
ラスター差分:画像が同じ値を持っているかどうかを確認する方法?
指定された2つのラスターレイヤーのコンテンツが同じかどうかを確認する手段はありますか? 企業の共有ストレージボリュームに問題があります。非常に大きいため、フルバックアップを実行するには3日以上かかります。予備調査の結果、スペースを消費する最大の原因の1つは、オン/オフラスターであり、CCITT圧縮を使用して1ビットレイヤーとして保存する必要があることが判明しました。 このサンプル画像は現在2ビット(可能な3つの値)であり、LZW圧縮tiff、ファイルシステムに11 MBとして保存されています。1ビット(2つの可能な値)に変換し、CCITT Group 4圧縮を適用した後、1.3 MBまで削減しました。これは、ほぼ完全な節約です。 (これは実際には非常に行儀の良い市民です。他にも32ビット浮動小数点数として格納されているものがあります!) これは素晴らしいニュースです!ただし、これを適用する画像は約7,000枚あります。それらを圧縮するスクリプトを書くのは簡単です。 for old_img in [list of images]: convert_to_1bit_and_compress(old_img) remove(old_img) replace_with_new(old_img, new_img) ...しかし、重要なテストが欠落しています:新しく圧縮されたバージョンはコンテンツ同一ですか? if raster_diff(old_img, new_img) == "Identical": remove(old_img) rename(new_img, old_img) Image-AのコンテンツをImage-Bのコンテンツと同じように自動的に(非)証明できるツールまたは方法はありますか? 私はArcGIS 10.2とQGISにアクセスできますが、上書きする前にこれらのすべての画像を手動で検査して正確性を確認する必要をなくすことができるもの以外にもほとんど何でも開いています。それは誤って変換するために、恐ろしいことや、実際に画像上書きしてしまいましたより多くのそれの値のオン/オフよりも持っているし。ほとんどの場合、収集と生成に数千ドルの費用がかかります。 更新:最大の違反者は、1辺が最大100,000pxの32ビットフロートであるため、圧縮されていない状態で最大30GBです。

2
ArcGIS ModelBuilderはExcelファイルを開いて手動で編集し、それらの編集をモデルにフィードバックできますか?
私は、ArcGIS ModelBuilderを使用してモデルを作成し、最初にいくつかのジオプロセシングタスクを実行してから、Excelテーブルをそれらのジオプロセスの結果に結合することを任されています。ただし、ユーザーが編集を保存してファイルを閉じる前に、ユーザーが手動で編集できるように、モデルはまずExcelファイルを実際に開く必要があります。その後、モデルが他の多くのジオプロセシングタスクを続行する前に、モデルがこのExcelファイルをデータセット(まだモデルの一部)の属性テーブルに結合することが期待されます。 ポイントの説明に役立つ高レベルの回路図の概要を以下に含めます(これは、最初はあまり意味がないかもしれませんが理解しています)。 したがって、モデルが実行され、いくつかのジオプロセシングタスクを完了し、一時停止してExcelファイルを開き、ユーザーが編集して保存して閉じるのを待ってから、そのExcelファイルを属性テーブルに結合し、数値を実行します。その他のジオプロセシングタスク。 これには、1つまたは2つのPythonスクリプトをモデルに組み込む必要があると想像する必要があります。現在、このコンセプトが実際に可能かどうかを知りたいだけです。

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