Jawaban:
Rupawan ini affinity
modul mendukung transformasi affine pada geometri apapun, misalnya:
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)
. Sebenarnya saya hampir selesai mempersiapkan pembaruan manual untuk modul.
Sextante memiliki alat yang mungkin berfungsi. Itu disebut Transform, di bawah "Alat untuk lapisan Vektor". Untuk menjalankan perintah, tentukan sudut, titik jangkar, faktor skala dan terjemahan. Sextante adalah ekstensi untuk gvsig, openjump, udig, lainnya. Ini juga berjalan dari baris perintah.
Saya tidak melihat fitur apa pun di Python atau Shapely untuk melakukannya tetapi Anda dapat melakukan ini dengan JTS (Java Topology Suite) http://tsusiatsoftware.net/jts/main.html (GEOS, lib yang digunakan oleh Shapely adalah port JTS tetapi JTS memiliki lebih banyak fungsi)
Anda dapat mengunduh soft di sini http://sourceforge.net/projects/jts-topo-suite/ dan meluncurkan testbuilder.sh atau testbuilder.bat tergantung pada OS Anda untuk bermain untuk menemukan. Setelah Anda mengerti, dasar-dasar Anda harus melakukan hal yang sama tanpa GUI tetapi dengan pemrograman Java saja.
http://geoscript.org/ dapat membantu Anda membuat lem antara kode python dan java (karena satu implementasi menggunakan Jython)
Rumput dapat melakukannya menggunakan v.transform .
Anda dapat menggunakan binding python gdal untuk melakukan transformasi affine http://www.gdal.org/ogr/osr_tutorial.html
Karena ini dibangun di atas proj / geos / gdal Anda dapat melakukan hal yang sama seperti dalam bentuk + lebih banyak