Possible MapServer development work

Steve Lime Steve.Lime at DNR.STATE.MN.US
Wed Apr 11 08:57:45 EDT 2007


Shared edges are a pain. You might try preprocessing a version of your
planning applications layer and shrink 'em just a bit (10 cm). That way 
you remove the coincident lines and would get just cases where there is
overlaps. I did that here for a polygon selection operation involving counties
selecting other counties (we also hit quad boundaries and watersheds
where touches weren't an issue). Worked great.

I used ArcInfo to do the buffering but now you can use GEOS and one
of the many clients that are out there, including MapScript. I think there's
a buffer perl script example shipped with newer versions of MapServer.

Steve

>>> Mike Saunt <mikesaunt at GMAIL.COM> 04/10/07 6:10 AM >>>
Thanks Richard

The highlighting now works a treat - I used an Expression in the end i.e.

qstring=(([UPRN] = 100061562714) OR ([UPRN] = 100061561248))

The only other thing I would love to do via the straight CGI is to be able
to specify a negativeTOLERANCE.  Bascially I have some land parcels
(Polygons) that have planning applications (Polygons) over teh top.  I want
the user to be able to select one or more Land Parcels (done above) and then
only find the Planning Applications that Intersect but don't BUTT onto as
they would come from a different property.  The easiest way I thought of was
to have a negative tolerance of say 10cm or so but MapServer doesn't seem to
like negative TOLERANCES.

Any thoughts?

Cheers
mike


On 04/04/07, Richard Greenwood <richard.greenwood at gmail.com> wrote:
>
> On 4/3/07, Mike Saunt <mikesaunt at gmail.com> wrote:
>
> > I want a user to be able to interactively from multiple clicks on a map
> to
> > select features and then they can issue a query taking all selected
> features
> > and doing feature intersect queries against multiple other
> layers.  Pretty
> > simple!
>
> You could do an asynchronous call to mapserv for each click and get
> the each feature ID back, and store it in a JavaScrit array.
>
> > I'm fine with writing wrapper code to allow the user to select a feature
> at
> > a point - MODE=QUERY - and then find and store the feature id's for
> > subsequent calls to the CGI
> >
> > Is there a way to be able to pass multiple feature id's to MapServer to
> > highlight as selected in a maps?
>
> Yes, with mode=itemnquery
>
> Then in the same fashion can I pass
> > multiple feature id's (acting as the selection again) to then be used in
> a
> > NQUERY to find which features from other layers intersect.
>
> If I was doing it, and if I could use postgis, I would pass the
> parameters to a php page, run the query in postgis, get the feature
> IDs back, and then do another itemnquery with mapserv to graphically
> render it. This would not require mapscript, but would require php or
> some other server-side language that can connect to postgis.
>
> Rich
>
> --
> Richard Greenwood
> richard.greenwood at gmail.com
> www.greenwoodmap.com
>



More information about the mapserver-users mailing list