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

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

1
Ruby / Rails / RGeoまたはPython / GeoDjangoをWebベースのGISに使用することの長所と短所
現在、WebベースのGISを作成する調査段階にあります。ORMがすべてのバックエンドのインポート/エクスポートおよび処理ルーチンで使用するオプションを評価しています。私の調査から、GeoDjangoはより成熟しているように見えますが、Rails / RGeoはよく考えられており、合理的に包括的であるように見えます。 誰もが両方の経験があり、どちらか一方を推奨できますか?

1
PythonプラグインからQGISで属性を編集する速度
QGIS Pythonプラグインを使用して、レイヤー内の各フィーチャの属性の値を編集しようとしています。編集モード以外でこれを行うと、編集中よりも速度が遅くなることを発見しました(編集のコミットも含む)。以下のコードを参照してください(ループの同じポイントで交換可能な行)。サンプルデータセットの速度の違いは、2秒(編集モード)と72秒(編集モードではない)です。 編集モードでの属性の変更: layer.changeAttributeValue(feature.id(), 17, QtCore.QVariant(value)) 編集モード以外で属性を変更する: layer.dataProvider().changeAttributeValues({ feature.id() : { 17 : QtCore.QVariant(value) } }) これは予想される動作ですか?ユーザーが変更を元に戻すことができる必要はないので、編集モードを使用する必要はないと思います。 編集1:両方のバージョンが含まれている(ただしコメント化されている)下の完全なコードを参照してください: def run(self): try: # create spatial index of buffered layer index = QgsSpatialIndex() self.layer_buffered.select() for feature in self.layer_buffered: index.insertFeature(feature) # enable editing #was_editing = self.layer_target.isEditable() #if was_editing is False: # self.layer_target.startEditing() # …
9 qgis  python  pyqgis 

4
Pythonで正方形グリッドポリゴンシェープファイルを作成しますか?
次の座標があります minx, maxx, miny ,maxy = 448262.080078, 450360.750122, 6262492.020081, 6262938.950073 Pythonを使用してサイズ1 mの正方形グリッドを作成したいと思います。 import math minx,maxx,miny,maxy = 448262.080078, 450360.750122, 6262492.020081, 6262938.950073 size = 1 def set_bbox(minx, maxx, miny, maxy, distx, disty): nx = int(math.ceil(abs(maxx - minx)/distx)) ny = int(math.ceil(abs(maxy - miny)/disty)) new_maxx = minx + (nx*distx) new_miny = maxy - (ny*disty) …

2
PostGISへの複数のGPXファイルのバッチロードを自動化しますか?
PostGISデータベースに「バッチロード」したい50以上のGPXファイルがあります。すべてのtrack_pointsデータは「track_points」テーブルに読み込まれ(緯度、経度、標高、時刻などの一般的なGPSフィールドを使用)、トラックデータは同様に適切に設計された「トラック」ラインジオメトリテーブルに読み込まれます。 このプロセスを自動化して、次の50以上を取得したときに、データベースにデータを手動で入力する必要がないようにします。私は個人的にこれらの種類のプロセスをスクリプト化するためにPythonを使用することを好みますが、提案は大歓迎です。 私の一般的な思考プロセスは次のとおりです。 処理するGPXファイルのリストを取得します(標準のPythonツールで十分簡単です) 各GPXファイルをループして、必要なデータを抽出/ PostGIS形式に変換します psycopg Pythonライブラリを使用してGPSデータをPostGISに挿入する ステップ1と3を管理できると思いますが、データ(tracksとtrack_points)をPostGIS形式に変換する比較的単純なメソッド/ライブラリがあるのか​​、またはすでに作成されているテーブルに挿入できる表形式のフォームがあるのか​​と思っています。 。 私は「もう読んだ?良いGPSトラック解析ライブラリがあります」、「?GPSログの地理データベースを構築する方法」、および「パイソンと.GPXデータを抽出する方法」、およびGDAL / OGRに見てきましたFWTools Pythonバインディングですが、ホイールを再発明したくないのは、誰かがすでにこれに適した方法を持っているからです。

2
既存のActivePythonインストールでArcGIS for Desktopをインストールしますか?
OSをクリーンインストールしてActivePython 2.7.2をインストールしました このPythonインストールをArcGIS 10.1で使用したい ArcGIS 10.1をインストールしたところ、新しいPythonがインストールされました。 現在のPythonにPython for ArcGISをインストールするには、何をする必要がありますか?

2
庭のプロットの太陽強度マップを作成する方法は?
小さな庭の区画の単位面積あたりの平均太陽強度を表すラスターサーフェスの作成に興味があります。モデルへの入力は次のようになると思います。 プロットエリア-簡単にするために、庭のプロットが円形であると仮定しましょう。 周囲の森の端の平均木の高さ さまざまな太陽角度での太陽強度 時間の経過に伴う庭園の区画に関連する平均太陽角度。 最終的には、木々に囲まれた庭の区画の中で、植物の成長に最適な場所を示したいと思います。誰かがこの分析の解決策に私を向けることができますか?私は参照を見つけることができませんが、誰かがすでにこれを行っていると確信しています。 編集: 例として、添付の画像は、同じ年齢の針葉樹の林に囲まれた1エーカーの庭の区画を示しています。この分析をさらに単純化するために、6月から10月までの園芸シーズン中の太陽の天頂と強度のみに関心があると仮定します。伐採はオプションではありません!

2
二変量リプリーのK関数を実装する方法?
添付画像は、赤松が円で表され、白松が十字で表された森林のギャップを示しています。私は2種類の松の木の間に正の関連があるのか​​負の関連があるのか​​(つまり、同じ地域で成長しているかどうか)を確認することに興味があります。R spatstatパッケージのKcrossとKmultiを知っています。ただし、分析するギャップが50あり、RよりPythonでのプログラミングに慣れているため、ArcGISとPythonを使用した反復的なアプローチを見つけたいと思います。また、Rソリューションも利用できます。 2変量リプリーのK関数を実装するにはどうすればよいですか?

1
QGISで編集中に、選択したマルチパートフィーチャをシングルパートフィーチャに変換する方法は?
QGISを使用してマルチパートフィーチャレイヤーをシングルパートフィーチャレイヤーに作成する方法については、いくつかの質問とそれぞれの回答があります。 1つのポリゴンを複数のポリゴンに分割する方法は? QGISで非隣接フィーチャを分割する方法は? しかし、私が見たすべてのソリューションは、完全に新しいレイヤーを作成し、すべてのマルチパートジオメトリを単一のものに変換します。 では、問題は、編集セッション中に、新しいレイヤーを作成する必要なしに、マルチパートフィーチャをシングルパートフィーチャに選択的に変換する方法でしょうか。 これは、「選択したフィーチャのマージ」ツールとは逆であり、ArcGISでの爆発に似ています。 これを行うプラグインはありますか?Pythonコンソールを使用してこれをどのように行うことができますか?

1
共有エリアの平均線ストリングで2つの交差するポリゴンを分割する方法(QGIS / python shapely)
2つのポリゴンがあります。 POLYGON((-5 -5、-5 5,5 5,5 -5、-5 -5))POLYGON((1 1、1 7、7 7、7 1、1 1)) そしてそれらを均等に分割したいと思います。結果は赤いマークされたラインに沿って分割されます。 私はqgis / pythonを使用していますが、pythonを使用したいと思っています。

2
オープンソースのPython / PostGISプロトタイプに最適な設計
Apacheを介して配信されるデータ集約型のWebアプリケーションを作成しています。私の質問は、複数のオプションがある場合に、処理を最適に配置する方法についてです。 私は自由にOpenLayers / JQuery / Javascript、PostGIS / Postgresql(pgsql付き)、python / psycopg2、phpを持っています。 データベースには約300万行が含まれており、プロトタイプは現在次のように実行されます。 ユーザーがOpenLayersウィンドウのポイントをクリックした 座標はAJAXリクエストとしてサーバー上のPython関数に送信されます 現在、私のアプリケーションはステートレスです Pythonのpsycopg2を使用してpgsqlストアドプロシージャを呼び出し、大量のWKT値(およびデータフィールド)がpythonモジュールに返されます。 データフィールドは、PythonでWKTレコードを次のように分類するために使用されます。すべてのWKT値は、5つのグループのいずれかに分類されます。WKT値の約1%が実際に変更されます。 WKTの5つのセット/グループは、5つの異なるポリゴンを作成するためにバッファリングされます。現在、データベース内のストアドプロシージャを呼び出してこれを行っています。これは今度はST_BUFFERを使用するだけです。(私はShapelyの使用を検討しましたが、どちらの場合にもGEOSライブラリが使用されるため、パフォーマンス上の利点があるかどうかはわかりません...) 最後に、5つのWKTテキスト値がJSON文字列にラップされ、OpenLayersに返されて5つのレイヤーとしてレンダリングされます。 ボトルネックは、最初の空間検索と最後のバッファリング段階であることがわかりました。 質問は次のとおりだと思います: 物事を整理するより良い方法はありますか?たとえば、すべてのデータ処理をPostgreSQLで(たとえばカーソルを使用して)実行する必要がありますが、これはメンテナンスとパフォーマンスの点で優れているでしょうか?長いWKT文字列をWebクライアントに渡さないようにするには、タイルサーバーを使用する方がよいでしょうか。どのように対処しますか?

2
arcpyを使用してx個の近傍の近傍表を生成する
私が近距離をキャプチャしようとしている可能性のある3つのSceneriosがあります。 2つ以上の隣接する駅があるインターチェンジの地下鉄駅。つまり、問題の駅は2つ以上の主要ルートを接続し、2つ以上の隣接駅があります。 隣接する駅が1つしかない地下鉄の終着駅。終点の駅です。 隣接する駅が2つあるインライン地下鉄の駅で、どちらか一方のアプローチです。 「隣接するステーション間の平均距離」と呼ばれる値を計算しようとしています は、arcpy.GenerateNearTable_analysis()2つのオプションを処理できます:最も近いフィーチャまでの距離、およびすべてのフィーチャ間の距離。 誰かがこれらのシナリオを解決するための賢い方法を持っていますか?各ステーションは、「StationType」フィールドの下の属性テーブルで「Interchange」、「Terminal」、または「Inline」として指定されていることに注意してください。 追加: これは、コメントでの@whuberの提案に基づくいくつかの疑似コードです。私はまだこれを理解する時間がないので、誰かがそれを突き刺したいと思うなら、あなたはチェックマークで報われるでしょう!;) NetworkXライブラリを確認したところ、期待どおりに動作しているようです。 グラフを考える: A —― B ―― C ―― D | E ノードとリンクだけでなく: Nodes = ["A", "B", "C", "D", "E"] Links = [("A", "B"), ("B", "C"), ("C", "D"), ("B", "E")] def myFunction(node): identify the links that node belongs to count the number …
9 python  arcpy  network 

1
Pythonを使用した属性によるアークマップ選択
次のようにして、グリッドと交差する「プロジェクト」レイヤーを選択(強調表示)し、選択した「グリッド」からレコードをプルします。レイヤーを保存する必要はありません。 注:PythonコンソールウィンドウのArcMap内からスクリプトを実行します。 import arcpy # Make a layer from the feature class arcpy.MakeFeatureLayer_management("project","project_lyr") # Then add a selection to the layer based on location to features in another feature class arcpy.SelectLayerByLocation_management("project_lyr","INTERSECT","Grid") このコードは実行され、エラーは発生しませんが、機能は選択(強調表示)されません。何かアイデアはありますか?また、実行が非常に遅くなります。 基本的に私はこれをやろうとしている: これはほぼ瞬時に非常に高速に実行されますが、Pythonを使用して同じように実行したいと考えています。選択したフィーチャのテーブルからの値が必要なだけで、レイヤーのコピーは必要ありません。 解決策の一部は、インメモリワークスペースを使用することです。 多くの場合、インメモリワークスペースへのデータの書き込みは、他の形式への書き込みよりもはるかに高速です... インメモリワークスペースの実装方法がわからない

1
python / gdalを使用してラスターデータ配列の出力をx軸で反転しましたか?
私はpython gdalライブラリを使用してラスターを作成しようとしていますが、データが出力されているポイントに到達しましたが、出力データは原点のx軸で反転しています。私は何かを見落としている必要があることを知っていますが、どこが間違っているのか理解できません。何か案は? ラスターを作成するときに、左上のx / y値を設定すると、配列には左上からインデックスが付けられ、右下に向かってインデックスが付けられているように見えます。以下のコードでは、配列に行の値を入れています。 配列を出力すると、次のようになります。 [[ 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. …
9 python  raster  gdal 


4
Esri Geoservices RESTをPython Webフレームワークのバックエンドとして使用する(Django?)
Django / GeoDjangoなどの既存のPython WebフレームワークをEsriのGeoservices REST APIと連携するフロントエンドとして使用することが可能かどうか知りたいのですが。JSONのRESTエンドポイントをデータベース「テーブル」としてヒットするデータベースエンジンの開発を想定しています。Django AdminとDjango Formsは非常によく設計されており、空間テーブルと非空間テーブルの両方、特にリレーションシップを持つテーブルを追加、変更、削除するための優れたインターフェースとして機能すると思います。 編集:これについてもっと考えると、多分それはDjangoのソースコードを変更することではなく、代わりにニーズをサポートするWebアプリケーションを設計することです。モデルはマップサービスリンクのストレージを提供し、ビューはRESTエンドポイントの呼び出しを通じてCRUD機能を提供します。

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