架空のマップを作成しているので、たくさんのポイント、ライン、そして確かにポリゴンを作成する必要があります。その後、データをgeojsonとしてエクスポートします。しかしその前に、私は離れてすべての要素に一意のIDを与えなければなりません。
最大のポリゴンが最小のIDを取得するなど、特別な並べ替えは必要ありません。私は必要なすべてのポリゴン とIDを、終わりにせずに やって、それを手動で私が今しなければならないように。
誰かがそれを行う方法を知っていれば素晴らしいでしょう。
架空のマップを作成しているので、たくさんのポイント、ライン、そして確かにポリゴンを作成する必要があります。その後、データをgeojsonとしてエクスポートします。しかしその前に、私は離れてすべての要素に一意のIDを与えなければなりません。
最大のポリゴンが最小のIDを取得するなど、特別な並べ替えは必要ありません。私は必要なすべてのポリゴン とIDを、終わりにせずに やって、それを手動で私が今しなければならないように。
誰かがそれを行う方法を知っていれば素晴らしいでしょう。
回答:
フィールド計算機を使用する方法があります:
ハレルヤ!またはユーレカ。または何でも。これを行うことができます。シェープファイル付き。
maximum("FID") + 1
。[ 編集可能]のチェックを外すと、別の値を入力したり、そこにあるものを削除したりできません。IDのない値がある場合、これらの値は更新されないことに注意してください。ある時点で、更新時にデフォルト値を適用をチェックし、式を修正してゼロまたはNULL値をチェックして、編集時にそれらのレコードのみを更新し、値が1より大きいレコードは更新しないようにします。一意の値でFIDフィールドを更新する方法について説明しました。シェープファイルに既に機能があった後にフィールドを追加した場合は、これを行う必要があります。
これは、シェープファイルではなく現在のマップファイルと共に保存されるため、シェープファイルを複数回追加するには、レイヤースタイルのその部分を新しく追加したレイヤーにコピーする必要があります。、層の上にこの、右クリックを行う選択するにはスタイル>スタイルのコピー>フィールド別の層の上に、そして右クリックし、選択したスタイルを>スタイル>すべてのスタイルカテゴリーを貼り付け(またはに進みフィールド)。スタイルのその部分をシェープファイルに基づいて他のレイヤーにコピーすることもできますが、IDフィールドにはコピー元のレイヤーと同じ名前を付ける必要があります。
vinayanの投稿に追加し、rownum関数について簡単に説明します。これは非常によく似ており、場合によってはもう少し便利かもしれないからです。
idは Feature IDを返します。つまり、常に 0から始まります。
rownumは、行番号を返します。つまり、 1から始まります。
したがって、基本的に、自動インクリメントを0から開始する場合は$ idに進み、1から開始する場合は$ rownumに進みます。
このトピックはここに来ました:QGISで自動増分主キーでシェープファイルを作成します
私の提案は次のとおりです。
1)SQLITE / SpatialLiteデータベースは、INTEGER PRIMARY KEYに設定されたフィールドでの自動インクリメントをサポートしています。
INSERTで、ROWIDまたはINTEGER PRIMARY KEY列に明示的に値が指定されていない場合、通常は現在使用されている最大のROWIDよりも大きい未使用の整数が自動的に入力されます。これは、AUTOINCREMENTキーワードが使用されているかどうかに関係なく当てはまります。
ポリゴンを編集/作成するたびに、その属性を入力することができます。SQLITEは、INTEGER PRIMARY KEYタイプに設定したフィールドに増分の一意の値を与えます。
GEOJSONにエクスポートする準備ができたら、すべて一意のIDが設定されています。
2)シェープファイルを使用する場合、INTEGERタイプのOBJECTIDフィールドを作成し、フィールド計算式を使用して、ポリゴンを編集/作成し、エクスポートする必要があるたびにそのフィールドに入力します。ポリゴンにあった元のIDは失われますが、これは.SHPを使用してこれを達成する唯一の方法です。(フィールド計算式を見つける必要があります)。
PostGISは、探索したい別のデータソースです。SQLITEよりもかなり重要ですが、このようなシステムに価値を見いだすことができます。
postgreSQLデータベースレイヤーを使用している場合、これが機能しないように見えることを付け加えます。$ IDと$ rownumはすべて0を返します。PostgreSQL9.6 QGIS 2.18.12