[Gfoss] spatialite e geoserver

a.furieri a lqt.it a.furieri a lqt.it
Gio 9 Giu 2011 18:27:03 CEST


On Thu, 09 Jun 2011 17:02:57 +0200, Benedetto Porfidia wrote
> Salve a tutti
> sto cercando di connettere spatialite a geoserver su win32.
> Ho seguito le raccomandazioni trovate qui [1]
> ma non riesco a farlo funzionare correttamente.
> 

Benedetto,

giusto un paio di puntualizzazioni per spiegarti
bene come funziona.

a) GeoServer è scritto in Java: quindi per
  prima cosa deve caricarsi un appropriato 
  connector JNI che gli consenta di caricare
  la DLL nativa (codice binario) per SQLite

b) a questo punto verrà caricata una ulteriore
  DLL (quella di spatialite) che aggiunge il
  supporto Spatial a SQLite.
  ovvio che se per qualsiasi motivo il caricamento
  della DLL di spatialite fallisce, GeoServer
  si troverà nell'assoluta impossibilità di usare
  l'estensione Spatial

ed è esattamente quello che succede a te: quando
ti ritrovi l'errore "no such function: AsText"
significa esattamente che la DLL di spatialite
non è stata affatto caricata.

non ho esperienza diretta, ma immagino che nel
logfile di GeoServer dovresti sicuramente trovare
qualche indicazione in merito (in genere il log
di GeoServer è molto verboso, ma è anche assai
dettagliato e preciso).

una della cause più comuni (ma non è affatto l'unica) 
che impediscono il caricamento della DLL di spatialite 
è proprio dovuta al fatto che manca qualche ulteriore DLL:
come dice correttamente la documentazione di GeoServer
da te indicata, sicuramente occorrono le DLL di
GEOS e di PROJ. Su Linux la storia finisce qua.

Ma su Windows occorre una ulteriore DLL: e precisamente
quella che supporta ICONV (locale charset, UTF-8), che
è un componente 'naturale' su Linux, mentre richiede
una libreria apposita su WinOz.

comunque puoi scaricare libiconv2.dll da qua:
http://www.gaia-gis.it/spatialite-2.4.0-4/dependencies-win-x86.zip

Circa la directory più opportuna in cui piazzare
le DLL, le regole di ricerca di Windows sono abbastanza
capricciose, e spesso quello che funziona su XP non
funziona affatto su Win7 o su WinServer.
ma se le installi tutte su C:\Windows\System32
dovrebbe ragionevolmente funzionare in tutti i casi.

fammi sapere come va a finire, son curioso ;-)
ciao Sandro


Maggiori informazioni sulla lista Gfoss