Nuova ripresa della mia mail … a questo punto corro il rischio che Lorenzo inizi a parlare anche nel mio caso di monologhi deliranti, come già per Maurizio Napolitano :DDD
Il mio problema (impossibilità di eseguire query su raster classificati, ma commentando la classificazione le query sono eseguite senza problemi) è finito direttamente nelle mani di Frank Warmerdam, obiettivamente preoccupato che si tratti di un bug:
“I think this is a bug in mapserver. That I did not touch all the parts
of the code I should have when implementing raster query support”
Anche attraverso il Trac di OsGEO ho fatto avere a Frank una minidemo del mio progetto su cui potesse sperimentare l’errore. Ecco la sua quasi immediata risposta, che conferma il problema, propone degli interventi (trattare il raster come point layer solo in caso di query!) pur non essendone convinto, si ripropone di rimettere il tutto in lista dev, e chiede di “convincerlo” dell’importanza della cosa.
"I could potentially modify msDrawShape() to treat raster layers as point
layers since the features returned by a query on the raster layer will be
points. But I’m really not too comfortable with this. Really, I’m not
sure that it makes a lot of sense to drawing a map of raster query
results. And if we decide this is worth doing, it is problematic to have a
raster layer treated as a raster for some purposes, and as a point layer
for others. In particular, how do we provide styling info that will be
appropriate in these fairly different circumstances.
I’m tempted to modify msDrawQueryLayer() to do nothing raster layers, but
to issue a debug message indicating that the layer is being skipped since
drawing raster query results is considered an unclear request. I will
post to mapserver-dev to see if any of the other developers have an
opinion.
If you see a very valuable use case for plotting raster query results,
perhaps you could explain it here."
Vi giro tutto questo innanzitutto per informarvi di come si è evoluta la cosa e soprattutto per chiedervi:
- non c’è veramente nessun altro che ha sperimentato problemi con query su raster classificati in mapserver?
- quali possono essere dei “valuable use fot plotting raster query results” secondo voi: io, come ricordato, sono nuovissimo di mapserver ma mi è venuto naturale includere nel mio progetto raster classificati (due casi banali: un DEM classificato per fasce di quota; un raster derivante da una classificazione supervised) e dunque avere la necessità di eseguire anche se essi la mia nquery.
- voi come operereste per un workaround del problema? potrei sicuramente passare dai raster a dei vettoriali e smettere di avere problemi con le query però, come diceva la nonna, che “stufìda”!
M
Il 19/04/07, Marco Cerruti <cerruti.marco@gmail.com > ha scritto:
Recupero una mia precedente richiesta di aiuto, che non aveva avuto risposta anche perché ho appurato che in realtà il problema era diverso. La discriminante errore/non errore infatti non è il formato raster ma il fatto di eseguire query su layer raster non classificati o classificati. In questo secondo caso, indipendentemente dal formato raster, una query mi restituisce l’errore che vi ho già indicato.
msDrawShape(): General error message. Unknown layer type.
Remmando completamente le definizioni delle CLASS la query viene eseguita correttamente, ovviamente senza fornire l’informazione [class].
Posto l’estratto di mapfile riferito al layer e ad una sua classe. Se qualcuno mi illuminasse sulle query su raster classificati … anche spulciando a fondo sul sito di Mapserver e negli archivi di varie liste non ne sono davvero venuto a capo. Ribadisco che come utente Mapserver sono davvero nella prima infanzia.
LAYER # Classificazione vegetazione 2000
NAME class_2000
DATA “2000/final_after_merging.bil”
STATUS OFF
TYPE RASTER
OFFSITE 0 0 0
GROUP “Uso e copertura del suolo”
TOLERANCE 0
TOLERANCEUNITS pixels
PROJECTION
“init=epsg:4326”
END
METADATA
TITOLO “Classificazione vegetazione da satellite - Anno 2000”
ORDINE “0044”
END
HEADER “class2000_header.html”
FOOTER “class2000_footer.html”
CLASSITEM “[pixel]”
CLASS
NAME “Latifoglie (pure o dominanti)”
EXPRESSION ([pixel] = 2)
STYLE
COLOR 0 255 0
END
TEMPLATE “class_query.html”
END
END # Fine raster classificazione vegetazione 2000
Il 16/04/07, Marco Cerruti <cerruti.marco@gmail.com > ha scritto:
Sto lavorando con MS4W (versione 2.2.3) via CGI e sto sperimentando problemi nelle query di alcuni formati raster.
Nel dettaglio e molto semplicemente eseguo query senza problemi su un Landsat in formato .IMG mentre nel caso di un .BIL (che comunque viene ben mostrato e classificato in modalità browse) ricevo il seguente errore:
msDrawShape(): General error message. Unknown layer type.
Le query per i due layer sono definite allo stesso identico modo nel mapfile, attraverso definizione di TOLERANCE, TOLERANCEUNITS e TEMPLATE (query, header, footer).
Altri raster .BIL mi danno identici errori.
E’ un problema noto legato al formato?
Essendo pressoché novello utente di Mapserver, dove devo intervenire?
Thanks,
M