[Image-SIG] Scaling polygons dynamically

Mike Driscoll mdriscoll at co.marshall.ia.us
Wed Feb 21 15:32:08 CET 2007


Our office is working with GIS maps using python and we've hit a snag. Due
to the way the GIS software behaves, it will take a land parcel that shares
a border with another parcel and call them just one parcel, instead of 2.
The land parcels are represented by 2-dimensional polygons.

Our solution is to shrink or scale the parcel down by a unit of measurement
so that the 2 parcels no longer share a line. Currently we use a Python
version of the "inpoly" algorithm listed on this page:
http://www.visibone.com/inpoly/. It works great until we hit some of our
weird parcels that have 700 vectors.

Since we have to move each vector in four directions and then test each
vector with the inpoly algorithm, this means that we do 4 X 700 or 2800
calculations. We also have to loop over the number of vectors, so that means
700 X 2800 which takes too long as this is for a web app.

Does anyone have an alternate algorithm for this kind of thing? Thank you
for any help!

Mike Driscoll
Applications Specialist
MCIS - Technology Center
1 E. Main St. 
Marshalltown, IA 50158
mdriscoll at co.marshall.ia.us

More information about the Image-SIG mailing list