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

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

2
ogr pythonを使用してベクターシェープファイルをバッファーする方法
http://www.naturalearthdata.com/downloads/50m-cultural-vectors/から国と居住場所のデータセットを使用してPythonでOGRを使用する方法を学習しようとしています。フィルターとバッファーを使用して、指定された国の指定されたバッファー(ne_50m_admin_0_countries.shpのフィーチャクラスADMINからフィルター)内のポイント(ne_50m_populated_places.shp)を見つけようとしています。問題は、buffer()に使用するユニットが理解できないことです。スクリプトでは、スクリプトが機能するかどうかをテストするために、任意の値10を使用しました。スクリプトは実行されますが、名前が付けられた国「アンゴラ」のカリブ地域周辺の人口の多い場所を返します。理想的には、バッファ距離を指定できるようにしたいのですが(たとえば500km)、buffer()がwgs84 lat / long形式であるcountrys.shpの単位を使用していることがわかっているので、これを行う方法を理解できません。これを達成するための方法についてのアドバイスをいただければ幸いです。 # import modules import ogr, os, sys ## data source os.chdir('C:/data/naturalearth/50m_cultural') # get the shapefile driver driver = ogr.GetDriverByName('ESRI Shapefile') # open ne_50m_admin_0_countries.shp and get the layer admin = driver.Open('ne_50m_admin_0_countries.shp') if admin is None: print 'Could not open ne_50m_admin_0_countries.shp' sys.exit(1) adminLayer = admin.GetLayer() # open ne_50m_populated_places.shp …
10 python  ogr  buffer 

1
QGISを仮想環境にインストールしますか?
QGISをインストールしたいのですが。私はデフォルトでPython 2.5xに設定されているシステムを使用していて、自作のpython 3.7xをダウンロードしました。このコードで仮想環境を作成しました。 brew install pyenv brew install pyenv-virtualenv exec $SHELL eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)" pyenv activate my-virtualenv 私は、Python 3.6とモジュールをインストールしplotly、numpy、pygments、psycopg2、owslib、とPyYaml。 それらのそれぞれは、仮想環境に限定されています。パッケージをインストールして、特定の環境からのみPythonをロードして使用する方法を教えてください。

1
GeoPandasでプロットのマーカーサイズを変更する
ポイントといくつかの関連データを含むgeodataframeがあります。geopandasを使用して地図上にプロットし、ポイントのサイズをgeodataframeの列の1つに対応させます。 これまでのところ、私は次のコードを持っています: base = world.plot(color='white', figsize=(20,10)) geo_df.plot(ax=base, marker='.', color='red', markersize = geo_df['Pop_2005']) plt.xlim([-85, -60]) plt.ylim([-5, 12.5]); しかし、次のエラーが発生します。 TypeError: cannot convert the series to <class 'float'> 何か案は?

1
Pythonスクリプトにgdal_mergeを呼び出す
私はpythonを初めて使用し、(スパイダー)pythonスクリプトでgdal_mergeを使用する方法に頭を悩ませています。私はWindows 10、Python 3.6を使用しており、osgeo4wからgdalツールをインストールしています。他の多くの投稿でこの問題について説明していますが、この問題の解決に役立つものはありません。 cmdからgdalモジュールを呼び出すと、それは魅力のように機能します: python "C:\OSGeo4W64\bin\gdal_merge.py" -o merged.tif input1.tif input2.tif ただし、Pythonスクリプト(スパイダー)では正しく機能しません。 最初のアプローチは出力を生成しますが、正しい名前ではありません。私が要求すると、「merged.tif」ファイルではなく「out.tif」ファイルが生成されます。 import sys sys.path.append('C:\\OSGeo4W64\\bin') import gdal_merge as gm gm.main(['-o', 'merged.tif', 'N00W078.tif', 'N00W079.tif']) 2番目のアプローチは、単に出力を生成しません。 import subprocess merge_command = ["python", "C:\OSGeo4W64\bin\gdal_merge.py", "-o", "merged.tif", "input1.tif", "input2.tif"] subprocess.call(merge_command,shell=True) この問題を解決する方法についての考えはありますか?


1
Python GDAL:ogr.openまたはdriver.open?
私はGDALとPythonを使用してシェープファイルを操作しています。ソースファイルを開くとき、必要なシェープファイルを使用してドライバーの「Open」メソッドを呼び出す前に、まずドライバーを「ESRIシェープファイル」に設定しました。 私はこれで問題はありませんでした。ただし、Driverインスタンスのメソッド「Open」とogr関数「Open」の違いは何なのか気になります。たとえば、次の違いは何ですか。 driver = ogr.GetDriverByName("ESRI Shapefile") source = driver.Open(“O:\myshp.shp”,0) そして source = ogr.Open(“O:\myshp.shp”,0) どちらを使用するかという特定のシナリオはありますか?
10 python  gdal 


2
PythonからArcObjectsを使用するためのガイドライン
はるかに、PythonからArcObjectsにアクセスしますか?は、GIS Stack Exchangeに関する私の最もよく読まれ、参照されているQ&Aです。その成功にもかかわらず、それは実際の使用に関してはおそらく私の最も弱い領域の1つです。その貧弱な表示​​の大部分は、ArcObjectsのドキュメントを読んで理解する能力が低いことに起因しています。 それで、与えられたタスクに対して、.net / c ++ / java / ...のドキュメントと例を同等のpythonに翻訳するためのガイドラインは何ですか?(そのためにはどの言語が最適ですか?)そして、最初に最適なインデックスまたはランディングページは何ですか?どのようなことに焦点を当てるべきであり、おそらく少なくとも同じくらい重要なのに、自由に無視できるものは何ですか? あなたの聴衆は少なくともいくらかpythonの読み書き能力があり、他の開発言語では読み書きができないと仮定します。最初のアイデアや研究からPythonの結果の動作まで、小さなコーディング演習を行ってください。

3
Pythonコマンドを介してプロジェクトCRSを設定することは可能ですか?
Pythonコマンドを使用して、QGISでプロジェクトのプロジェクトCRSを設定することはできますか? 私の場合、ユーザーはQGISを開き、作成したプラグインを起動すると、このプラグインがepsgコード31467(Gauss Krueger Zone 3)を持つ空間データをロードします。残念ながら、QGISのデフォルトのCRSはWGS84なので、単位とスケールで問題が発生します。 私の最初のアプローチはこのコードを使用することでした: my_crs = core.QgsCoordinateReferenceSystem(31467, core.QgsCoordinateReferenceSystem.EpsgCrsId) self.iface.mapCanvas().mapRenderer().setDestinationCrs(my_crs) この変更により(データが既に視覚化された後)、CRSがGauss Krueger Zone 3に変更されます。少なくとも、右下隅のespgコードが変更されました。単位はまだ度数であり、スケールは完全に間違っています。GaussKrügerでの1:5000はWGS 84で1:528822376です(私の場合はQGIS)。プロパティでプロジェクトCRSを手動で設定した後、プロジェクトcrsは実際にはGK3であり、スケールと単位は正しいです。 だから私の質問は、プロジェクトCRSを私が行った方法とは別の方法で設定できますか?手動の方法は避けたい。 次のコードを追加して問題を解決しました: qgis.utils.iface.mapCanvas().setMapUnits(0) qgis.utils.iface.mapCanvas().refresh() これにより、単位がメートルに設定され、スケールが自動的に更新されます。0はメートル、1は足、2は度、3は不明を表します。
10 qgis  python 

3
Pythonを使用してQGISで選択した1つのフィーチャのデータを取得しますか?
PythonとQGISに関する問題/質問があります。Pythonを使用してQGISで選択した1つのフィーチャのデータを取得することは可能ですか? 私の例では、都市計画のためのいくつかの区画を示すレイヤーがあります。パーセルの1つを選択した場合、このパーセルのデータを取得します。このデータはpythonスクリプトによって読み取られ、自動的に作成されたPDFファイルに追加されます。最後の手順は簡単ですが、この選択した機能からデータを取得できませんでした。 アクティブレイヤーからデータを取得することは可能ですが、このレイヤーの選択した1つのフィーチャからデータを取得することもできますか? あなたが私を助けることができることを願っています。よろしく
10 qgis  python  pyqgis 

5
プログラムでArcGISのメタデータを編集/更新しますか?
ArcGIS 10でメタデータをプログラムで更新することに成功した人はいますか?Python / arcpyの使用を検討しますが、ArcObjects(C#またはPython / comtypes)も可能です。 FGDCとArcGIS-ISO形式のメタデータの両方を更新する必要があります。使用するソリューションでは、競合している場合を除いて、既存の(非空白の)要素と追加された要素を保持できる必要があります。追加された要素は既存の要素を上書きします。

1
GDALを使用してPythonでスクリプトを再投影する
GDALで多くの問題を抱えています。ドキュメントが欠けていることもありますが、Pythonではほとんどサポートされていないようです。とにかく、これは次のように機能するバッチ再プロジェクトスクリプトです。 source_file = gdal.Open(filepath.encode("ascii")) source_wkt = source_file.GetProjectionRef() source_srs = osr.SpatialReference() source_srs.ImportFromWkt(source_wkt) reproj_file = gdal.AutoCreateWarpedVRT(source_file, source_wkt, dest_wkt) gdal.ReprojectImage(source_file, reproj_file, source_wkt, dest_wkt) reproj_attributes = reproj_file.GetGeoTransform() driver = gdal.GetDriverByName("GTiff") dest_file = driver.CreateCopy(outputpath.encode("ascii"), reproj_file, 0) dest_srsとdes_wktの部分はこのコードチャンクでは定義されていませんが、ループの外にあります(一度だけ定義する必要があるため)。それは一度動作するようです、私はそれから1つの見栄えの良いtifを得ることができ、それから私に「エラー6 WriteBlock()はサポートされていません」とpythonがクラッシュします。それらはすべて、同じ基本データを使用して同じ方法で作成された(時間だけが異なる)すべてのGeoTIFFです。 また、(GCSからPCSへの)再投影の性質により、AutoCreateWarpedVRTは多くの空白スペースを作成する傾向がありますが、値0を与えます。これは、実際のデータ値である可能性があるため問題です。代わりにnodata値を-99に設定する方法はありますか?

1
MODISスワスデータから特定の緯度、経度の値を抽出する
私は、地球上の特定の場所、つまり天文台での時間の関数として、可降水量(PWV)、オゾン、およびエアロゾルの量を測定しようとしています。これを行うために、私がmodapsclient興味のある特定の緯度と経度をカバーする1日2回のMODIS AquaおよびTerra MYDATML2およびMODATML2製品をダウンロードするPythonコードをすでに使用しています。 よくわからないのは、MODISデータが取得された時間や、天文台の特定の緯度と経度の位置のPWVなど、必要な特定の量を抽出して時系列の値にする方法です。MYDATML2製品は、の2次元緯度と経度のグリッドを含んでいるように見えるCell_Along_Swath_5kmとCell_Across_Swath_5km私は推測するので、これは作るの帯タイルまたはグリッドデータとは対照的に、データを?私のような希望の数量Precipitable_Water_Infrared_ClearSkyもが反対であるように見えるCell_Along_Swath_5kmとCell_Across_Swath_5km長い間、私は。ヘルプにしてください興味を持って、butI'mがないことを確認する方法LAT特定の時とPWV値を取得するには?

1
landsat-utilsでsceneIDをダウンロードできないのはなぜですか?
森の監視を行うには、Landsat画像を自動的にダウンロードする必要があります。私はlandsat-utilsパッケージを使用しています。ただし、関心領域からsceneIDを設定すると、コードが期待どおりに機能しません。 そこで、スクリプトをテストするために取得したいsceneID(LC82150682015350LGN01)の例を1つ示します。 USGSからユーザー名とパスワードを入力しようとしましたが、問題は解決しませんが、問題は解決しません。 ここにコード: $ landsat download LC82150682015350LGN01 AttributeError: 'RemoteFileDoesntExist' object has no attribute 'message' USGSのユーザー名とパスワードを設定すると、エラーが発生しました。 AttributeError: 'USGSError' object has no attribute 'message' このシーンIDのファイルを取得できないのはなぜですか?変更しましたが、同じ問題が発生しました。


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