[mapserver-users] Passing a mapfile via CGI

Brent Fraser bfraser at geoanalytic.com
Mon Apr 16 16:49:46 EDT 2012


It would make an interesting user extension in GeoMoose:
  - Based on some GUI trigger (a button?), request a list of layers from 
a URL (hey, a "getCapabilites" style service!), and populate/replace the 
layer list in the catalog.

That would be cool...

Best Regards,
Brent Fraser


On 4/16/2012 2:07 PM, Bob Basques wrote:
>
> Yeah, the problem is, the list of GPSs is variable.
>
>
> It's all in POSTGIS now, and by GPS name.
>
>
> bobb
>
>
>
>
> >>> Brent Fraser <bfraser at geoanalytic.com> wrote:
>
> I guess my solution would be to put the trails in a PostGIS table:
>
> Trails:
> id    name    geometry
> 1    trail A    234523452345
> 2    trail B    5879567876454
>
> Use one map file with a FILTER "name='%trail_name%'".  Now use 
> http://.../mapserv?trail_name="trail A" to have mapserver do the 
> variable substitution in the mapfile.
>
> The bigger problem is generating the GUI layer list with the pointers 
> to the mapserver URLs.  A script/database generated mapbook in 
> GeoMoose, or JavaScript list for use with OpenLayers, etc...
>
> Best Regards,
>
>
>            
>
> Brent Fraser
>
>
>
> On 4/16/2012 1:41 PM, Bob Basques wrote:
>
>> Individual trails, one layer per GPS to allow user control of 
>> visibility.
>>
>>
>> bobb
>>
>>
>>
>>
>> >>> Brent Fraser <bfraser at geoanalytic.com> wrote:
>>
>> Well, in this application I don't care about a feature's real-world 
>> attributes (only the  geometry and their feature "class"), so I'm 
>> able to pack all polygons into one table.  I then join the polygon 
>> table to the feature class table to get the color, etc.
>>
>> Are you representing each GPS trail as a separate layer?  So the user 
>> can turn individual trail on/off in a layer control?
>>
>> Best Regards,
>>
>>
>>
>>                
>>
>> Brent Fraser
>>
>>
>>
>>
>>
>> On 4/16/2012 1:07 PM, Bob Basques wrote:
>>
>>> Hmm, interesting apporach, reminds me of my ealier days with Oracle 
>>> (before Oracle Spatial, where each feature type needed it's own 
>>> table structure . . .  Have to do some more thinking on this one.
>>>
>>>
>>> I'm trying to render a predefined list of layers (from the user) of 
>>> a set of GPS trails that are BEGIN  and END indexed.
>>>
>>>
>>> bobb
>>>
>>>
>>>
>>>
>>> >>> Brent Fraser <bfraser at geoanalytic.com> wrote:
>>>
>>> Bob,
>>>
>>>   What kinds of things are you trying to do with layers?  Are the 
>>> layers vectors?  Maybe there's a different way...
>>>
>>> I'm in the midst of an implementation where the vectors are held in 
>>> PostGIS in three tables (point, line and polygon) and joined to a 
>>> "feature definition" table (to supply rendering values).  I use one 
>>> map file with three layers  (point, line, polygon) and pass a FILTER 
>>> variable to get my different layers which are then rendered.
>>>
>>> Here's a snippet from the polygon layer:
>>>
>>>         CLASS
>>>             STYLE # Polygon Fill
>>>                 SYMBOL       [polyfill_symbol]
>>>                 COLOR        [polyfill_fillcolor]
>>>                 ANGLE        [polyfill_angle]
>>>                 SIZE         [polyfill_hatchgap]  # e.g Hatching gap
>>>                 WIDTH         1 # [polyfill_hatchthick]  # Hatching 
>>> line thickness (column binding doesn't seem to work)
>>> #                OPACITY      50 # [attribute]  # warning: there is 
>>> no OPACITY for LABEL so don't bother.
>>>             END
>>>             STYLE # Polygon Outline
>>>                 SYMBOL       [geom_symbol]
>>>                 OUTLINECOLOR [geom_outcolor]
>>>                 SIZE         [geom_width]    # for "simple" (?) symbols
>>>                 WIDTH        [geom_width]    # for complex symbols
>>>             END # Style
>>>             TEXT             ([gid])
>>>             LABEL
>>>                 TYPE         TRUETYPE
>>>                 FONT         [label_font]
>>>                 ANTIALIAS    TRUE
>>>                 COLOR        [label_fillcolor]
>>>                 OUTLINECOLOR [label_outcolor]
>>>                 BUFFER       1
>>>                 POSITION     cc        # 
>>> [ul|uc|ur|cl|cc|cr|ll|lc|lr|auto]
>>>                 PARTIALS     TRUE
>>>                 SIZE         [label_height]
>>>             END  # LABEL
>>>
>>>         END # class
>>>
>>> While this method is suitable for rendering, it will be a problem if 
>>> you want store variables for use in an identify operation (or maybe 
>>> not; I wonder if a template name can be bound to a database column...)
>>>
>>>
>>>                  
>>>
>>> Best Regards,
>>>
>>>
>>>
>>>
>>>
>>>            
>>>
>>>
>>>          
>>>
>>>
>>>        
>>>
>>> Brent Fraser
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> On 4/16/2012 10:22 AM, Bob Basques wrote:
>>>
>>>> All,
>>>>
>>>>
>>>> Did anything ever develop from this idea?  I need to generate a 
>>>> variable length list of layers pro grammatically.
>>>>
>>>>
>>>> I'm not finding anything from a quick search of things related to 
>>>> passing a MAPFILE via the CGI call.  I want to be able to generate 
>>>> a MAPFILE, or chunks of it, on the fly.  A possible solution (maybe 
>>>> scary security wise) would be to use a param like 
>>>> "INCLUDE_<someID>=", to pass in MAP fragments to an existing 
>>>> MAPFILE.  I need to essentially add layers.
>>>>
>>>>
>>>> Another thought I had (Ok, it's a bit odd, I'll admit . . .) would 
>>>> be to have MapServer build it's own MAPFILE as a TEMPLATE output, 
>>>> but I'm not coming up with a way immediately of passing the 
>>>> resulting MAPFILE to Mapserver in the end.
>>>>
>>>>
>>>> bobb
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> mapserver-users mailing list
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> mapserver-users at lists.osgeo.org
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>>>>
>>>>
>>>>
>>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/mapserver-users/attachments/20120416/28cc408e/attachment-0001.html


More information about the mapserver-users mailing list