Yanıtlar:
Shapely'nin affinity
modülü , herhangi bir geometride afin dönüşümlerini destekler, örneğin:
from shapely import affinity
from shapely.geometry import LineString
# Example geometry
line = LineString([(1, 3), (1, 1), (4, 1)])
# Rotate 30 degrees CCW from origin at the center of bbox
line_rot_center = affinity.rotate(line, 30, 'center')
# Rotate from origin at (1, 1)
line_rot_11 = affinity.rotate(line, 30, (1, 1))
help(shapely.affinity)
. Aslında neredeyse modül için manuel güncellemeyi hazırladım.
Bunu yapmak için Python veya Shapely'de herhangi bir özellik görmüyorum, ancak bunu JTS (Java Topology Suite) ile yapabilirsiniz http://tsusiatsoftware.net/jts/main.html (GEOS, Shapely tarafından kullanılan lib bir porttur ancak JTS'nin daha fazla işlevi vardır)
Yazılımı http://sourceforge.net/projects/jts-topo-suite/ buradan indirebilir ve keşfetmek için oynamak için işletim sisteminize bağlı olarak testbuilder.sh veya testbuilder.bat dosyasını başlatabilirsiniz. Anladıktan sonra, GUI olmadan ancak yalnızca Java programlama ile aynı şeyi yapmanız gerekecektir.
http://geoscript.org/ python kodu ve java arasında yapıştırıcı yapmanıza yardımcı olabilir (çünkü bir uygulama Jython kullanıyor)
Çim v.transform kullanarak yapabilir .
Afin dönüşümleri yapmak için gdal python bağlarını kullanabilirsiniz http://www.gdal.org/ogr/osr_tutorial.html
Projenin / geos / gdal'ın üzerine inşa edildiğinden, aynı şeyleri düzgün bir şekilde + daha fazlasını yapabilirsiniz.