AW: [mapserver-dev] RFC49: mapfile simplifications and symbologyenhancements

Havard Tveite havard.tveite at umb.no
Fri Dec 12 09:59:04 EST 2008


Karsten,

If you want scalable symbols you need to use the layer
level key SYMBOLSCALEDENOM.
The default size (given by "SIZE") will be used for the
SYMBOLSCALEDENOM scale, and the symbol will be scaled
according to the current mapscale (within the bounds
MINSIZE..MAXSIZE).

http://mapserver.gis.umn.edu/docs/reference/mapfile/layer

For example, given the following values:
SYMBOLSCALEDENOM 10000
SIZE 10
MINSIZE 2
MAXSIZE 40
The symbol will be 10 pixels high when rendered at the
map scale 1:10000, 20 pixels high when rendered at the
map scale 1:5000, 5 pixels high when rendered at the
map scale 1:20000.  For very small map scales the height
will be 2 pixels, for very large map scales, the height
will be 40 pixels.

Håvard

Karsten Hoffmann wrote:
> Hi Thomas,
> 
> I’m not sure if I understand what you mean.
> 
> I tried your proposition with Mapserver 5.2. But all circles have the same
> size (43 pixel):
> 
> LAYER
>   NAME        population
>   TYPE         POINT
>   STATUS    default
>   DATA         Lan_point.shp
>   CLASS
>     NAME 'Population'
>     STYLE
>         SYMBOL 'circle'
>         SIZE [poptotal]
>         MINSIZE 18
>         MAXSIZE 43
>         OUTLINECOLOR 0 0 0
>         COLOR 0 0 255
>     END
>   END
> END
> 
> The sizes of the circles should vary depending on the number of habitants. I
> don’t want to preprocess the population data. At the moment I calculate the
> sizes of the circles by myself and write them in a new field (pop_size) in
> the attribute table.
> The Style is then:
> 
>     STYLE
>         SYMBOL 'circle'
>         SIZE [pop_size]
>         OUTLINECOLOR 0 0 0
>         COLOR 0 0 255
>     END
> 
> The population varies from around 5000 to 30000 habitants. The sizes of the
> circles should vary from 18 to 43.
> 
> With a Chart-Layer it is very comfortable to define this:
> 
> PROCESSING "CHART_SIZE_RANGE=poptotal 18 43 5000 30000"
> 
> But I don’t want to have a pie chart with slices here just a simple filled
> circle.
> 
> Best,
> Karsten
> 
> 
> -----Ursprüngliche Nachricht-----
> Von: thomas bonfort [mailto:thomas.bonfort at gmail.com]
> Gesendet: Donnerstag, 4. Dezember 2008 12:18
> An: Karsten Hoffmann
> Cc: mapserver-dev Mailing List
> Betreff: Re: [mapserver-dev] RFC49: mapfile simplifications and
> symbologyenhancements
> 
> karsten, if I understant your request correctly, MapServer already has that:
> 
> STYLE
>  SYMBOL "circle"
>  SIZE [population]
>  MINSIZE 3
>  MAXSIZE 20
> END
> 
> you'll probably want to preprocess the [population] in your data
> request (to add steps, or scaling)
> 
> regards,
> thomas
> 
> On Thu, Dec 4, 2008 at 11:45, Karsten Hoffmann
> <khoffmann at igf.uni-osnabrueck.de> wrote:
>> Dear developers,
>>
>> I would like to ask for another feature which could be perhaps included in
>> this RFC.
>>
>> Since version 5.2 it's possible to bind the size of pie charts to an
>> attribute (https://trac.osgeo.org/mapserver/ticket/2136):
>> PROCESSING "CHART_SIZE_RANGE=itemname minsize maxsize minval maxval"
>>
>> This would also be useful for point symbols as simple diagrams without
>> slices or bars. The idea is to have a symbol, let's say a filled circle or
>> square, which varies continuously in size. The size is bound to an
> attribute
>> for example the absolute number of habitants of different countries.
>>
>> This would be a useful feature for thematic mapping. Is it possible to
>> implement this?
>>
>> Best regards
>> Karsten Hoffmann
>>
>>
>> -----Ursprüngliche Nachricht-----
>> Von: mapserver-dev-bounces at lists.osgeo.org
>> [mailto:mapserver-dev-bounces at lists.osgeo.org] Im Auftrag von thomas
> bonfort
>> Gesendet: Donnerstag, 4. Dezember 2008 11:18
>> An: mapserver-dev Mailing List
>> Betreff: [mapserver-dev] RFC49: mapfile simplifications and
>> symbologyenhancements
>>
>> Hi,
>>
>> Not sure if the changes warrant a full blown RFC, but as there quite a
>> number of them I've regrouped them.
>>
>>
> http://trac.osgeo.org/mapserver/browser/trunk/docs/development/rfc/ms-rfc-49
>> .txt
>>
>> These changes are/were all in RFC45, but were extracted to keep things
>> moving on as some of the stuff in rfc45 lacks funding in the near
>> future.
>>
>> You can see it in action here on openstreetmap data:
>> http://mapserverosm.s3.amazonaws.com/parisosm.html
>> nothing that's impossible to do with the current mapfile keywords
>> (except for polygon label placement, and thin lines thanks to
>> fractional size/widths), but the mapfile maintainance and creation is
>> greatly simplified, as e.g. roads are mostly defined with a single
>> class whatever the scale (using a combination of sizeunits at the
>> layer level, and min/max width and min/max scale at the style level)
>>
>> regards,
>> thomas
>> _______________________________________________
>> mapserver-dev mailing list
>> mapserver-dev at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/mapserver-dev
>>
>>
> 
> _______________________________________________
> mapserver-dev mailing list
> mapserver-dev at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapserver-dev
> 

-- 
Håvard Tveite
Department of Mathematical Sciences and Technology, UMB
Drøbakveien 31, POBox 5003, N-1432 Ås, NORWAY
Phone: +47 64965483 Fax: +47 64965401 http://www.umb.no/imt/


More information about the mapserver-dev mailing list