[mapserver-users] Creating an abutter's list (was: Accessing Vertices of a Shape - PHP MapScript)

Steve Lime steve.lime at dnr.state.mn.us
Tue Nov 19 11:31:59 EST 2002


What we really should do is update the code for featurequery or
shapequery to honor the TOLERANCE parameters. That is, if non-zero for a
layer use a distance search instead of an intersection test. It would be
expensive (you'd need to compute the distance between vertices and
edges) but it would work. I think the bulk of the computational code
already exists and would just need to be put in place.

Another possibility that would probably work fine with parcel data
since they tend to be regular in shape would be to take the bounding box
for the parcel in question, expand it ever so slightly and do a query by
rect.

If anyone has a good buffering algorithm that would be a nice addition
to MapScript.

Steve

Stephen Lime
Data & Applications Manager

Minnesota DNR
500 Lafayette Road
St. Paul, MN 55155
651-297-2937

>>> Daniel Morissette <morissette at dmsolutions.ca> 11/19/02 09:19AM >>>
Kevin Flanders wrote:
> 
> Is there a way of exploiting this functionality to create an
abutter's list
> function for municipal applications?  If we can create a new shape
that
> mimics an existing/selected parcel, then can't we use that shape like
we
> would a user-defined query rectangle to intersect parcel features?
> 
> I know there has been talk about abutters list before, but it doesn't
seem
> like there has been any resolution....
> 


If I understand well, the idea is to select all parcels that are
adjacent to a selected parcel.  It may not be possible to use
QueryByShape for this because it looks for shapes that intersect or
are
located inside the shape you use for the query... so non-intersecting
neighbors won't be selected.

The best would be if we could create a new shape that is the parcel of
interest with a buffer added around it and use that buffered parcel in
a
queryByShape().  Unfortunately for you there is no way to create such
a
vector buffer in MapServer.

Another trick could be to sample points every few meters along the
border of the parcel of interest and do a point query at every step
with
a tolerance of half the distance between the sampled points.  You
would
compile a list of the returned parcel ids as you walk around the
parcel
and this would give you your list of abutters.

I'll CC: to the list where others may have better suggestions.

Daniel
-- 
------------------------------------------------------------
 Daniel Morissette               morissette at dmsolutions.ca 
 DM Solutions Group              http://www.dmsolutions.ca/ 
------------------------------------------------------------



More information about the mapserver-users mailing list