[Cartoweb-users] Solution: colors (value ranges) in legend do not correspond to colors (value ranges) in map
Stefan Neumeier
stefan.neumeier at vti.bund.de
Wed Aug 17 04:02:09 EST 2011
Dear all,
finally I found how to alter the code to get rid of the error (It
might not be the most elegant way but it works).
The problem was that in the mapfile I joined a geometry table with an
attribute table to create the geostat layer. But as the attribute table
contained several entries for every region in the geometry table
cartoweb created a map with geometries x entries in attributes table
whereas the single regions seemed to overlap each other so that only the
top most regions are visible (causing the impression of wrong classified
regions). So not only the regions
containing the data from the year and measurement of interest but all
regions got classified and depicted as overlapping polygons...
As for me it was not feasible to alter the database connection or table
structure (this would have meant heavy programming in order to get all
my other adaptions to work with the new structure etc.) I solved the
problem by altering the code in the serverGeostat.php -> function
getDistribFromSpatialData
by inserting following 'code' below the $msLayer = line:
1) Retrieve the data expression of the original geostat layer
$NewRequest=$msLayer->data;
2) Modification of the data expression by inserting a where clause
selecting only the year (and measurement) of interest
3) Altering the Overlay Layer accordingly:
$la = new LayerOverlay();
$la-> name = <my geostat layer name>;
$la->data -> $NewRequest;
4) Update the map:
$mapOverlay=$this->serverContext->getPluginManager()->mapOverlay;
$mapOverlay->updateMap($la);
regards,
Stefan
More information about the Cartoweb-users
mailing list