ShapeLib, almeno in debian/ubuntu è facilmente installabile con apt ma non tutte le sue utilissime utility vengono istallate di default e il motivo forse dipende dal fatto che sono software /contrib.
Questi sono i pacchetti che si perderebbero senza fare attenzione a cosa c’è nel codice sorgente:
dbfcat, dbfinfo, shpcat, shpcentrd, shpdata, shpdxf, shpfix, shpinfo, shpproj e shpwkb
Potete già intuirne l’utilità per lo sviluppo GIS.
Qui il download del sorgente di ShapeLib
mkdir ~/SORGENTI cd SORGENTI wget http://dl.maptools.org/dl/shapelib/shapelib-1.2.10.tar.gz tar zxvf shapelib-1.2.10.tar.gz cd shapelib-1.2.10/
ShapeLib non ha un file configure ma esiste un Makefile che provvede a tutto per cui
make all 2>&1 | tee make_all.log
e poi ancora
make lib 2>&1 | tee make_lib.log
per ottenere il file lib libshp.so
Alla fine vi troverete pronti i pacchetti: dbfadd, dbfcreate, dbfdump, shpadd, shpcreate, shpdump, shprewind e libshp.so .
Ma fin qui avete ottenuto lo stesso che con apt-get install shapelib
Ora per i pacchetti contrib:
cd contrib/ make all 2>&1 | tee make.log
la compilazione vi darà un errore “at the line number 546 of shpgeo.c file”.
Modificate la linea 546 del file shpgeo.c, in questo modo:
»» (SHPObject*) ppsC[cParts] = SHPUnCompound ( psCShape, &nextring );
da rimpiazzare con:
«« ppsC[cParts] = SHPUnCompound ( psCShape, &nextring );
e ancora:
make clean make all 2>&1 | tee make.log
e ora copiate tutto al suo posto:
cp -v dbfadd dbfcreate dbfdump shpadd shpcreate shpdump shprewind /usr/local/bin
ma forse quello sopra lo avete già nel sistema col pacchetto debian
cp -v contrib/dbfcat contrib/dbfinfo contrib/shpcat contrib/shpcentrd contrib/shpdata contrib/shpdxf contrib/shpfix contrib/shpinfo contrib/shpproj contrib/shpwkb /usr/local/bin
questo è tutto e le nuove utility sono d’avvero utilissime