block by ThomasG77 a9b39677d302e2405c18cfe9bc8e462b

Conversion id parcelle Etalab vers commune, prefixe, section, numero et inversement

Code pour passer des id de parcelles Etalab en commune, prefixe, section, numero et inversement

Par exemple, pour l’id de parcelle 323190000A0133

Il s’agit d’un clé composite (une clé constituée de plusieurs clés)

Javascript

function removeLeadingZeros(myString) {
  let regex = /^0+/g;
  return myString.replace(regex, "");
}

let id_parcel = '323190000A0133'

let commune = id_parcel.substring(0, 5)
let prefixe = id_parcel.substring(5, 8)
let section = removeLeadingZeros(id_parcel.substring(8, 10))
let numero = removeLeadingZeros(id_parcel.substring(10, 14))

console.log(commune, prefixe, section, numero)
// Pour revenir à l'id de parcelle
console.log(`${commune}${prefixe}${section.padStart(2, '0')}${numero.padStart(4, '0')}`)

Python

id_parcel = '323190000A0133'

commune = id_parcel[0:5]
prefixe = id_parcel[5:8]
section = id_parcel[8:10].lstrip('0')
numero = id_parcel[10:14].lstrip('0')

print(commune, prefixe, section, numero)

# Pour revenir à l'id de parcelle
print(f'{commune}{prefixe}{section.zfill(2)}{numero.zfill(4)}')