タグ付けされた質問 「field-calculator」

QGIS、ArcGIS Desktopなどのフィールド計算機とそれらのフィールド計算ツールに関する質問に使用します

2
ArcGISのフィールド計算機を使用してポリゴンに穴があるかどうかを確認する方法
一部のサードパーティソフトウェアは、穴のあるポリゴン(ドーナツポリゴン)を処理できません。それらを見つけるために、私は常にArcView 3フィールド計算機を使用しています。 ただし、ArcGISでこれを実行しようとすると、次のようになります。 したがって、問題は、それをArcGISで正しく作成する方法です。

4
QGIS Field Calculatorで使用される方程式を保存しますか?
新しく計算されたポイントの特定の値を計算しようとしています。そこで、フィールド計算機を使用して、値を決定する方程式を記述します。 その方程式を保存する方法はありますか?そのため、新しいジョブを開始するときに、再入力する必要はありませんか? ポイントの配列のスタイルとシンボルを保存する方法に似たもの。

2
QGISは属性への弧の半径を計算します
QGIS 2.18.16がインストールされています。私の問題は、円弧/曲線フィーチャ(ライン)の半径を計算する方法ですか?これらの行は、FMEで読み取ってPostGis DBに書き込んだ.dgnファイルに由来しています。主キーなどを作成しましたが、テーブルは完全に編集可能です。円弧の長さを計算しましたが、これらの曲線の半径を計算する方法がわかりません。これ(https://www.mathopenref.com/arcradius.html)は、QGIS計算機でそれを使用する方法を理解することはできませんが、数学の面でいくつかのアイデアを与えるかもしれません。そのため、DBにあるすべての行の「R」を計算する必要があります。 ベローは一例です。私のデータには、「通常の」ポリラインとは異なるテーブル上の円弧/曲線があります。

4
ArcGISでテキストフィールドに先行ゼロを含めるには?
基本的に5桁のIDであるテキストフィールドに文字を入力しています。値に先行ゼロを含める必要がありますが、フィールドを入力または計算するたびに、先行ゼロが削除されます(フィールドのプロパティで5文字のテキストフィールドと表示されている場合でも)。 フィールドに先行ゼロを含めるにはどうすればよいですか?

1
QGISでのカスタムPython関数の文書化
QGISでカスタムPython関数をドキュメント化するにはどうすればよいですか? 私がユーザーのために書いた関数についてユーザーにヘルプを提供したいと思います。 私はdocstringを追加しようとしました: しかし、[ ロード ]をクリックするたびに、エラーメッセージが表示されます。 エラーメッセージにはインデントエラーがはっきりと示されていますが、これは実際のコードには対応していません。

2
各区切り文字の前の文字列フィールドから新しいフィールドへのテキストの分割
ドットで区切られたテキストを含む文字列フィールドからテキストデータを抽出し、フィールド計算機を使用して新しいフィールドに配置しようとしています。 私はこのpython関数を使用しています(QGISで/の前にテキストを抽出する方法から取得?): from qgis.core import * from qgis.gui import * @qgsfunction(args='auto', group='Custom') def func(value1, feature, parent): return value1.split('.')[0] これは、最初のドットの前のすべてのテキストを返します。ここで、区切られた各テキスト行を個別のフィールドに配置するための関数を作成する方法を考えています。 前: 後:


3
文字列フィールドを日付フィールドに変換する方法
致命的な交通事故を表すポイントを持つレイヤーがあり、フィールド "dates_14_D"には日付が含まれていますが、そのタイプは文字列です。この文字列フィールドを日付フィールドに変換したいのですが、[OK]ボタンがアクティブではありません。どうしたの?QGisを使用しています。下の写真を見てください

3
ArcPyとPythonを使用して、属性テーブルの英語以外の文字を置き換えますか?
一部の属性に英語以外の文字ÅÄÖが含まれているシェープファイルがいくつかあります。一部のクエリはこれらの文字(具体的にはChangeDetector)では機能しないため、簡単なスクリプトで事前に変更して、新しい文字列を別のフィールドに追加しようとしました。 ただし、文字の変更は正常に機能しますが、arcpy.UpdateCursorでフィールドを更新しません。 これを解決する適切な方法は何ですか? 同じエラーで、コードブロックに「コード」を投稿するときに、フィールド計算機を使用してこれを実行しようとしました。 エラーメッセージ: ランタイムエラートレースバック(最後の最新の呼び出し):ファイル ""、1行目、ファイル "c:/gis/python/teststring.py"、28行目、val = code(str(prow.Typkod)) UnicodeEncodeError: 'ascii'コーデックは位置3の文字u '\ xc4'をエンコードできません:序数が範囲(128)にありません コード: # -*- coding: cp1252 -*- def code(infield): data = '' for i in infield: ## print i if i == 'Ä': data = data + 'AE' elif i == 'ä': data = data + 'ae' …

6
数値フィールドから「1,000」のような形式のラベルを作成しますか?
この質問は、gis.stackexchange: 正規表現を使用して属性データを簡単に編集するにはどうすればよいですか? おそらく誰かが私を正しい方向に向けることができますか? 輪郭線のベクトルシェープファイルがあります。属性テーブルでは、標高値を含む整数データで構成されるFEETというフィールドを、Labelという文字列フィールドに既に変換しています。さらに、データにラベルが付けられたときにフィートとして読み取られるように、文字列の最後に 'を追加しました。 次に行うことは、文字列の長さが4より大きい場合にのみ、文字列の最初の2つの値の間にコンマを挿入することです。つまり、コンマが[ラベル]フィールドの数千から数百桁の間にのみ表示されるようにします。長さは4より大きい必要があります。 これまでの私のコードは: case when length( "Label") >4 then regexp_replace( "Label", '^([0-9])+([0-9]{3}\')$','$1 , $2') else "Label" end ただし、regexp_replace関数は、関数の3番目のパラメーターでグループ変数$ 1 $ 2を受け入れないようです。 私はhttp://docs.python.org/2/library/re.htmlを見てきました。フィールド計算機の正規表現は、Pythonの正規表現の使用に基づいて理解したものですが、これを理解することができなかったためです。Mac OSX上のQGIS 1.8のフィールド計算機でこの関数を使用して、私がやろうとしていることはまだできないかもしれません。あるいは、私は初心者のプログラマーであり、正規表現はやや新しいため、構文が間違っている可能性があります。

4
フィールド計算で英数字から数字を削除しますか?
次の形式の英数字の値を含むフィールドがあります。 A-AA00 時には彼らも A-AAA0 ArcMap 10のフィールド計算機に配置できるPythonスクリプトが必要です。これにより、少なくとも数字が削除され、アルファベット文字とハイフンが再トレーニングされます。そのため、たとえば、これ: A-AA0 これになる: A-AA また、数値文字を別のフィールドの数値文字に置き換えたいと思います。このStack Exchangeエントリはこの問題に対処していますが、文字列には数値の前にスペースがあり、これを分割およびインデックス付けに使用できます...文字列はそれほど簡単に作成されていません。

5
フィールドの計算を使用して属性フィールドにファイル名を追加しますか?
ファイルの属性テーブルのフィールドにシェープファイル名を追加する方法を誰かが知っていますか? 説明を見つけました: 'ファイル名が何であれ、文字列がdbaseファイルの名前に基づいて挿入されるように、式の%Name%のようなCalculateFieldでインライン変数を使用する必要があります! %Name%でCalculateFieldツールを試しましたが、次のメッセージが表示されました。 Executing: CalculateField "2011-11-6 15_41_point" DBFName %Name% PYTHON # Start Time: Thu Dec 08 23:34:23 2011 WARNING 000405: No records within table Succeeded at Thu Dec 08 23:34:24 2011 (Elapsed Time: 1.00 seconds) 私の間違いはどこですか?

1
arcpyを使用してフィールドから別のフィールドに値をコピーする方法は?
ArcPyで "A"から "B"にコピーするなどの簡単なフィールド計算を実行する方法を教えてもらえますか? 私はWebで多くのosの例を見つけましたが、それらはすべて余分な式を使用し、それらは複雑でした。必要なのは、ArcMap GUIで実行できることを単に B = !A! 更新: ここに私がこれまでに持っているコードがありますが、これを実行するとエラーが発生します NameError:名前「A」が定義されていません point_shp = "G:\\Temp\\All_Provinces.shp" arcpy.AddField_management(point_shp, "B", "TEXT", "", "", "25", "", "NON_NULLABLE", "NON_REQUIRED", "") arcpy.CalculateField_management(point_shp, "B", "A", "PYTHON_9.3")

2
ArcGIS属性テーブルで複数の計算を実行しますか?
特定の消火栓データを追跡するために開発された既存のExcelスプレッドシートがあります。これは定期的に更新され、ArcGISの空間消火栓データに結合されます。スプレッドシートには、静圧、残圧、および流量に関連するデータを入力するための多数の列があります。 火の流れを計算するために火の流れのテスト式で20 PSIの定格容量を利用して、スプレッドシートは自動的に計算します。計算は以下のとおりです。 Fire Flow = Flow * ((Static - 20)/(Static - Residual))^0.54 これを攻撃する最善の方法はわかりません。提案を探しています。計算の結果に基づいて、消火栓を塗装する適切な火の流れの色を示すIFステートメントを含む追加の列があります。知らない人のために、消火栓の色は、緊急時に火災の流れの状態で職員を消火するための指標です。私はいくつかの研究を行い、次のpythonスクリプトを開発しました: def Reclass !Bon_Color!: if ( !Fire_Flow! <= 0): return Black elif ( !Fire_Flow! >= 1 and !Fire_Flow! <= 499): return Red elif ([Fire_Flow] > 499 and [Fire_Flow] <= 999): return Orange elif ( !Fire_Flow! > 999 …

2
QGISフィールド計算機で最近の数式にアクセスできますか?
QGISフィールド計算機を使用していて、フィールドの式を少し調整する必要がある場合があります。私の問題は、数式を調整するたびに、数式全体をもう一度入力する必要があることです。ArcGISでフィールドカリキュレーターを使用する場合、式を実行しても式が失われません。QGISで可能な方法はありますか?余計な時間と労力がかかります...

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