[mapserver-users] drawing multiple layers from postgis
Basques, Bob (CI-StPaul)
bob.basques at ci.stpaul.mn.us
Fri Aug 9 09:02:31 PDT 2013
Thomas,
Oh man!! That's a subtle piece of info, any reason the END can't be left in there as a default somehow or at least ignored inside of the STYLE block, I can see this coming back to bite folks over time with the two different formats for SYMBOL/(and sometime END) combos.
Bobb
-----Original Message-----
From: mapserver-users-bounces at lists.osgeo.org [mailto:mapserver-users-bounces at lists.osgeo.org] On Behalf Of thomas bonfort
Sent: Friday, August 09, 2013 10:58 AM
To: Michael McInnis
Cc: mapserver-users at lists.osgeo.org
Subject: Re: [mapserver-users] drawing multiple layers from postgis
third time's a charm :)
LAYER
NAME business_rd1
CONNECTIONTYPE POSTGIS
CONNECTION "host=localhost dbname=Business user=postgres password=xxxx port=5432"
DATA "geom From business_rd1 as rd1 using unique id using srid=4326"
PROCESSING "CLOSE_CONNECTION=DEFER"
#MINSCALE 10000000
STATUS ON
TYPE POINT
CLASS
STYLE
SYMBOL 'circle'
SIZE 2
COLOR 255 0 0
END #Style
END # Class
END # Layer
symbol takes an END when you're defining a symbol , not when referencing it in a style.
On 9 August 2013 17:55, Michael McInnis <mmcinnis59 at msn.com> wrote:
> Thomas,
>
> Here is my complete map file when all the postgis layers are combined.
> Like I said, I can call all of these layers if I put just one layer in
> a .map file but can't get it to work with more than one.
>
> Thanks!
>
> MAP
> DEBUG 5
> CONFIG "MS_ERRORFILE" "/media/D_Drive/www/gis/logs/error_file.log"
> EXTENT -126 25 -64 50
> #EXTENT -123 47 -122 48
> IMAGECOLOR 153 179 204
> IMAGETYPE PNG24
> SHAPEPATH data/
> FONTSET data/fonts/fonts.list
> SIZE 1000 500
> #SIZE 800 800
> #SCALEDENOM 50000
> UNITS DD
> PROJECTION
> "+proj=longlat +ellps=WGS84"
> END
> OUTPUTFORMAT
> NAME png
> DRIVER "AGG/PNG"
> MIMETYPE "image/png"
> IMAGEMODE RGBA
> EXTENSION "png"
> END
> WEB
> IMAGEPATH "/media/D_Drive/www/gis/tmp/"
> IMAGEURL "gis/tmp/"
> END
>
> SYMBOL
> NAME "circle"
> TYPE ELLIPSE
> FILLED TRUE
> POINTS 1 1 END
> END
>
> LAYER
> NAME states
> DATA STATES
> STATUS ON
> TYPE Polygon
>
> CLASS
> OUTLINECOLOR 255 255 255
> COLOR 155 155 155
> END # Class
> END # Layer
>
> LAYER
> NAME business_rd1
> CONNECTIONTYPE POSTGIS
> CONNECTION "host=localhost dbname=Business user=postgres
> password=xxxx port=5432"
> DATA "geom From business_rd1 as rd1 using unique id using srid=4326"
> PROCESSING "CLOSE_CONNECTION=DEFER"
> #MINSCALE 10000000
> STATUS ON
> TYPE POINT
> CLASS
> SYMBOL 'circle'
> SIZE 2
> COLOR 255 0 0
> END
> END # Class
> END # Layer
>
> LAYER
> NAME business_rd2
> CONNECTIONTYPE POSTGIS
> CONNECTION "host=localhost dbname=Business user=postgres
> password=xxxxx port=5432"
> DATA "geom From business_rd2 as rd2 using unique id using srid=4326"
> PROCESSING "CLOSE_CONNECTION=DEFER"
> #MINSCALE 1000000
> STATUS ON
> TYPE POINT
> CLASS
> SYMBOL 'circle'
> SIZE 2
> COLOR 0 255 0
> END
> END # Class
> END # Layer
>
> LAYER
> NAME business_rd3
> CONNECTIONTYPE POSTGIS
> CONNECTION "host=localhost dbname=Business user=postgres
> password=xxxx port=5432"
> DATA "geom From business_rd3 as rd3 using unique id using srid=4326"
> PROCESSING "CLOSE_CONNECTION=DEFER"
> #MINSCALE 100000
> STATUS ON
> TYPE POINT
> CLASS
> SYMBOL 'circle'
> SIZE 2
> COLOR 0 0 255
> END
> END # Class
> END # Layer
>
> LAYER
> NAME business_rd4
> CONNECTIONTYPE POSTGIS
> CONNECTION "host=localhost dbname=Business user=postgres
> password=xxxxx port=5432"
> DATA "geom From business_rd4 as rd4 using unique id using srid=4326"
> PROCESSING "CLOSE_CONNECTION=DEFER"
> #MINSCALE 10000
> STATUS ON
> TYPE POINT
> CLASS
> SYMBOL 'circle'
> SIZE 2
> COLOR 255 0 255
> END
> END # Class
> END # Layer
> END # Map File
>
>
> Michael McInnis 6033 44th Ave. N.E. Seattle, WA 98115 206 517-4701
>
>> Date: Fri, 9 Aug 2013 17:44:02 +0200
>
>> Subject: Re: [mapserver-users] drawing multiple layers from postgis
>> From: thomas.bonfort at gmail.com
>> To: mmcinnis59 at msn.com
>> CC: mapserver-users at lists.osgeo.org
>
>>
>> https://github.com/mapserver/mapserver/issues/2922
>>
>> On 9 August 2013 17:40, Michael McInnis <mmcinnis59 at msn.com> wrote:
>> >
>> > I'm pretty sure that END is correctly ending the Symbol Clause.
>> >
>> > The odd thing about this is I can draw all four layers if I call
>> > them separately but when I try to call them through php only
>> > numbers 1 and 3 work. All layers were generated the same way in
>> > postgresql/postgis (see sql below).
>> >
>> > I'm going to regenerate layers 2 and 4 just in case but I think
>> > it's a problem with php/ms_script.
>> >
>> > // All these work
>> >
>> >
>> > http://localhost/cgi-bin/mapserv?map=/media/D_Drive/www/gis/busines
>> > s1.map&layers=business_rd1%20states&mode=map
>> >
>> >
>> > http://localhost/cgi-bin/mapserv?map=/media/D_Drive/www/gis/busines
>> > s2.map&layers=business_rd2%20states&mode=map
>> >
>> >
>> > http://localhost/cgi-bin/mapserv?map=/media/D_Drive/www/gis/busines
>> > s3.map&layers=business_rd3%20states&mode=map
>> >
>> >
>> > http://localhost/cgi-bin/mapserv?map=/media/D_Drive/www/gis/busines
>> > s4.map&layers=business_rd4%20states&mode=map
>> >
>> >
>> >
>> > // Half of these work
>> >
>> > http://mapserver0/business.php?num=1 works
>> >
>> > http://mapserver0/business.php?num=2 not
>> >
>> > http://mapserver0/business.php?num=3 works
>> >
>> > http://mapserver0/business.php?num=4 not
>> >
>> >
>> >
>> > // All these work
>> >
>> >
>> > http://localhost/cgi-bin/mapserv?map=/media/D_Drive/www/gis/busines
>> > s1.map&layers=business_rd1%20states&mode=map
>> >
>> >
>> > http://localhost/cgi-bin/mapserv?map=/media/D_Drive/www/gis/busines
>> > s2.map&layers=business_rd2%20states&mode=map
>> >
>> >
>> > http://localhost/cgi-bin/mapserv?map=/media/D_Drive/www/gis/busines
>> > s3.map&layers=business_rd3%20states&mode=map
>> >
>> >
>> > http://localhost/cgi-bin/mapserv?map=/media/D_Drive/www/gis/busines
>> > s4.map&layers=business_rd4%20states&mode=map
>> >
>> >
>> >
>> > // Half of these work
>> >
>> > http://mapserver0/business.php?num=1 works
>> >
>> > http://mapserver0/business.php?num=2 not
>> >
>> > http://mapserver0/business.php?num=3 works
>> >
>> > http://mapserver0/business.php?num=4 not
>> >
>> >
>> > // Create rounded lat lon table
>> >
>> > Select count(*), round(cast(ST_X(geom) as numeric),2) as lon,
>> >
>> > round(cast(ST_Y(geom) as numeric),2) as lat
>> >
>> > Into business_rd2
>> >
>> > From business_loc
>> >
>> > Group By round(cast(ST_X(geom) as numeric),2),
>> > round(cast(ST_Y(geom) as
>> > numeric),2)
>> >
>> > Order By count Desc
>> >
>> >
>> >
>> > // Add Geometry
>> >
>> > Alter Table business_rd2 Add Column geom geometry(POINT,4326);
>> >
>> > Update business_rd2 Set geom =
>> > ST_SetSRID(ST_MakePoint(lon,lat),4326);
>> >
>> > Create Index indx_business_rd2_geom On business_rd2 Using
>> > GIST(geom);
>> >
>> >
>> >
>> > // Now add a primary key named id to enable mapserver drawing
>> >
>> > Alter Table business_rd2 Add Column id BIGSERIAL Primary Key;
>> >
>> >
>> >
>> >> Date: Fri, 9 Aug 2013 12:23:52 +0200
>> >> Subject: Re: [mapserver-users] drawing multiple layers from
>> >> postgis
>> >> From: thomas.bonfort at gmail.com
>> >> To: mmcinnis59 at msn.com
>> >>
>> >> On 8 August 2013 20:16, Michael McInnis <mmcinnis59 at msn.com> wrote:
>> >> > Hopefully, this is an easy one.
>> >> >
>> >> > I'm trying to build a scale sensitive .map file using points
>> >> > from postgis.
>> >> >
>> >> > I can successfully draw the shapefile states with a single
>> >> > points layer from postgis.
>> >> > However, if I add an additional points layer and attempt to draw
>> >> > it the layer comes up blank.
>> >> > If I remove the leading postgis points layer from the .map file
>> >> > the new points layer will now display.
>> >> > IE I can only draw the first occurrence of a postgis layer in
>> >> > the map file.
>> >> >
>> >> > How do you define multiple postgis layers so that you can pick
>> >> > and choose layers for display?
>> >> >
>> >> > LAYER
>> >> > NAME states
>> >> > DATA STATES
>> >> > STATUS ON
>> >> > TYPE Polygon
>> >> >
>> >> > CLASS
>> >> > OUTLINECOLOR 255 255 255
>> >> > COLOR 155 155 155
>> >> > END # Class
>> >> > END # Layer
>> >> >
>> >> > LAYER
>> >> > CONNECTIONTYPE POSTGIS
>> >> > NAME business_rd2
>> >> > CONNECTION "host=localhost dbname=Business user=postgres
>> >> > password=xxxx port=5432"
>> >> > PROCESSING "CLOSE_CONNECTION=DEFER"
>> >> > DATA "geom From business_rd2 as rd2 using unique id using srid=4326"
>> >> > #MINSCALE 100000
>> >> > STATUS ON
>> >> > TYPE POINT
>> >> > CLASS
>> >> > SYMBOL 'circle'
>> >> > SIZE 2
>> >> > COLOR 255 0 0
>> >> > END
>> >> this END is bogus
>> >>
>> >> > END # Class
>> >> > END # Layer
>> >> >
>> >> > LAYER
>> >> > CONNECTIONTYPE POSTGIS
>> >> > NAME business_rd1
>> >> > CONNECTION "host=localhost dbname=Business user=postgres
>> >> > password=xxxx port=5432"
>> >> > PROCESSING "CLOSE_CONNECTION=DEFER"
>> >> > DATA "geom From business_rd1 as rd1 using unique id using srid=4326"
>> >> > #MINSCALE 100000
>> >> > STATUS ON
>> >> > TYPE POINT
>> >> > CLASS
>> >> > SYMBOL 'circle'
>> >> > SIZE 2
>> >> > COLOR 255 0 0
>> >> > END
>> >> this one to
>> >>
>> >> > END # Class
>> >> > END # Layer
>> >> >
>> >> >
>> >> > _______________________________________________
>> >> > mapserver-users mailing list
>> >> > mapserver-users at lists.osgeo.org
>> >> > http://lists.osgeo.org/mailman/listinfo/mapserver-users
>> >> >
>> >
>> > _______________________________________________
>> > mapserver-users mailing list
>> > mapserver-users at lists.osgeo.org
>> > http://lists.osgeo.org/mailman/listinfo/mapserver-users
>> >
_______________________________________________
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