Este tema ha surgido aquí: Crear Shapefile con clave primaria auto incrementada en QGIS
Mis sugerencias serían:
1) Las bases de datos SQLITE / SpatialLite soportan el autoincremento en un campo establecido como INTEGER PRIMARY KEY:
En un INSERT, si la columna ROWID o INTEGER PRIMARY KEY no se explícitamente un valor, entonces se llenará automáticamente con un entero no utilizado, normalmente el que sea mayor que el mayor ROWID actualmente en uso. Esto es así independientemente de que se utilice o no la palabra clave AUTOINCREMENTO se utilice o no la palabra clave AUTOINCREMENTO.
Cada vez que edites/crees polígonos, puedes rellenar sus atributos, y SQLITE le dará un valor único incremental en el campo que hayas configurado de tipo INTEGER PRIMARY KEY.
Cuando esté listo para exportar a GEOJSON, estará todo listo con sus IDs ÚNICOS.
2) Si utiliza Shapefiles, cree un campo OBJECTID de tipo INTEGER y utilice una expresión de calculadora de campos para rellenar ese campo cada vez que edite/crea polígonos y necesite exportarlos. Perderá el ID original que tenía un polígono, pero esta es la única manera de conseguirlo usando .SHP. (Tendré que encontrar la expresión de la calculadora de campo).
PostGIS es otra fuente de datos que podría explorar, aunque es más pesado que SQLITE, podría encontrar valor en un sistema de este tipo a medida que avanza...
0 votos
¿Utilizas shapefiles? ¿Los ID tienen que ser los mismos después de cada exportación, o podría rellenar el campo ID después de cada sesión de edición?
0 votos
¿Cómo estás creando los polígonos desde un script, digitalizando en el escritorio de QGIS, o copiando desde un shapefile, etc.?
0 votos
Bueno, yo creo una forma en QGIS, guardar como Geojson y está bien. Lo siento, tal vez tengo su pregunta de una manera equivocada?
0 votos
Me gustaría añadir que esto no parece funcionar cuando se utiliza una base de datos postgreSQL capas. $ID and $ rownum todos devuelven 0. PostgreSQL 9.6 QGIS 2.18.12