เครื่องมือฟรีที่จะทำให้รูปร่างของพัสดุง่ายขึ้นหรือไม่


16

มีเครื่องมือใดบ้างที่ให้ฉันเรียกใช้รูปร่างไฟล์หลายล้านพัสดุและทำให้มันง่ายขึ้น?


1
คุณหมายถึงอะไรโดยทำให้ง่ายขึ้นขอบ?
artwork21

1
ฉันคิดว่าฉันจะกังวลเกี่ยวกับการทำให้รูปหลายเหลี่ยมง่ายขึ้นโดยไม่มีโทโพโลยีบางประเภท ฉันไม่คิดว่า esri จะจัดการสองขอบที่ถูกทำให้พร้อมกันดังนั้นพวกเขาจึงยังคงสอดคล้องกัน บางทีฉันผิด
Brad Nesom

คำตอบ:


6

คุณอาจจะลองหุ่นดี - งูหลาม API ที่สร้างขึ้นบนGEOS ขณะที่ทั้งสองหุ่นดีและมี GDAL ห้องสมุดหลามคุณสามารถรวมข้อมูลจากแหล่งที่มาที่แตกต่างกัน (รวมถึงเชปไฟล์) จากนั้นจะลดความซับซ้อนและการส่งออกตามที่ต้องการ

ข้อเสียเพียงอย่างเดียวคือความเร็วหากคุณใช้งานคุณสมบัตินับล้าน - มันอาจจะเร็วกว่าที่จะใช้ GEOS หรือJTSโดยตรง

ดูวิธีการลดความซับซ้อน :

จุดทั้งหมดในวัตถุที่ทำให้เข้าใจง่ายจะอยู่ในระยะการยอมรับของรูปทรงเรขาคณิตดั้งเดิม โดยค่าเริ่มต้นอัลกอริธึมที่ช้ากว่านั้นจะรักษาโทโพโลยีไว้ ถ้ารักษาโทโพโลยีถูกตั้งค่าเป็นเท็จอัลกอริทึม Douglas-Peucker ที่เร็วกว่านั้นจะถูกใช้

>>> p = Point(0.0, 0.0)
>>> x = p.buffer(1.0)
>>> x.area
3.1365484905459389
>>> s = x.simplify(0.05, preserve_topology=False)
>>> s.area
3.0614674589207187

14

GDAL / OGR เวอร์ชัน 9.0 เพิ่มตัวเลือก -simplify ให้กับคำสั่งogr2ogr เอกสารแสดงให้เห็นว่ามันรักษาโทโพโลยี

- ลดความคลาดเคลื่อนที่ยอมรับได้: (เริ่มต้นด้วย GDAL 1.9.0) ความทนทานต่อระยะทางสำหรับการทำให้เข้าใจง่าย วิธีนี้จะรักษาโทโพโลยีโดยเฉพาะสำหรับรูปหลายเหลี่ยม

ตัวอย่างการใช้งาน:

ogr2ogr outfile.shp infile.shp -simplify 0.000001


6

ogr2ogr มีตัวเลือก "แบ่งเป็นส่วน" ที่ดูเหมือนจะทำสิ่งที่คุณต้องการ: เอกสารประกอบของ GDAL ogr2ogr

จากหน้านั้น:

-segmentize max_dist: (เริ่มต้นด้วย GDAL 1.6.0) ระยะทางสูงสุดระหว่าง 2 โหนด ใช้เพื่อสร้างขอบเขตข้อความค้นหาพิเศษแบบจุดกึ่งกลาง


5

คุณอาจจะลองMapshaper อาจมีข้อ จำกัด บางประการเนื่องจากขนาดไฟล์ของคุณ


4

ฉันทำการทดสอบบางอย่างและ ณ วันนี้วิธีการทั้งหมดที่แนะนำที่นี่และพึ่งพา GEOS (ogr2ogr ด้วย -simplify, shapely, ฟังก์ชัน ST_SimplifyPreserveTopology ของ PostGIS) ของ PostGIS (เช่นหลุม / ทับซ้อนกันระหว่างรูปหลายเหลี่ยม) เฉพาะกับ GRASS ฉันมีผลลัพธ์ที่ดี
capooti

3

รับแรงบันดาลใจจาก Mapshaper แต่โดยตรงในพื้นที่ให้ดูที่https://github.com/migurski/Bloch


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