[Geomoose-users] Using Identify with Postgis layer
Dan Little
danlittle at yahoo.com
Mon May 2 10:08:08 EDT 2011
I suspected you were using a dynamic view.
Add "riding" and "number" to your select statement and you should see things start working. "number" is a reserved word so you might need to use PostgreSQL to create a view to account for that because you cannot escape "s in MapServer < 6.0.
So you might need something like:
create view my_voters_view as
SELECT gid, the_geom, "number" as n_voters, riding as n_riding, vtotal::REAL / vregist::REAL AS percent FROM bc_voting_areas WHERE vregist > 0;
That'll clean up your mapfile a little bit too (visually/readability).
>________________________________
>From: Stephen Knox <stephenknox73 at gmail.com>
>To: Dan Little <danlittle at yahoo.com>; geomoose-users at lists.sourceforge.net
>Sent: Monday, May 2, 2011 8:56 AM
>Subject: Re: [Geomoose-users] Using Identify with Postgis layer
>
>
>Sorry,
>
>Never query in haste! I was just using a generic field name, but the below covers everything. It's just data for playing around with really, from a tutorial.
>
>Here is the mapfile:
>
>MAP
> IMAGETYPE PNG
> EXTENT 0 0 2000000 2000000
> SIZE 1000 1000
> IMAGECOLOR 255 255 255
>
> PROJECTION
> "init=epsg:3005"
> END
>
>LAYER
>CONNECTIONTYPE postgis
>NAME "voting"
>CONNECTION "user=**** password=**** dbname=Unit5 host=localhost"
>DATA "the_geom from (SELECT gid, the_geom, vtotal::REAL / vregist::REAL AS percent FROM bc_voting_areas WHERE vregist > 0) as foo using srid=3005 using unique gid"
>STATUS ON
>TYPE POLYGON
> METADATA
> identify_record "identify_voting.html"
> END
>CLASS
> COLOR 200 0 0
> EXPRESSION ([percent] > 0.7)
> END
>CLASS
> COLOR 200 200 0
> EXPRESSION ([percent] < 0.7)
> END
>
>END
>
>END
>
>The identify_voting.html definition:
>
><!-- MapServer Template -->
><tr bgcolor="#DEE5EB"><td colspan="2"><b><u>Voting Districts</u></b></tr>
><tr>
><td align="right"><b>DistName:</b></td>
><td>[riding]</td>
></tr>
><tr>
><td align="right"><b>Number of Voters:</b></td>
><td>[number]</td>
></tr>
><tr>
><td> </td>
><td> </td>
></tr>
>
>and the postgis table definition:
>
>CREATE TABLE bc_voting_areas
>(
> gid serial NOT NULL,
> code character varying(3),
> id character varying(8),
> riding character varying(29),
> region character varying(29),
> "number" character varying(4),
> ndp numeric(11,0),
> liberal numeric(11,0),
> green numeric(11,0),
> unity numeric(11,0),
> vtotal numeric(11,0),
> vreject numeric(11,0),
> vregist numeric(11,0),
> the_geom geometry,
> CONSTRAINT bc_voting_areas_pkey PRIMARY KEY (gid),
> CONSTRAINT enforce_dims_the_geom CHECK (st_ndims(the_geom) = 2),
> CONSTRAINT enforce_geotype_the_geom CHECK (geometrytype(the_geom) = 'MULTIPOLYGON'::text OR the_geom IS NULL),
> CONSTRAINT enforce_srid_the_geom CHECK (st_srid(the_geom) = 3005)
>)
>WITH (
> OIDS=FALSE
>);
>ALTER TABLE bc_voting_areas OWNER TO postgres;
>
>CREATE INDEX bc_voting_areas_geom_idx
> ON bc_voting_areas
> USING gist
> (the_geom);
>
>CREATE INDEX bc_voting_areas_the_geom_gist
> ON bc_voting_areas
> USING gist
> (the_geom);
>
>
>
>
>On Mon, May 2, 2011 at 1:31 PM, Dan Little <danlittle at yahoo.com> wrote:
>
>Is "feature_name" a field in your table?
>>
>>
>>Any chance we can see the definition of the table, the mapfile, and template that you are using?
>>
>>
>>
>>>________________________________
>>>From: Stephen Knox <stephenknox73 at gmail.com>
>>>To: geomoose-users at lists.sourceforge.net
>>>Sent: Monday, May 2, 2011 5:57 AM
>>>Subject: Re: [Geomoose-users] Using Identify with Postgis layer
>>>
>>>
>>>
>>>Hi list,
>>>
>>>I came across GeoMoose through a university project to create a mapping server. I've managed to get it working fairly well with Mapserver and PostGIS data (and looking good, thanks!), but I was just wondering whether anyone has used "Identify" with PostGIS layers. I have followed the instructions here, but I think these were written for Shapefiles, as I just get the text "[FEATURE_NAME]" in the resulting HTML rather than the actual feature selected name. This is also true if I put "[feature_name from table_name]" as per how fields are defined in the Mapserver DATA field.
>>>
>>> Any help much appreciated.
>>>
>>>Thanks
>>>
>>>Steve
>>>
>>>------------------------------------------------------------------------------
>>>WhatsUp Gold - Download Free Network Management Software
>>>The most intuitive, comprehensive, and cost-effective network
>>>management toolset available today. Delivers lowest initial
>>>acquisition cost and overall TCO of any competing solution.
>>>http://p.sf.net/sfu/whatsupgold-sd
>>>_______________________________________________
>>>Geomoose-users mailing list
>>>Geomoose-users at lists.sourceforge.net
>>>https://lists.sourceforge.net/lists/listinfo/geomoose-users
>>>
>>>
>>>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/geomoose-users/attachments/20110502/dcd03144/attachment.html
More information about the Geomoose-users
mailing list