QGISで列に連続番号を入力しますか?


30

属性テーブルに新しい列を作成し、デフォルト値(たとえば0)を設定します。(おそらくフィールド計算機を使用して)番号付きインデックスのように、行1の値が1、行2 = 2などになるという結果を得たいと思います。

フィールド計算機のコード例に感謝します(($rownum回線に切り替えるためにこれが必要だと思います)の使用を含む)。

回答:


54

ただ置く$rownum(QGIS 2)または@row_number式として(QGISを3+)。そのような単純な。:)

すべてのフィールド計算機能の最新リストは、公式ドキュメントで読むことができます。


私はあなたのアプローチに従いましたが、明確な理由はありませんが、数値はある時点で変化します。行1から行129まで完全に機能し、789に移行した後、これを解決する方法はありますか?
ギヨーム

1
ジャンプする理由がないので、ディスプレイフィルターがアクティブになっていないことを確認してください。
lynxlynxlynx

8

@ArMoraerは、この自動番号付けの方法を制御できる興味深いプラグインを開発しました。このプラグインは"Sort and Number"という名前です。他の3つのフィールドを考慮して、番号を付ける前に希望どおりにデータを並べ替えることにより、列を一意の番号で埋めることができます。

ソーストピックを参照してください:QGISの列ごとにソートされたテーブルの行番号を割り当てる方法はありますか?



1

私にとって最良かつ最も簡単な方法はただ$ididそれがインデックスを付けている各行に数字を返すことです0


各機能IDを返しますが、シーケンスは必ずしも0で始まるとは限らず、値が欠落している可能性があります。既存のフィーチャを削除した後のケースです(つまり、3つのフィーチャを持つレイヤで開始し、#2を削除し、$ idを呼び出すと0と2が返されます)
JGH

値が欠落している場合、実際のインデックス番号に問題があります。ただし、$id行を削除した後、を呼び出す必要があると思い@row_numberます。私があなたの肯定を正しく理解したなら。
Vlad

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