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

5
ArcPyを使用して1600万件のレコードをループしますか?
8つの列と1670万件のレコードを持つテーブルがあります。列に対してif-else方程式のセットを実行する必要があります。UpdateCursorモジュールを使用してスクリプトを記述しましたが、数百万件のレコードを記録した後、メモリが不足します。これらの1670万レコードを処理するより良い方法があるかどうか疑問に思っていました。 import arcpy arcpy.TableToTable_conversion("combine_2013", "D:/mosaic.gdb", "combo_table") c_table = "D:/mosaic.gdb/combo_table" fields = ['dev_agg', 'herb_agg','forest_agg','wat_agg', 'cate_2'] start_time = time.time() print "Script Started" with arcpy.da.UpdateCursor(c_table, fields) as cursor: for row in cursor: # row's 0,1,2,3,4 = dev, herb, forest, water, category #classficiation water = 1; herb = 2; dev = 3; forest = …

1
QGIS Graphical Modelerで反復タスクを簡素化する
上記のモデルを単純化するためにQGISグラフィカルモデラーで使用できるイテレーターはありますか?そうでない場合、モデルを単純化するより良い方法はありますか? 最初の列は入力レイヤーを表し、2列目は交差点、3列目は「交差点」操作の出力、4列目は「位置による属性の結合」操作、5列目は結合操作の結果です。 流域解析のために、「交差点」および「位置による属性の結合」操作を実行したいと思います。目的は、異なる次数のストリームの合計と平均の長さ、ストリーム比、分岐比などの線形形態パラメータを計算することです。 最初のステップは、「order1ストリーム」と分水界を交差させ、次に「Order2ストリーム」と同じ分水界を交差させることです。「order3ストリーム」シェープファイルが提供されている場合、この新しいレイヤーの交差を実行する必要があります。したがって、「order1ストリーム」と「order2ストリーム」のみが必須であり、残りは提供された流域層に依存します。たとえば、分水界が次数4の分水界である場合、必要なストリームは「order4ストリーム」までです。 使用可能なすべての入力レイヤーの交差が完了すると、交差したストリームの合計と平均を取得するオプションを使用して、場所ごとに流域に結合されます。 画像は正しい手順を示しています。モデラーの外部で操作を行うと、結果は正しいです。モデルを実行すると、このエラーが発生します。 「アルゴリズムOrder5_plus_wshed 'NoneType'オブジェクトの実行エラーに属性 'dataProvider'がありません。」 これは、オプションパラメータの1つに入力を提供していない場合(つまり、「order4ストリーム」などの入力)に発生します。ただし、すべての入力を提供すると、必要な結果が得られます。 したがって、このタスクを設定するより良い方法があるかどうかを尋ねたいと思います。

2
キーボードを使用して、無限ループのあるPyQGISスクリプトを停止しますか?
そのため、特定の時間間隔(time.sleep(5)を使用して5秒ごと)で "while True:"を使用して何度も何度もやりたいスクリプトを作成しました。これまでのところ、しかし、私はそれを止めたいとき、私はちょうどできません。 Control + C、Control + Break、Escapeを試しましたが、キーボードはほとんど無視されます。それを止める唯一の方法は、QGISを閉じることです。何か案は?さらに、スクリプトがtime.sleep(5)に達すると、QGISの種類が5秒間遅れてフリーズし、たとえばレイヤーをパンすることはできませんが、これは正常だと思います。 これが私のスクリプトです。 from PyQt4.QtGui import * from PyQt4.QtCore import * from qgis.core import * from qgis.utils import iface import time while True: def change_color(): active_layer = iface.activeLayer() pipeline=[] txt=open('C:/users/stelios/desktop/project/Sensor.txt','r') for line in txt.readlines(): pipeline.append(line.split()) print pipeline pipeline2=[] for label,color in pipeline: if "0" …
12 pyqgis  loop 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.