Buonasera,
sto cercando di utilizzare i servizi GIS della versione 1.3.1 di cmdbuild ho incontrando alcuni problemi nel caricamento dei layers. Riassumo brevemente quanto fatto finora
1. ho installato l'estensione postgis per postgres
2. ho installato geoserver (versione 2.0.2) e ho creato un workspace denominato "cmdbuild"
3. In cmdbuild ho abilitato la gestione gis e ho inserito il riferimento al workspace creato al punto 3. In aggiunta ho abilitato i servizi di cartografia Google, Yahoo e OpenStreet
4. All'interno di cmdbuild sono riuscito a creare un attributo geografico di tipo punto sulla scheda "Computer" e a inserire la posizione di alcuni Computer su una mappa fornita da google maps. Stesso discorso vale per un attributo di tipo poligono.
5. Se provo ad inserire un layer aggiuntivo per geoserver ottengo però un errore in fase di caricamento dello shapefile (HTTP 1.1 405 error - Method not allowed), a quanto pare non si riesce a creare un data store all'interno di geoserver (dai logs si nota che il comando http prevede una PUT che per qualche ragione porta a quel codice di errore).
Potreste fornirmi una procedura per creare dei layer in geoserver e per visualizzarli all'interno di cmdbuild in alternativa a quelli forniti da gmaps?
Inoltre è vero che gli attributi geografici che si inseriscono su una scheda (ad esempio "Computer") sono sempre e comunque considerabili come layer "overlays"? In tal caso immagino che senza un Base Layer non sia possibile visualizzare questi attributi. Potreste chiarire le relazioni tra le diverse tipologie di layers e le modalità di caricamento dei base layers?
Grazie in anticipo per vostra disponibilità
Paolo
Ciao,
Per quanto riguarda la prima parte della tua segnalazione, nella procedura che hai descritto manca l'installazione dell'estensione REST per GeoServer scaricabile all'indirizzo http://downloads.sourceforge.net/geoserver/geoserver-2.0.2-restconfig-plugin.zip. È sufficiente che tu estragga il contenuto dello zip nella cartella WEB-INF/lib della tua installazione di GeoServer.
Per quanto riguarda invece attributi geografici e layer, l'idea alla base del modulo GIS è la seguente: per ogni attributo geografico viene costruito un livello tra gli overlays che visualizza i dati inerenti quell'attributo. Attualmente, a causa di un bug non è possibile utilizzare la mappa senza un base layer, ma con il prossimo rilascio previsto per la seconda metà di Marzo questo sarà possibile. Si avrà quindi la possibilità di disegnare le proprie feature su sfondo bianco.
Anche i livelli forniti da GeoServer vengono inseriti tra gli overlays. L'utilizzo pensato prevede l'impostazione di un ordine generale dei livelli attraverso il menu "Ordine dei livelli". Dopo di che, per ogni Classe di CMDBuild è possibile decidere quali livelli, tra tutti quelli disponibili, visualizzare. Un esempio potrebbe essere:
- definire un attributo di tipo punto per "Computer"
- caricare lo Shape che rappresenti la cartografia di un edificio e impostare il livello di zoom minimo in modo che questa compaia ad un livello di zoom significativo.
- ordinare i livelli in modo che lo Shape sia sotto ai Computer
- impostare nella classe Computer il livello Shape inserito come visibile
Spero che queste informazioni ti siano di aiuto.
Martino
Grazie,
le info sono state di grande aiuto.
Ho incluso l'estensione REST per geoserver e ho installato la versione 1.3.1 del 16/03 e ora lo shapefile viene correttamente caricato in geoserver. A dimostrazione di ciò se utilizzo la layer preview di geoserver sono in grado di visualizzare il layer caricato.
Se però cerco di creare un attributo geografico come suggerito da voi nella precedente risposta ottengo un comportamento piuttosto strano. In particolare nella console di amministrazione visualizzo il layer di tipo punto e il layer shape che ho caricato in geoserver, e posso anche ordinarli a piacere. Quando però creo un nuovo oggetto Computer non riesco a visualizzare l'overlay di tipo shapefile (tra gli overlays compare unicamente l'attributo geo di tipo punto mentre manca quello di tipo shape) sebbene abbia provveduto a rendere visibile il layer shape per la classe computer. In aggiunta ottengo un errore che riporto di seguito (Detail_Computer_PClocation è la tabella che viene creata nello schema gis quando creo l'attributo geo di tipo punto):
INFO 2011-03-21 17:33:58 [jsonrpc ] Calling url /login/login
INFO 2011-03-21 17:34:03 [jsonrpc ] Calling url /login/login
INFO 2011-03-21 17:34:03 [jsonrpc ] Calling url /utils/gettranslationobject
INFO 2011-03-21 17:34:04 [jsonrpc ] Calling url /schema/setup/getconfiguration
INFO 2011-03-21 17:34:04 [jsonrpc ] Calling url /schema/setup/getconfiguration
INFO 2011-03-21 17:34:04 [jsonrpc ] Calling url /schema/setup/getconfiguration
INFO 2011-03-21 17:34:04 [jsonrpc ] Calling url /schema/setup/getconfiguration
INFO 2011-03-21 17:34:04 [jsonrpc ] Calling url /schema/setup/getconfiguration
INFO 2011-03-21 17:34:04 [jsonrpc ] Calling url /schema/modclass/getallclasses
INFO 2011-03-21 17:34:04 [cmdbuild] Updating Geoserver cache
INFO 2011-03-21 17:34:06 [jsonrpc ] Calling url /schema/modmenu/getgroupmenu
INFO 2011-03-21 17:34:06 [jsonrpc ] Calling url /management/modreport/getreporttypestree
INFO 2011-03-21 17:34:14 [jsonrpc ] Calling url /schema/modworkflow/statuses
INFO 2011-03-21 17:34:14 [jsonrpc ] Calling url /schema/modclass/getdomainlist
INFO 2011-03-21 17:34:14 [jsonrpc ] Calling url /schema/modclass/getattributelist
INFO 2011-03-21 17:34:15 [jsonrpc ] Calling url /schema/modclass/getfktargetingclass
INFO 2011-03-21 17:34:15 [jsonrpc ] Calling url /management/modcard/getcardlist
INFO 2011-03-21 17:34:15 [jsonrpc ] Calling url /schema/modlookup/getlookuplist
INFO 2011-03-21 17:34:15 [jsonrpc ] Calling url /schema/modlookup/getlookuplist
INFO 2011-03-21 17:34:15 [jsonrpc ] Calling url /schema/modlookup/getlookuplist
INFO 2011-03-21 17:34:15 [jsonrpc ] Calling url /management/modcard/getcardlistshort
INFO 2011-03-21 17:34:18 [jsonrpc ] Calling url /schema/modclass/getdomainlist
INFO 2011-03-21 17:34:18 [jsonrpc ] Calling url /schema/modclass/getattributelist
INFO 2011-03-21 17:34:18 [jsonrpc ] Calling url /schema/modclass/getfktargetingclass
INFO 2011-03-21 17:34:18 [jsonrpc ] Calling url /management/modcard/getcardlist
INFO 2011-03-21 17:34:19 [jsonrpc ] Calling url /schema/modlookup/getlookuplist
INFO 2011-03-21 17:34:19 [jsonrpc ] Calling url /management/modcard/getcardlistshort
INFO 2011-03-21 17:34:19 [jsonrpc ] Calling url /schema/modlookup/getlookuplist
INFO 2011-03-21 17:34:19 [jsonrpc ] Calling url /schema/modlookup/getlookuplist
INFO 2011-03-21 17:34:19 [jsonrpc ] Calling url /management/modcard/getcardlistshort
INFO 2011-03-21 17:34:43 [jsonrpc ] Calling url /gis/getfeature
ERROR 2011-03-21 17:34:43 [persist ] Inexistent attribute "IdClass" for table "gis.Detail_Computer_PClocation"
ERROR 2011-03-21 17:34:43 [sql ] Inexistent attribute "IdClass" for table "gis.Detail_Computer_PClocation"
INFO 2011-03-21 17:34:56 [jsonrpc ] Calling url /gis/getgeocardlist
ERROR 2011-03-21 17:34:56 [persist ] Inexistent attribute "IdClass" for table "gis.Detail_Computer_PClocation"
ERROR 2011-03-21 17:34:56 [sql ] Inexistent attribute "IdClass" for table "gis.Detail_Computer_PClocation"
Grazie in anticipo per qualunque ulteriore chiarimento
Paolo
Previously Tecnoteca wrote:
Ciao,
Per quanto riguarda la prima parte della tua segnalazione, nella procedura che hai descritto manca l'installazione dell'estensione REST per GeoServer scaricabile all'indirizzo http://downloads.sourceforge.net/geoserver/geoserver-2.0.2-restconfig-plugin.zip. È sufficiente che tu estragga il contenuto dello zip nella cartella WEB-INF/lib della tua installazione di GeoServer.
Per quanto riguarda invece attributi geografici e layer, l'idea alla base del modulo GIS è la seguente: per ogni attributo geografico viene costruito un livello tra gli overlays che visualizza i dati inerenti quell'attributo. Attualmente, a causa di un bug non è possibile utilizzare la mappa senza un base layer, ma con il prossimo rilascio previsto per la seconda metà di Marzo questo sarà possibile. Si avrà quindi la possibilità di disegnare le proprie feature su sfondo bianco.
Anche i livelli forniti da GeoServer vengono inseriti tra gli overlays. L'utilizzo pensato prevede l'impostazione di un ordine generale dei livelli attraverso il menu "Ordine dei livelli". Dopo di che, per ogni Classe di CMDBuild è possibile decidere quali livelli, tra tutti quelli disponibili, visualizzare. Un esempio potrebbe essere:
- definire un attributo di tipo punto per "Computer"
- caricare lo Shape che rappresenti la cartografia di un edificio e impostare il livello di zoom minimo in modo che questa compaia ad un livello di zoom significativo.
- ordinare i livelli in modo che lo Shape sia sotto ai Computer
- impostare nella classe Computer il livello Shape inserito come visibile
Spero che queste informazioni ti siano di aiuto.
Martino