Skip to content

Instantly share code, notes, and snippets.

@aborruso
Last active May 19, 2021 05:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save aborruso/ba2cbdc086481e0b81044f4ddbbe9299 to your computer and use it in GitHub Desktop.
Save aborruso/ba2cbdc086481e0b81044f4ddbbe9299 to your computer and use it in GitHub Desktop.

Conversione da Tabella Attuali Punti Fiduciali a CSV

Queste tabelle hanno lo schema descritto qui https://www.agenziaentrate.gov.it/portale/web/guest/schede/fabbricatiterreni/punti-fiduciali/tabella-attuale-dei-punti-fiduciali-professionisti

Ecco alcune righe di esempio

A045     1      3 72          SPIGOLO S E                                                               89757.263     3862.131 52    1      2 110790 198938312                                                                                             
A045     1      6 43          SPIGOLO NORD EST                                                          89392.627     3402.251 52    1      6 240909 2009131461      QUOTA A TERRA                                                           4      251.726
A045     1      7 101         SPIGOLO N O                                                               89027.609     3393.507 52    1      7 231210 2010168788      QUOTA A TERRA SUL PAVIMENTO                                             4      208.357

L'encoding sembra essere ISO-8859-1.

Sono colonne a larghezza fissa con questo schema

column start length
Codice nazionale del Comune 1 4
Codice Sezione 5 1
Foglio 7 4
Allegato 12 1
Fiduciale 14 4
Particella 19 11
Monografia planimetrica 31 70
Coordinata Nord 102 12
Coordinata Est 115 12
Attendibilità 128 2
Foglio Origine 131 4
Allegato F. Origine 136 1
Fiduciale Origine 138 4
Data di Aggiornamento 143 6
Causale di Aggiornamento 150 15
Monografia Altimetrica 166 70
Attendibilità Altimetrica 237 2
Quota 240 12

Per convertirli in CSV si può in2csv di csvkit.

Conversione

Si inizia dal convertire il file in UTF-8 con l'utility iconv:

iconv -f ISO-8859-1 -t UTF-8 input.csv >input_UTF8.csv

Poi, usando il file di schema di sotto, si converte in CSV:

<input_UTF8.csv in2csv -s schema.csv >input_UTF8_CSV.csv

In output si avrà qualcosa come:

Codice nazionale del Comune Codice Sezione Foglio Allegato Fiduciale Particella Monografia planimetrica Coordinata Nord Coordinata Est Attendibilità Foglio Origine Allegato F. Origine Fiduciale Origine Data di Aggiornamento Causale di Aggiornamento Monografia Altimetrica Attendibilità Altimetrica Quota
A045 1 3 72 SPIGOLO S E 89757.263 3862.131 52 1 2 110790 198938312
A045 1 6 43 SPIGOLO NORD EST 89392.627 3402.251 52 1 6 240909 2009131461 QUOTA A TERRA 4 251.726
A045 1 7 101 SPIGOLO N O 89027.609 3393.507 52 1 7 231210 2010168788 QUOTA A TERRA SUL PAVIMENTO 4 208.357
A045 1 8 156 SPIGOLO N O 88728.785 3459.344 52 1 8 260803 200363368
A045 1 9 259 SPIGOLO N E FABBRICATO 89101.155 3148.787 52 1 9 240500 2000126176
A045 1 11 59 SPIGOLO SO 88797.522 3074.317 52 3 5 100691 19918136
A045 1 12 125 SPIGOLO SO 89117.707 3719.443 70 1 12 081112 2012127681 QUOTA A TERRA ALLA BASE DELLA COLONNA 4 209.766
A045 1 13 75 ASSE PALO ENEL 89314.026 3922.876 70 1 13 081112 2012127681 QUOTA ALLA BASE DEL PALO 4 203.694
A045 1 15 7 SPIGOLO NORD EST 89859.700 3343.000 10 1 15 201008 Agg. Monog. AL SUOLO 3 286.000
A045 1 16 14 SPIGOLO SUD EST CORPO SCALA 89617.000 3211.500 10 1 16 201008 Agg. Monog. AL SUOLO 3 271.500
column start length
Codice nazionale del Comune 1 4
Codice Sezione 5 1
Foglio 7 4
Allegato 12 1
Fiduciale 14 4
Particella 19 11
Monografia planimetrica 31 70
Coordinata Nord 102 12
Coordinata Est 115 12
Attendibilità 128 2
Foglio Origine 131 4
Allegato F. Origine 136 1
Fiduciale Origine 138 4
Data di Aggiornamento 143 6
Causale di Aggiornamento 150 15
Monografia Altimetrica 166 70
Attendibilità Altimetrica 237 2
Quota 240 12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment