Réponses:
Le affinity
module de Shapely prend en charge les transformations affines sur n'importe quelle géométrie, par exemple:
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)
. En fait, j'ai presque fini de préparer la mise à jour manuelle du module.
Sextante a un outil qui pourrait fonctionner. Il s'appelle Transformer, sous "Outils pour les calques vectoriels". Pour exécuter la commande, définissez l'angle, le point d'ancrage, le facteur d'échelle et la translation. Sextante est une extension de gvsig, openjump, udig, others. Il s'exécute également à partir de la ligne de commande.
Je ne vois aucune fonctionnalité en Python ou Shapely pour le faire, mais vous pouvez le faire avec JTS (Java Topology Suite) http://tsusiatsoftware.net/jts/main.html (GEOS, la bibliothèque utilisée par Shapely est un port de JTS mais JTS ont plus de fonctions)
Vous pouvez télécharger le logiciel ici http://sourceforge.net/projects/jts-topo-suite/ et lancer testbuilder.sh ou testbuilder.bat en fonction de votre système d'exploitation à jouer pour la découverte. Après avoir compris, les bases, vous devrez faire de même sans interface graphique, mais avec la programmation Java uniquement.
http://geoscript.org/ peut vous aider à faire le lien entre le code python et java (car une implémentation utilise Jython)
Grass peut le faire en utilisant v.transform .
Vous pouvez utiliser les liaisons gdal python pour effectuer des transformations affines http://www.gdal.org/ogr/osr_tutorial.html
Puisqu'il est construit sur proj / geos / gdal, vous pouvez faire les mêmes choses que dans galbe + plus