คำถามติดแท็ก splitting

4
วิธีแบ่งคุณสมบัติใน QGIS
ฉันใหม่ที่ใช้ QGIS ฉันจะแยกคุณสมบัติต่าง ๆ ใน QGIS ได้อย่างไร? คู่มือบอกให้วาดเส้นผ่านรูปหลายเหลี่ยมที่คุณต้องการแยก แต่มันไม่ทำงาน บรรทัดจะหายไปเมื่อเสร็จสิ้น เมื่อฉันเลือกรูปหลายเหลี่ยมแล้วแบ่งมันบางครั้งก็ใช้งานได้และบางครั้งก็ไม่ได้ (ข้อมูลจะปรากฏขึ้นหลังจากนั้นจะไม่แยกคุณลักษณะ) ใครบ้างมีความคิดว่าทำไมเครื่องมือไม่ทำงานอย่างถูกต้องหรือไม่
20 qgis  splitting 

4
ตัด / คลิป / แยกรูปหลายเหลี่ยมที่มีรูปหลายเหลี่ยมอื่นจากชั้นเดียวกัน
เพื่อไม่ให้มีรูปหลายเหลี่ยม / คุณลักษณะที่ซ้อนทับกันฉันมักใช้รูปหลายเหลี่ยมอย่างน้อยหนึ่งรายการเพื่อตัด / สร้างรูปหลายเหลี่ยมอื่น ๆ นี่มักจะเร็วกว่าการติดตามเมื่อเพิ่มรูปหลายเหลี่ยม ฯลฯ ฉันไม่พบฟังก์ชันการทำงานนี้ใน QGIS รูปหลายเหลี่ยมที่เน้นถูกซ้อนทับด้วยรูปหลายเหลี่ยมที่อยู่ติดกัน (ตะวันตก / ซ้าย) กับขอบตรง ฉันต้องการตัดรูปหลายเหลี่ยมที่อยู่ติดกันด้วยไฮไลต์

1
แยกรูปหลายเหลี่ยมที่จุดกึ่งกลางโดยใช้ ArcPy?
ฉันพยายามแยกรูปหลายเหลี่ยมประมาณ 4000 รูปหลายเหลี่ยมที่จุดกึ่งกลางของพวกเขาตั้งฉากกับแกนที่ยาวที่สุดของพวกเขา (เช่นข้ามความกว้างที่จุดกึ่งกลาง) ดังในแผนภาพด้านล่าง เป็นการดีที่ฉันต้องการทำสิ่งนี้โดยอัตโนมัติและหลีกเลี่ยงการแบ่งแต่ละรูปหลายเหลี่ยมด้วยตนเอง ฉันได้แยกจุดกึ่งกลางของรูปหลายเหลี่ยมด้วยการแปลงเส้นที่ยาวที่สุดที่สามารถวาดได้ในแต่ละอันฉันแค่ต้องกำหนดวิธีในการวาดเส้นความกว้างข้ามจุดนี้โดยอัตโนมัติ รูปหลายเหลี่ยมแตกต่างกันไปในความกว้างของพวกเขาและด้วยเหตุนี้เครื่องมือที่แบ่งรูปหลายเหลี่ยมโดยการกำหนดเส้นความกว้างที่มีความยาวที่แน่นอนนั้นไม่ใช่สิ่งที่ฉันกำลังมองหา ความคิดใด ๆ

3
แยกคุณสมบัติเมื่อตัดกันด้วยคุณสมบัติของอีกชั้นหนึ่งโดยใช้ PyQGIS / Python หรือไม่?
ฉันมีเลเยอร์บัฟเฟอร์ (รูปหลายเหลี่ยมสีเขียว) ซึ่งฉันต้องการแยกเป็นรูปหลายเหลี่ยมสองรูปเมื่อใดก็ตามที่ข้ามสิ่งกีดขวาง (เส้นสีน้ำเงิน) ฉันพยายามใช้วิธี "splitGeometry" แต่ฉันไม่สามารถใช้งานได้ รหัสของฉันคือ: while ldbuffprovider.nextFeature(feat): while barprovider.nextFeature(feat2): if feat.geometry().intersects(feat2.geometry()): intersection = feat.geometry().intersection(feat2.geometry()) result, newGeometries, topoTestPoints=feat.geometry().splitGeometry(intersection.asPolyline(),True) ซึ่งส่งคืน 1 สำหรับผลลัพธ์ (ข้อผิดพลาด) และรายการว่างสำหรับ newGeometries ความช่วยเหลือใด ๆ ที่ชื่นชมอย่างมาก

2
กำลังตัดจุดเชื่อมต่อด้วยคะแนนหรือไม่
ฉันกำลังตรวจสอบวิธีที่ดีที่สุดในการตัดการเชื่อมต่อตามจุด สถานการณ์คือ: ถนนจำนวนมากต้องแบ่งส่วนตามจุดตัดกันแบบนี้: ฉันได้ ตารางการเคลื่อนไหว (เต็มจุดโดยไม่ได้คะแนน) ตารางคะแนน st_intersection ฉันต้องได้รับการตัดส่วนที่เป็นอิสระโดยตารางจุดตัด ฉันใช้ฟังก์ชั่น PostGIS และพบวิธีการต่าง ๆ แต่ทุกคนมีปัญหาบางอย่างให้ฉัน นี่คือสิ่งที่ฉันทดสอบแล้ว: 1 ตารางเส้น: 1 แถว, st_memunion ของ 1200 บรรทัดตารางจุด: 1,700 แถว (คะแนน) มีอะไรที่ไม่ดี: ใช้เวลาและหน่วยความจำอย่างมาก ไม่สามารถสร้างหลายตารางพร้อมกันทำให้หน่วยความจำไม่สามารถจัดการได้ และผลลัพธ์ก็สกปรกและยุ่งเหยิง แทนที่จะให้หมายเลขแถวที่ถูกต้องกับฉันและฉันจำเป็นต้องทำความสะอาดในภายหลัง (อธิบายอย่างดีที่นี่แยกบรรทัดที่จุดตัดกัน ) CREATE TABLE lines_with_messy_result AS ( SELECT ((ST_DUMP(ST_SPLIT(a.geom,b.ix))).geom) as geom FROM st_union_lines a INNER JOIN lots_of_points b ON …

5
แบ่งบรรทัดออกเป็นชุดย่อยที่ไม่ทับซ้อนกันตามคะแนน
กำหนดตารางที่มีเรขาคณิตเส้นและหนึ่งจุดขึ้นไปที่จัดชิดกับบรรทัดนี้ในตารางแยกกันฉันต้องการแยกแต่ละบรรทัดด้วยจุดตัดกันอย่างน้อยหนึ่งจุดในแต่ละตำแหน่งที่เส้นตัดกับจุด ตัวอย่างเช่นมีเส้น L ซึ่งมีจุดตัดกันสามจุดคือ A, B และ C ตามลำดับตามเรขาคณิตของเส้น ฉันต้องการคืน L เป็นรูปทรงที่แตกต่างกันสี่แบบ: จากจุดเริ่มต้นของ L ถึง A, จาก A ถึง B ตาม L, จาก B ถึง C ตาม L และจาก C ถึงจุดสิ้นสุดของ L ในอดีตฉันเคยใช้หุ่นดีสำหรับงานนี้ซึ่งเป็นปัญหาการอ้างอิงเชิงเส้น ( http://sgillies.net/blog/1040/shapely-recipes/ ) อย่างไรก็ตามการทำเช่นนี้จะไม่สามารถทำได้ในกรณีนี้ซึ่งมีหลายล้านบรรทัดและคะแนน ฉันกำลังมองหาวิธีแก้ปัญหาด้วยการใช้ PostgreSQL / PostGIS แทน โปรดทราบว่าคะแนนจะถูก จำกัด ให้อยู่ในบรรทัด นอกจากนี้จุดที่ถูกต้องสามารถอยู่ในจุดเริ่มต้นหรือจุดสิ้นสุดของบรรทัดซึ่งในกรณีที่ไม่จำเป็นต้องแยกบรรทัด (เว้นแต่มีจุดอื่น ๆ ที่ไม่สอดคล้องกับจุดเริ่มต้นหรือจุดสิ้นสุดของบรรทัดเดียวกัน) บรรทัดย่อยต้องรักษาทิศทางและคุณลักษณะของตนเองไว้ …

5
จะแบ่งถนน OSM ออกเป็นส่วน ๆ ได้ที่ทางแยกได้อย่างไร
ฉันต้องการสร้างเครือข่ายถนนสำหรับใช้กับ pgRouting โดยใช้ข้อมูล OpenStreetMap ฉันโหลด shapefile จาก GeoFabrik ลงในตาราง Postgres (โดยเปิดใช้งาน PostGIS) อย่างไรก็ตามปัญหาหนึ่งที่ฉันมีคือถนนมักจะไม่จบที่สี่แยกดังนั้นฉันจึงตัดสินใจแยกพวกเขาทุกครั้งที่สี่แยกหรือข้าม ในการระบุการแยกทั้งหมดที่ข้ามถนนหรือทางแยกฉันใช้สิ่งต่อไปนี้SQL(คล้ายกับคำถามก่อนหน้า ): CREATE TABLE split_points as SELECT DISTINCT ST_GeometryN(ST_Intersection(a.geom, b.geom),1) as geom FROM roads as a, roads as b WHERE ST_Touches(a.geom, b.geom) OR ST_Crosses(a.geom, b.geom) AND a.gid != b.gid GROUP BY ST_Intersection(a.geom, b.geom); ตอนนี้ฉันต้องการแยกถนนโดยใช้จุดเหล่านี้ ฉันใช้วิธีการต่อไปนี้: CREATE TABLE …

2
แบ่งรูปหลายเหลี่ยมที่ผิดปกติออกเป็นพื้นที่เท่ากันโดยใช้ QGIS หรือไม่
ฉันเป็นนักสำรวจและใช้ QGIS ในการดูแลรักษาบันทึกการทดสอบดินในโครงการโยธาและได้รับการจัดให้มีพื้นที่ทดสอบอย่างต่อเนื่องหรือจำนวนที่ต้องการ เหล่านี้มักจะมากกว่าในรูปทรงที่ผิดปกติและฉันสงสัย มีปลั๊กอิน / โซลูชันเพื่อตัดเลเยอร์ที่มีรูปหลายเหลี่ยมที่ผิดปกติเป็นพื้นที่เท่ากันหรือจำนวนล็อตที่มีพื้นที่ที่ระบุผลลัพธ์ที่ได้คือจำนวนล็อตมากที่สุดตามพื้นที่ที่ให้ไว้หรือไม่

2
วิธีการ ST_Split คุณสมบัติในตารางหนึ่งโดยคุณสมบัติในอื่น
ฉันต้องการแยกรูปหลายเหลี่ยม (เลเยอร์ 'pol') โดย linestrings ทั้งปิดและไม่ปิด (เลเยอร์ 'lin') น่าเสียดายที่ฉันไม่ได้รับผลลัพธ์ที่ถูกต้องในการใช้แบบสอบถาม CREATE VIEW splitted_pol AS SELECT g.path[1] as gid, g.geom::geometry(polygon, SRID) as geom FROM (SELECT (ST_Dump(ST_Split(pol.geom, lin.geom))).* FROM pol, lin ) as g; ในตัวอย่างของฉัน ST_Split ควรสร้างรูปหลายเหลี่ยมหกรูป (เลเยอร์ 'splitted_pol') ใครบ้างรู้วิธีใช้ ST_Split กับ QGIS / PostGIS

4
การแยก Linestrings บน dateline ด้วย OpenLayers
สองสามปีที่ผ่านมาฉันโพสต์บรรทัดวันที่สากลล้อมรอบและ @jdeolive แนะนำให้ฉันแยกคุณสมบัติที่ dateLine ดังนั้นฉันจึงพยายาม เมื่อฉันพยายามที่จะแยกการติดตามดาวเทียมของฉันกับsplitWithnullในวันเดือนปีที่ผมได้รับกลับมา ฉันรู้ว่าฉันแยกอย่างถูกต้องเพราะเมื่อฉันแยกสายกรีนวิชฉันจะได้รับผลลัพธ์ที่คาดหวัง มีใครรู้บ้างว่าฉันสามารถแยกLinestringอย่างเป็นโปรแกรมตามบรรทัดวันที่ด้วย OpenLayers ได้อย่างไร ฉันค้นหาโค้ดตัวอย่างถ้าคุณมี ฉันลองแล้วwrapDateLineแต่ดูเหมือนว่ามันจะไม่ทำงานบนเลเยอร์เวกเตอร์แม้ว่าเลเยอร์เวกเตอร์ของฉันจะเป็นแบบนี้: vectorLayer = new OpenLayers.Layer.Vector("GroundTracks", { renderers: ['Canvas', 'VML'], wrapDateLine: true}); // <-- shoud be wraping. นี่คือรหัสของฉัน: var features = []; var format = new OpenLayers.Format.WKT({ 'internalProjection': map.baseLayer.projection, 'externalProjection': prjGeographic }); var satTrack = format.read("LINESTRING (95.538611 13.286511, 94.730711 16.908947, …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.