[Gfoss] visualizzare file .shp

Andrea Peri aperi2007 a gmail.com
Dom 22 Dic 2013 20:15:09 CET


Tieni presente che senza l'shx e il dbf non riesci a fornire gli attributi
delle geometrie.
La cosa non è banale.

Ad esmepio:
se vuoi colorare le geometrie usando il valore di un attributo, ti serve
disporre degli attributi.
Oppure se vuoi mettere una etichetta.

Solamente con le geoemtrie, sei costretto a colorare tutte le geometrie
alla stessa maniera.
In alcuni casi puo' andare bene. Va bene se il senso della geometria è di
identificare dove vi è una determinata
cosa.
Ad esmepio gli incidenti stradali sono sempre incidenti e allora basta
mostrare dove sono successi.
Pero', pensa al caso del numero di feriti.
Se devi mostrare di rosso gli incidenti con feriti gravi o deceduti, in
giallo quelli senza decessi e cosi' via, devi disporre del DBF.

NOn so' con che ambiente lavori.
Se usi il C.
Puoi usare la libreria Shapelib. Attualmente alla 1.3.0
Tale libreria ti consente di gestire separatamente la parte shp e la parte
dbf.
Apri il dbf e lo carichi in un array in memoria.
conservando anche l'indice di posizione del record dbf.
Poi chiudi il dfile DBF, mantieni in memoria l'array e apri il file SHP e
con esso disegni sulla mappa.

La libreria shapelib gestisce lo shapefile, non gestisce la parte di
renderizzazione, per fare quella paete immaigno che avrai altre soluzioni.

A.



Il giorno 22 dicembre 2013 19:48, Alessandro Trebbi <a.trebbi a gmail.com> ha
scritto:

> Il problema e' che posso "aprire" un file alla volta ;
> ogni applicazione iOS gira in una sandbox, c'e' una API per "passare" i
> documenti da una app all'altra, ma appunto passo un file alla volta (cfr:
> UIDocumentInteractionController )
> quindi avrei la necessita' di gestire la visualizzazione quando dispongo
> del solo .shp ( senza .shx e senza .dbf )
>
>
>
>
>
> Il giorno 22 dicembre 2013 18:53, Andrea Peri <aperi2007 a gmail.com> ha
> scritto:
>
> Il file SHX non contiene informazioni uniche.
>> Esso collega i records del file shp che contiene le geometrie con i
>> records. del file DBF.
>>
>> Scusa ma non ho ancora capito bene quale sia il tuo problema.
>>
>> Te hai un file shp orfano dell' SHX o cosa altro ?
>>
>> se questo è il tuo problema esiste un programmino eseguibile molto carino
>> , si chiama
>> shapechk.exe
>> che ripara gli shapefiles e ricostruisce il file shx a fronte del shp+dbf.
>>
>> Lo puoi scaricare da qui:
>> http://arcscripts.esri.com/details.asp?dbid=10806
>>
>>
>>
>>
>> Il giorno 22 dicembre 2013 15:46, Alessandro Trebbi <a.trebbi a gmail.com>ha scritto:
>>
>>
>>> Il problema e' che all'app gli posso passare un file alla volta , e
>>> vorrei visualizzare qualcosa gia' sul primo file, per cui la mia idea era
>>> di creare in prima battuta un file shx fittizio ( anche un dbf vuoto se
>>> necessario...) visto che a quanto ho capito non e' proprio indispensabile (
>>> specie senza dbf ).
>>>
>>> mi pare ci siano software che leggono il file shp anche in mancanza
>>> degli altri files ( l'shx a quanto ho capito e' un indice )
>>>
>>> ho trovato un vecchio thread su gdal con un problema simile al mio ( qui
>>> l'shx era comunque presente ma corrotto ):
>>> http://lists.osgeo.org/pipermail/gdal-dev/2006-May/008707.html
>>> dove pare fosse stato aperto un enhancement per risolverlo ( ma poi
>>> evidentemente non e' stato mai fatto )
>>>
>>> ciao,
>>> Alessandro
>>>
>>>
>>>
>>> Il giorno 22 dicembre 2013 12:32, Andrea Peri <aperi2007 a gmail.com> ha
>>> scritto:
>>>
>>> GDAL usa e legge formati standard.
>>>> Lo standard esri per lo shapefile prevede la presenza dei 3 files
>>>> citati.
>>>> Senza uno di essi gdal interpreterebbe la sua assenza come un errore.
>>>> A meno che non tarocchi i sorgenti.
>>>>
>>>> Perche' non usi un altro formato tra quelli forniti da gdal . ad
>>>> esempio:
>>>> il fomato KML.
>>>> Oppure lo spatialite. Il quale essendo un unico file sqlite risponde a
>>>> questo tuo pre-requisito di essere un file unico.
>>>>
>>>>
>>>>
>>>>
>>>> Il giorno 22 dicembre 2013 11:45, Alessandro Trebbi <a.trebbi a gmail.com
>>>> > ha scritto:
>>>>
>>>>> vorrei fare un visualizzatore di shape files per iOS , utilizzando gdal
>>>>>
>>>>> il mio problema e' che con il solo shape file, ho dei problemi con la
>>>>> libreria quando apro l'shp ( cerca anche gli altri files nello stesso
>>>>> percorso):
>>>>>
>>>>> *ERROR 4: Unable to open
>>>>> /var/mobile/Applications/58D349E1-C519-4DE0-93CB-ED82DFF75F42/Documents/grafoCiclabile_polyline.shx
>>>>> or
>>>>> /var/mobile/Applications/58D349E1-C519-4DE0-93CB-ED82DFF75F42/Documents/grafoCiclabile_polyline.SHX.*
>>>>>
>>>>> premesso che il file shx ( ed anche il dbf ) ce li avrei disponibili
>>>>> ma per motivi tecnici posso aprire il visualizzatore con un solo file, mi
>>>>> chiedevo :
>>>>> - se c'e' modo di ricostruire l'shx ( o meglio crearne uno fittizio
>>>>> senza alcun elemento che tanto mi manccherebbe pure il dbf ), visto che mi
>>>>> servirebbe la sola geometria ( georeferenziata )
>>>>> - esiste un formato (ed estensione) standard per "raggruppare" i vari
>>>>> files che costituiscono uno shape file ?
>>>>>
>>>>>
>>>>> --
>>>>> Greetings,
>>>>> Alessandro Trebbi <http://www.3bsoft.com>
>>>>>
>>>>> email certificata:
>>>>> alessandro.trebbi a ingpec.eu
>>>>>
>>>>> *Le informazioni contenute in questo messaggio possono essere di
>>>>> natura riservata e confidenziale e sono indirizzate unicamente al
>>>>> destinatario. Qualora non ne siate il destinatario, vi e' fatto divieto di
>>>>> utilizzare, copiare, divulgare o intraprendere qualsiasi azione basata su
>>>>> questo messaggio o sulle informazioni in esso contenute. Se avete ricevuto
>>>>> questo messaggio per errore, Vi preghiamo di comunicare immediatamente al
>>>>> mittente l'accaduto e di cancellare il messaggio.*
>>>>>
>>>>> _______________________________________________
>>>>> Gfoss a lists.gfoss.it
>>>>> http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
>>>>> Questa e' una lista di discussione pubblica aperta a tutti.
>>>>> I messaggi di questa lista non hanno relazione diretta con le
>>>>> posizioni dell'Associazione GFOSS.it.
>>>>> 666 iscritti al 22.7.2013
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> -----------------
>>>> Andrea Peri
>>>> . . . . . . . . .
>>>> qwerty àèìòù
>>>> -----------------
>>>>
>>>
>>>
>>>
>>> --
>>> Greetings,
>>> Alessandro Trebbi <http://www.3bsoft.com>
>>>
>>> email certificata:
>>> alessandro.trebbi a ingpec.eu
>>>
>>> *Le informazioni contenute in questo messaggio possono essere di natura
>>> riservata e confidenziale e sono indirizzate unicamente al destinatario.
>>> Qualora non ne siate il destinatario, vi e' fatto divieto di utilizzare,
>>> copiare, divulgare o intraprendere qualsiasi azione basata su questo
>>> messaggio o sulle informazioni in esso contenute. Se avete ricevuto questo
>>> messaggio per errore, Vi preghiamo di comunicare immediatamente al mittente
>>> l'accaduto e di cancellare il messaggio.*
>>>
>>
>>
>>
>> --
>> -----------------
>> Andrea Peri
>> . . . . . . . . .
>> qwerty àèìòù
>> -----------------
>>
>
>
>
> --
> Greetings,
> Alessandro Trebbi <http://www.3bsoft.com>
>
> email certificata:
> alessandro.trebbi a ingpec.eu
>
> *Le informazioni contenute in questo messaggio possono essere di natura
> riservata e confidenziale e sono indirizzate unicamente al destinatario.
> Qualora non ne siate il destinatario, vi e' fatto divieto di utilizzare,
> copiare, divulgare o intraprendere qualsiasi azione basata su questo
> messaggio o sulle informazioni in esso contenute. Se avete ricevuto questo
> messaggio per errore, Vi preghiamo di comunicare immediatamente al mittente
> l'accaduto e di cancellare il messaggio.*
>



-- 
-----------------
Andrea Peri
. . . . . . . . .
qwerty àèìòù
-----------------
-------------- parte successiva --------------
Un allegato HTML ? stato rimosso...
URL: <http://lists.gfoss.it/pipermail/gfoss/attachments/20131222/b53cdbe2/attachment.html>


Maggiori informazioni sulla lista Gfoss