[mapserver-users] dynamic layer classification
Brent Fraser
bfraser at geoanalytic.com
Fri Aug 26 11:29:16 PDT 2011
Hopefully your favorite scripting language is Python (and not PHP or
Perl) as the support is much better. I'm no expert in Mapscript, but in
general your script would do something like:
1. Load the 'template' map file (containing most of the map/layer/class
definitions)
2. Get the Layer object of interest, and iterate thru the class objects
assigning the desired symbology
3. Generate and send the image to the browser
There is reference doc on the Mapserver site for Mapscript but I didn't
see any tutorial. GeoMoose has some extensive PHP Mapscript you might
be able to use as a guide.
Best Regards,
Brent Fraser
On 8/26/2011 11:50 AM, Mr. Puneet Kishor wrote:
> On Aug 26, 2011, at 12:39 PM, Brent Fraser wrote:
>
>> Puneet,
>>
>> I think currently the short answer is Mapscript.
>>
>> I had a similar need last year (http://lists.osgeo.org/pipermail/mapserver-users/2010-March/065050.html) where I needed to have the symbology stored in the database and the classes varied over time (users created new class defs in the database via a web page).
>>
>> Steve Lime suggested an enahancement where classes were defined by a SLD file or url:
>>
>> LAYER
>> NAME 'extreme-symbology'
>> DATA ...
>> CONNECTION ...
>> SLD 'some flle' or 'some url'
>> ...
>> END
>>
>> which is an elegant solution, but currently not implemented...
>
> Yes, that would be a very nice solution, precisely the kind of thing I am looking for. In fact, even better would be
>
> LAYER
> ..
> SLD 'some expression'
>
> where 'some expression' could be stored in a file, or retrieve via a URL, or from a db query.
>
> But, until that comes along, I could and will use MapScript. I compiled MS 6.0.1 yesterday, and discovered, much to my delight, that MapScript in my favorite programming language (the one that begins with P) is alive and doing well.
>
> So, how would I go about implementing this in MapScript? I would have to create the layer definition on the fly, no? Any pointers?
>
>
>
>> Best Regards,
>> Brent Fraser
>>
>>
>> On 8/26/2011 8:35 AM, Mr. Puneet Kishor wrote:
>>> hola,
>>>
>>> I need some guidance on this (and my MapServer foo is severely rusted). My immediate need is to color a polygon layer (held in PostGIS) based on an attribute in a separate table. The number of CLASSes is considerable, more than 80 or so. This leads to a longer term need --
>>>
>>> The coloring of these polys is a crucial and universal need in my field of work, and it horrendously complicated determining the correct color, and the calculations for the appropriate color keep on changing from time to time. In other words, many different applications need this ability to classify polys based on certain attributes. So, I am creating a web app that does nothing but tell what color to use -- you give it a set of attributes, and the web app replies with the color. It would be a RESTful app, sending the color information back as JSON. How could I use this information with MapServer?
>>>
>>> In an ideal scenario, MapServer would query the data source, then, for each class in the layer, it would send a query to this color app, and the color app would tell MapServer what color to use to render the poly. The same app would be used by other apps, be they MapServer, OL, Polymaps, or even non-mapping apps such as R, etc.
>>>
>>> Suggestions on how to proceed?
>>>
>>> --
>>> Puneet Kishor
>>> _______________________________________________
>>> mapserver-users mailing list
>>> mapserver-users at lists.osgeo.org
>>> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>>>
>
More information about the MapServer-users
mailing list