Hi Robert,

Indeed, Shapely's prepared geometry operations are all handled by GEOS and
it seems possible that you may have different versions of the DLL.

Yours,


On Tue, May 14, 2013 at 4:44 PM, Robert Sanson <
robert.san...@asurequality.com> wrote:

> I have an identical Python cgi-bin script running on two servers - one a
> Windows 2003 server and the other my desktop (Windows 7 64-bit). The script
> uses Shapely prepared polygon geometries to test whether a large number of
> points fall within given polygons. I get different results from both
> servers. Both are running Python 2.7.
>
> Here are some code snippets:
>
> from shapely.geometry import Point, Polygon
> from shapely.wkt import loads
> from shapely.prepared import prep
>
> #read in file of livestock areas in WKT format and create list of Polygons
> allf = open("poly_geom.txt","r")
> lines = allf.readlines()
> lsrs = []
> polys = []
> polysdict = {}
> for line in lines:
>     lsr,geom = line.strip().split("|")
>     lsrs.append(lsr)
>     poly = loads(geom)
>     prpoly = prep(poly)
>     polysdict[lsr] = prpoly
>     polys.append(prpoly)
>
> #Later, using a list of points (allpts) I do:
> polyidx = 0
> for prpoly in polys:
>     a = [pt for pt in allpts if prpoly.contains(pt)]
>     lsr = lsrs[polyidx]
>     alldict[lsr] = len(a)
>     print lsr + ":" + str(len(a))
>     polyidx = polyidx + 1
>
> On the Windows 2003 server I get almost double the numbers of points
> falling within each polygon. I have checked using a GIS and spatialite, and
> my desktop (Windows 7) returns the correct results. On the server, if I use
> unprepared polygon geoemetries, I get the correct answer. ie. I replace the
> first section of code with:
>
> for line in lines:
>     lsr,geom = line.strip().split("|")
>     lsrs.append(lsr)
>     poly = loads(geom)
>     #prpoly = prep(poly)
>     polysdict[lsr] = poly
>     polys.append(poly)
>
> Is there a bug in the prepared code or does Shapely rely on other
> installed components (Geos) etc. such that I might have an older dll
> somewhere?
>
> Many thanks,
>
> Robert
>
>
>
> This email and any attachments are confidential and intended solely for
> the addressee(s). If you are not the intended recipient, please notify us
> immediately and then delete this email from your system.
>
> This message has been scanned for Malware and Viruses by Websense Hosted
> Security.
> www.websense.com
> _______________________________________________
> Community mailing list
> Community@lists.gispython.org
> http://lists.gispython.org/mailman/listinfo/community
>



-- 
Sean Gillies
_______________________________________________
Community mailing list
Community@lists.gispython.org
http://lists.gispython.org/mailman/listinfo/community

Reply via email to