[mapserver-users] RE: Highlight
Steve Lime
Steve.Lime at dnr.state.mn.us
Tue Apr 14 11:01:39 PDT 2009
This is probably too late to be of use but I've been using a highlight layer to achieve this. The
layer takes input from a URL so that layer filter allows just the desired feature through. Works
quite nicely and is relatively simple to implement. Here's an OpenLayers site that uses this:
http://www.dnr.state.mn.us/waters/csg/index_copy.html
In this case the highlight is a separate layer but you could just as easily return a single map.
Steve
>>> On 4/13/2009 at 11:17 AM, in message
<D7A5EAC385604446AB1DD24BF4F5A91841F1A74D7A at MG-Mail.ci.maple-grove.mn.us>, Jay
Kapalczynski <jkapalczynski at ci.maple-grove.mn.us> wrote:
> So say I have a Database that I am querying...
> I get the results back with a PID number (unique)
> This number exists in the Parcels Shapefile so I can go after that field.
> I have a map file that is set up for the Parcels, but this is just there to
> draw the Parcels...
> I assume that I would have to modify this one for this to work?
>
> I am just a bit confused on how to get this to work...
> When I run the code that creates the Table below I want the parcels to also
> highlight in the map....
>
> Attached is my code that I am using to get the resulting PID Values, build
> the table, and populate the last frame showing the Comma Delimited String.
> I just don't know how to apply that to my map?
>
> I attached my code from my PHP page which I hope that someone can at least
> put their eyes on...
> Towards to bottom you will see highlighted in RED the code that I am
> building a comma delimited string to populate a variable with all the PID
> numbers...
> I assume that I would not need the comma delimited string as I could place
> the highlighting code inside the while loop to get the parcels highlighted...
> I don't really know...
>
> Any thoughts?
>
> Thanks
>
>
> This inside the while loop????
>
> $map = ms_newMapObj(PATH TO YOU MAPFILE);
> $qlayer = $map->$map->getLayerByName(NAME OF PARCEL LAYER);
> $qlayer->queryByAttributes('PID','PID IN (MY COMMA DELIMITED STRING
> VARIABLE')',MS_MULTIPLE);
> $img = $map->drawQuery();
> header('Content-Type: image/jpeg');
> $img->saveImage("");
>
>
> [cid:image001.jpg at 01C9BC29.7A1ECE10]
>
> From: mapserver-users-bounces at lists.osgeo.org
> [mailto:mapserver-users-bounces at lists.osgeo.org] On Behalf Of Moen, Paul T.
> Sent: Thursday, April 09, 2009 3:15 PM
> To: mapserver-users at lists.osgeo.org
> Subject: Re: [mapserver-users] RE: Highlight
>
>
> If the database that you are querying has the same attributes as the shape
> file, you can query the Layer that points to the shape file and display the
> highlighted results on your map. I know nothing about GeoMOOSE but I know it
> can be done with php-mapscript.
>
> Regardless of what you are using, you need a map file layer for the shape
> file with the parcels.
> You will then need to use php-mapscript to query that layer with something
> like
> $map = ms_newMapObj(PATH TO YOU MAPFILE);
> $qlayer = $map->$map->getLayerByName(NAME OF PARCEL LAYER);
> $qlayer->queryByAttributes('PID','PID IN (1, 2,7,9,23,87)',MS_MULTIPLE);
> You will then need to create the output image from query using something
> like
> $img = $map->drawQuery();
> header('Content-Type: image/jpeg');
> $img->saveImage("");
>
> I can't give you specifics without knowing how GeoMOOSE works, so the best
> thing is to look at the documentation for GeoMOOSE if that is what you are
> using.
>
> On 4/9/09 2:17 PM, "Jay Kapalczynski" <jkapalczynski at ci.maple-grove.mn.us>
> wrote:
> Dang I misspoke...I am sorry...
>
> I am querying a Database for records, these records have a PID (unique
> Number).
> These are the records that show up in the Table.
>
> As this happens I have to take the results and run the query against the
> parcels to get the features in the Shapefile, then highlight..
>
> If that makes any sense...
>
> If I am in a PHP file and have the records returned from the query
> (database)...what would I have to do next to take those records and run a
> query to highlight the parcels (PID to PID)?
>
> Can all of this be accomplished in the PHP file?
>
> Thanks...and sorry for my ignorance...
>
>
>
>
> From: mapserver-users-bounces at lists.osgeo.org
> [mailto:mapserver-users-bounces at lists.osgeo.org] On Behalf Of Moen, Paul T.
> Sent: Thursday, April 09, 2009 1:57 PM
> To: mapserver-users at lists.osgeo.org
> Subject: Re: [mapserver-users] RE: Highlight
>
> Set the mapfile QUERYMAP style to highlight
> http://mapserver.org/mapfile/querymap.html. Draw the map using drawQuery()
> instead of draw().
>
> $img = $map->drawQuery();
> header('Content-Type: image/jpeg');
> $img->saveImage("");
>
> On 4/9/09 1:31 PM, "Jay Kapalczynski" <jkapalczynski at ci.maple-grove.mn.us>
> wrote:
> Basically what I have is a query that runs on a shapefile...
> It returns the records into a table, which I then have the option to zoom
> to.
>
> I am looking for a bit more....after I run the query (php) I want the
> returned records to highlight in the map...
> I can get the Unique identifier but don't know if I can write some code in
> PHP to highlight those features
>
> I don't even know where to start here...
>
> The query and returning records into the table, as well as, the zoom to work
> great...just need the highlight part
>
> Thanks
>
>
>
> From: Jay Kapalczynski
> Sent: Thursday, April 09, 2009 1:03 PM
> To: 'mapserver-users at lists.osgeo.org<mapserver-users at lists.osgeo.org>
> <mapserver-users at lists.osgeo.org> '
> Subject: Highlight
>
> Any way to highlight a feature in my map in PHP?
>
> I can grab a unique identifier but can figure out how to highlight it...
>
> THanks
>
>
> Paul
>
> Paul
More information about the MapServer-users
mailing list