ฉันจะสร้างภาพขนาดย่อจากรูปร่างที่มากได้อย่างไร


9

เพื่อนร่วมงานและฉันเพิ่งเปิดตัวโครงการโอเพ่นซอร์สที่เรียกว่าMapotecaซึ่งเป็นชุดของ Python Scripts ที่รวมเข้ากับการติดตั้ง GDAL / FWTools ซึ่งจะช่วยให้ไดเรกทอรีต่างๆสามารถค้นหาข้อมูลเชิงพื้นที่และแยกขอบเขตเรขาคณิตจำนวนองค์ประกอบ และผู้ใช้เขียนลงในไฟล์ csv เรากำลังทำงานในส่วนที่อธิบายไฟล์ DBF ที่เกี่ยวข้องและเราต้องการสร้างภาพขนาดย่อของแต่ละไฟล์รูปร่างคุณรู้วิธีสร้างภาพขนาดย่อเหล่านี้ใน jpeg หรือ png โดยใช้ Python หรือไม่?

คำตอบ:



3

ฉันโพสต์คำถามเกี่ยวกับการสร้างภาพจากข้อมูลเวกเตอร์ที่คุณอาจพบว่ามีประโยชน์ คำตอบที่ได้รับการยอมรับการรวมกันของหุ่นดี ogr, matplotlib และ numpy ดูเหมือนว่ามันจะทำงานได้ดีสำหรับคุณ


2

วิธีที่ง่ายที่สุดคือเรียก gdal_rasterize โดยใช้ subprocess.call () แต่ฉันคิดว่ามันไม่ได้ทำการแก้ไขใด ๆ ดังนั้นมันจะเป็นนามของจุดที่อ่านไม่ออกถ้าคุณสร้างภาพขนาดย่อจากข้อมูลตรง ดังนั้นคุณควรสร้าง "ชั่วคราวขนาดที่เหมาะสม" * และใช้ไลบรารีรูปภาพ Python เพื่อปรับขนาดตามขนาดที่คุณต้องการ

แต่ฉันคาดว่าปัญหาที่ใหญ่ที่สุดจะอยู่ที่คุณลักษณะใดที่คุณจะกำหนดสไตล์ของคุณ Shapefiles ไม่มีข้อมูลที่แสดงโดยธรรมชาติเนื่องจากฉันแน่ใจว่าคุณทราบดังนั้นคุณจะต้องค้นหาวิธีการตัดสินใจเลือกสีที่จะใช้ gdal_rasterize ช่วยให้คุณมีความสามารถในการทำเช่นนี้ แต่ตัวเลือกจะขึ้นอยู่กับความรู้เฉพาะโดเมน ในการมีเครื่องมือทั่วไปคุณจะต้องมีชุดรูปแบบทั่วไป

* นี่ก็เป็นสิ่งที่คุณอาจต้องทำกฎฮาร์ดโค้ดบางอย่าง อาจเริ่มต้นด้วยขนาดพิกเซลในอุดมคติ (พูด 10m ต่อพิกเซล) และเพิ่มว่าหากภาพที่ได้มีขนาดใหญ่เกินกว่าจะใช้งานได้จริง



1

เพียงเพื่อประโยชน์ของความสมบูรณ์ - mapserver ยังสามารถแสดงแผนที่ที่ดูดีจากช่วงของฐานข้อมูลบน commandline โดยใช้ยูทิลิตี้shp2img อีกครั้งคุณจะต้องตัดสินใจเกี่ยวกับสไตล์ที่เรียบง่ายมาก ๆ ที่ตรงกับวัตถุประสงค์ของคุณ


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.