ฉันพยายามสร้างสี่เหลี่ยมผืนผ้าที่หมุนในพิกัดละติจูด / ลองจิจูด
โดยทั่วไปฉันมีพิกัดของจุดศูนย์กลางและมุมการหมุนรอบจุดศูนย์กลาง
เป็นไปได้ที่จะใช้, หุ่นดีหรือ gdal หรืออย่างอื่น?
ฉันพยายามสร้างสี่เหลี่ยมผืนผ้าที่หมุนในพิกัดละติจูด / ลองจิจูด
โดยทั่วไปฉันมีพิกัดของจุดศูนย์กลางและมุมการหมุนรอบจุดศูนย์กลาง
เป็นไปได้ที่จะใช้, หุ่นดีหรือ gdal หรืออย่างอื่น?
คำตอบ:
affinity
โมดูลของ Shapely รองรับการแปลงเลียนแบบบนเรขาคณิตใด ๆ ตัวอย่างเช่น
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)
ประเภท @AlexL ที่จริงฉันเกือบจะเตรียมการอัพเดทด้วยตนเองสำหรับโมดูลแล้ว
Sextante มีเครื่องมือที่อาจใช้งานได้ มันเรียกว่าการแปลงภายใต้ "เครื่องมือสำหรับเลเยอร์เวกเตอร์" ในการรันคำสั่งให้กำหนดมุมจุดยึดขนาดตัวประกอบและการแปล Sextante เป็นส่วนขยายของ gvsig, openjump, udig, อื่น ๆ นอกจากนี้ยังเรียกใช้จากบรรทัดคำสั่ง
ฉันไม่เห็นคุณสมบัติใด ๆ ใน Python หรือ Shapely ที่จะทำเช่นนั้น แต่คุณสามารถทำได้ด้วย JTS (Java Topology Suite) http://tsusiatsoftware.net/jts/main.html (GEOS, lib ที่ Shapely ใช้เป็นพอร์ต ของ JTS แต่ JTS มีฟังก์ชั่นเพิ่มเติม)
คุณสามารถดาวน์โหลด soft ที่นี่http://sourceforge.net/projects/jts-topo-suite/และเปิด testbuilder.sh หรือ testbuilder.bat ขึ้นอยู่กับระบบปฏิบัติการของคุณเพื่อเล่นเพื่อค้นหา หลังจากที่คุณเข้าใจพื้นฐานที่คุณจะต้องทำเช่นเดียวกันโดยไม่ต้องมี GUI แต่ด้วยการเขียนโปรแกรมจาวาเท่านั้น
http://geoscript.org/อาจช่วยให้คุณสร้างกาวระหว่างโค้ดไพ ธ อนและจาวา (เนื่องจากการใช้งานอย่างใดอย่างหนึ่งใช้ Jython)
คุณสามารถใช้การผูกลายหลาม gdal เพื่อเลียนแบบการแปลงhttp://www.gdal.org/ogr/osr_tutorial.html
เนื่องจากมันถูกสร้างขึ้นบน proj / geos / gdal คุณสามารถทำสิ่งเดียวกับที่ + หุ่นดี