N.J. Hardebol wrote:
Hello,

I'm a medium level ocassional developper with not too much experience with
python classes and especially not swig. I use python scripting a lot for
medium level scripting for processing of geographic oriented data. Thereto
I make use of gdal.ogr and geos libraries ported to python. Previously I
ran my code under linux, allowing to build from newest source codes.
Recently I moved code also to windows to interact also with ArcGIS, so
limitted by available bin + swig compilations.

I've two questions, both to do with the construction of new geos geometry
instances.

In first problem, I start with WKT or WKB geometry strings retrieved from
postgis database. Afterwards I want to parse them to geos Geometry
instances.
geosgeom = geos.WKTReader(geos.GeometryFactory()).read(wktgeom)
This looks really awkward and as fact of the matter it doesn't build a
geos.Geometry but a geos.GeometryPtr.
So my Question1 is: How do i best build a geos Geometry from WKT-strings
using geos-python bindings?

Then I also would like to crop an existing geos Linestring1 with an
intersecting geos Polygon building a new geos Linestring2. So something
like  Linestring2 = Linestring1.crop(Polygon). My workaround is (1) check
whether intersect exists. (2) Find the intersection points between
Linestring1 and Polygon. (3) Build the new linestring2 from the
intersection-point vertices using WKTReader().
1) >>> if Linestring1.intersects(Geometry):
2) >>>      pnts = Linestring1.Intersection(Geometry)
3) >>>      Linestr2_wkt = 'LINESTRING ( %s %s , %s %s ) % ( pnts.GetX(0)

                         , pnts.GetY(0) , pnts.GetX(1) , pnts.GetY(1)  )
3) >>>      Linestring2 =
                  geos.WKTReader(geos.GeometryFactory()).read(Linestr2_wkt)

Question2: Is there a better way for building a new linestring by corpping
old one with polygon, instead of this work around. ANd if not, how do I
deal with GeometryPtr instead of Geometry, okay might be simple sub class
or pointer issue this guy is not familiar with.

thx in advance for any suggestions,

Nico Hardebol


Nico,

OGR geometries acquire the operations of GEOS geometries. I think you may not need to use the GEOS Python module at all. At any rate, the Python module in GEOS is not actively maintained.

Cheers,
Sean

--
Sean Gillies
http://zcologia.com/news

_______________________________________________
geos-devel mailing list
geos-devel@geos.refractions.net
http://geos.refractions.net/mailman/listinfo/geos-devel

Reply via email to