On Mon, 3 Mar 2008 11:16:43 +0100, Andrea Peri wrote > Scusa, ma devo contraddirti decisamente. > Il file .shx non ci entra niente con l'abbinamento tra > geometria e attributi. > Esso contiene solo l'indicizzazione spaziale, e qui non centra, > perche' l'indicizzazione spaziale non rappresenta il legame tra > attributi nel dbf e geometria nel .shp.
Scusami te, ma rimango della mia idea. Continuo a pensare che la via "meno rischiosa" per associare geometrie ed attributi è proprio quella di basarsi sull'SHX. Sempre da http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf [i.e. la ben nota specifica ESRI ufficiale che rende shapefile un formato pubblicamente documentato]: a) shp record header: Byte 0 Record Number Integer BigEndian Byte 4 Content Length Integer BigEndian b) shx record: Byte 0 Offset Offset Integer BigEndian Byte 4 Content Length Integer BigEndian - The main file is a direct access, variable-record-length file in which each record describes a shape with a list of its vertices. - In the index file, each record contains the offset of the corresponding main file record from the beginning of the main file. - The dBASE table contains feature attributes with one record per feature. The one-to-one relationship between geometry and attributes is based on record number. Quindi le strutture dati che consentono di associare dinamicamente geometria ed attributi informativi con accessi random che usano l'SHX come struttura guida ci sono tutte. Poi però ti dicono anche: - Attribute records in the dBASE file must be in the same order as records in the main file. Insomma, quanto meno ci sono un paio di ridondanze [ambiguità ? contraddizioni ?] di troppo che si prestano anche troppo bene ad interpretazioni ed implementazioni "varie", in primis da parte di ESRI stessa. Infatti posso dirti per esperienza personale che tutti i non pochi shapes che mi sono capitati sotto mano che non presentavano per nulla una corrispondenza 1:1 nell'ordinamento del DBF e dello SHP erano sicuramente stati generati con ArcView e/o ArcGis. > Prova ne e' che in assenza del file .shx e' sempre possibile > recuperare il corretto abbinamento tra dbf e shp. Al riguardo qualche > mese fa' vi fu' un thread su questo argomento e su un programmino che > si chiamava "shapecheck". Qui siamo in pieno hacking "a rischio". Uno shapefile privo di SHX [oppure che presenti uno SHX corrotto / malformed] sarebbe sempre meglio considerarlo come "non utilizzabile"; non dubito affatto che nel 90% dei casi si possa ricostruire lo shx a partire dai soli shp+dbf, ma si tratta comunque di "operazioni a luci rosse" ciao Sandro Furieri _______________________________________________ Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione [email protected] http://www.faunalia.com/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. I messaggi di questa lista non rispecchiano necessariamente le posizioni dell'Associazione GFOSS.it.
