[mapserver-users] RE: Highlight

Jay Kapalczynski jkapalczynski at ci.maple-grove.mn.us
Thu Apr 16 08:16:20 PDT 2009


Have been think about this and just wanted to run this passed anyone that is listening.  For my GPS tracking I am using an ovf file to grab XY coordinates from a database and plot them in my app.



I was wondering if I could do a similar thing, where I write to the database in PHP every time the query is run.  This will populate a table with the PID values I need highlighted.



Then Classify in the Map file the color and outline that I am after.



Could I use a filter on the Map file then to just show records in the database?



Is this even possible or make sense?







OVF File  (but select the PID values from the table)



<OGRVRTDataSource>

    <OGRVRTLayer name="Coordinatedata">

        <SrcDataSource>MYSQL:coordinates_database,user=Jay,password=Passw0rd,host=127.0.0.1,port=3306,tables=coordinates</SrcDataSource>

        <SrcSQL>SELECT X,Y FROM coordinates</SrcSQL>

        <GeometryType>wkbPoint</GeometryType>

              <GeometryField encoding="PointFromColumns" x="X" y="Y"/>

       </OGRVRTLayer>

</OGRVRTDataSource>





MAP FILE



LAYER # Points from the MySQL Database

    NAME Database

    STATUS DEFAULT

    TYPE POLYGON

    CONNECTIONTYPE OGR

    CONNECTION './Coordinatedata1.ovf'

    DATA 'Coordinatedata'

    CLASS

       #NAME "ID"

           STYLE

               OUTLINECOLOR 204 204 204

               WIDTH 1

           END

    END

END









-----Original Message-----
From: Steve Lime [mailto:Steve.Lime at dnr.state.mn.us]
Sent: Tuesday, April 14, 2009 4:18 PM
To: Jay Kapalczynski; mapserver-users at lists.osgeo.org; Paul T.' 'Moen; David' 'Fawcett
Subject: RE: [mapserver-users] RE: Highlight



This is an example of how to highlight a feature (click on a dot in the application I sent) without

doing query maps or anything like that. You're manipulating a layer filter on-the-fly based on your

search result. This can work with multiple results but is best suited to just a few results. With more

than that you really need to look at some other way to cache features- a queryfile or some sort

of a temp table.



Sorry if I've confused things.



Steve



>>> On 4/14/2009 at 3:23 PM, in message

<D7A5EAC385604446AB1DD24BF4F5A9184FB90EE805 at MG-Mail.ci.maple-grove.mn.us>, Jay

Kapalczynski <jkapalczynski at ci.maple-grove.mn.us> wrote:

> I am having a hard time trying to understand how that applies to what I am

> doing....I do appreciate the help here.

> Just trying to find a solution here...

>

>>From my main page I run a query in PHP that returns specific records

> I then move to a different web page that has a couple frames.

> I display the map in one frame and build a table in the 2nd frame that shows

> the results.

> In the table I have a field that will zoom to and identify that feature in

> the main map

>

> The only thing I am missing is after I run the query none of the parcels are

> highlighted in the map...

> I want to create the table and highlight the returned parcels in the map...

>

> Getting pretty confused right now...dont know the best way to accomplish

> this...going in 4 different directions right now..

> The Query is being done in PHP, so I somehow need to take that result (comma

> delimited string) and get a the PID values from that to show up highlighted

> in my map..

>

> Before I go on does anyone have a suggestion as to what would be the best

> course of action...

> Like Steve said, Like I am doing...

>

> Thanks Guys...you help is appreciated...

>

>

>

>

>

> -----Original Message-----

> From: Fawcett, David [mailto:David.Fawcett at state.mn.us]

> Sent: Tuesday, April 14, 2009 2:39 PM

> To: Jay Kapalczynski; Steve Lime; mapserver-users at lists.osgeo.org; Paul T.'

> 'Moen

> Subject: RE: [mapserver-users] RE: Highlight

>

> Steve is using CGI MapServer instead of php.

>

> When you click on a station, you will notice that the outline of the

> station turns yellow.

>

> Here is the URL to a tile with a highlighted symbol on it:

> http://maps.dnr.state.mn.us/cgi-bin/mapserv52?map=/usr/local/mapserver/a

> pps/waters/csg/csg.map&layers=active_site&map_transparent=true&id=0&mode

> =map&map_imagetype=png&station=63023001&mapext=-27687.5+4793250+941687.5

> +5480750&imgext=-27687.5+4793250+941687.5+5480750&map_size=705+500&imgx=

> 352.5&imgy=250&imgxy=705+500

>

> Notice that he has a layer called 'active_site' and he is passing in the

> station ID use in a class in that layer to turn only that feature

> yellow.

>

> When no station is selected, no stations are drawn in the 'active_site'

> layer.

>

> David.

>

> -----Original Message-----

> From: mapserver-users-bounces at lists.osgeo.org

> [mailto:mapserver-users-bounces at lists.osgeo.org] On Behalf Of Jay

> Kapalczynski

> Sent: Tuesday, April 14, 2009 2:30 PM

> To: 'Steve Lime'; mapserver-users at lists.osgeo.org; Paul T.' 'Moen

> Subject: RE: [mapserver-users] RE: Highlight

>

>

> Thanks....but little confused as to what I am look at...

>

> How is this working?

>

>

>

> -----Original Message-----

> From: Steve Lime [mailto:Steve.Lime at dnr.state.mn.us]

> Sent: Tuesday, April 14, 2009 1:02 PM

> To: Jay Kapalczynski; mapserver-users at lists.osgeo.org; Paul T.' 'Moen

> Subject: RE: [mapserver-users] RE: Highlight

>

> 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

> _______________________________________________

> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/mapserver-users/attachments/20090416/04fae5ed/attachment.htm>


More information about the MapServer-users mailing list