属性テーブルにシーケンスを追加するにはどうすればよいですか?


8

QGISのフィールド計算機を使用して、指定された入力範囲でカウントシーケンスの値の範囲を作成する方法はありますか?たとえば、テーブルの最初のレコードに従って、テーブル内で1〜5の値を繰り返したい場合は、

ありがとう...


1、2、3、4、5、1、2、3、4、5、...、または別の属性に依存する値を入力しますか?
アンダーダーク

はいアンダーダーク、それが私が欲しいものです。すべてのレコードが計算されるまで、1、2、3、4、5。
Ryan Garnett

回答:


11

これはフィールド計算機でそれを行います:

 ( $rownum-1 ) % 5 +1

ここに画像の説明を入力してください


2
私はこのようなものを見るのが好きで、自分でいくつかのものを見つけました。しかし、フィールド電卓で可能なすべてのことのより包括的なドキュメントはどこにありますか?
サンデルカ

@SAnderka新しいフィールド計算機には、ドキュメント化された関数の長いリストが付属しています-すべてGUIで表示できます。可能性は無限にあります:)
暗闇

私は知っていますが、どういうわけかここではいくつかの基本が欠けていると思います。「%5 + 1」部分は正確には何をしているのですか?また、私のQGIS(OSGEO4Wを介してインストールおよび更新された)のコピーには、「エラー!QGISはこの機能のヘルプを見つけることができません。」としか表示されません。ヘルプウィンドウで?
サンデルカ

%はモジュロ演算子です-多くのコンピューター言語のように。それはデビジョンの残りを返します(この場合は5ずつ)。私のOSGeo4Wシステムでは、ドキュメントも1.8で壊れていますが、dev1.9では問題なく動作します。
アンダーダーク

ああ、私はまだ1.8.0_4を使っています。それが理由かもしれません。そして、プログラミング言語をもっと詳しく調べなければならないでしょう、それは... ため息
SAnderka

3

この種の問題に対する私の解決策は、LibreまたはOpenOffice Calcを使用することです。まず、FID列が完全で正しいかどうかを確認します(Calcでdbfテーブルを再利用する場合は、属性ファイルを元の順序に復元する必要があります。そうしないと、後で機能に誤ったデータが添付されます)。

念のため、dbfのバックアップを作成します。

次に、Calcでdbfファイルを開くだけです(ファイルを開くときに正しいコードページ設定を使用することを忘れないでください。そうしないと、ウムラウトなどが失われる可能性があります)。たとえば、vlookupで列にデータを自動入力します。 ()、ファイルを再度dbfとして保存します。

QGISで結果を確認しますが、すべて正常に機能するはずです。


ありがとう、私はこのアプローチを知っていますが、QGIS内でこれを行う手段が必要でした。
ライアンガーネット

また、あなたの質問を誤解しました-他の変数の変化に応じて値を追加する方法を探していたと思いました(QGIS内でこれを行う方法を知っていたはずではありません... :))
SAnderka
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.