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

(1) เรขาคณิตนามธรรม (2) การจัดเก็บข้อมูลทางภูมิศาสตร์ในพิกัดที่ฉาย (3) คำ ESRI ทั่วไปสำหรับคุณสมบัติของเวกเตอร์ คลาสสำหรับวัตถุ "เรขาคณิต"

1
ความแตกต่างระหว่างกล่องขอบเขตซองจดหมายขอบเขตขอบเขต?
ทุกครั้งที่ฉันสร้างสคริปต์เพื่อจัดการเวกเตอร์ (จุดเส้นและรูปหลายเหลี่ยม) ในหลามฉันพบข้อสงสัยนี้ ความแตกต่างระหว่างกล่องขอบ (bbox), ซองจดหมาย, ขอบเขต, ขอบเขตคืออะไร?

2
การคำนวณรูปหลายเหลี่ยม centroid ทรงกลม
ฉันต้องการวิธีทั่วไปในการคำนวณเซนทรอยด์สำหรับรูปหลายเหลี่ยมบนทรงกลม จนถึงตอนนี้การอ้างอิงออนไลน์ที่ดีที่สุดดูเหมือนจะเป็น: เครื่องมือสำหรับกราฟิกและรูปร่างโดย Jeff Jenness วิธีดังกล่าวอธิบายว่ามีการย่อยสลายรูปหลายเหลี่ยมเป็นรูปสามเหลี่ยมหลายทรงกลมและคำนวณค่าเฉลี่ยของรูปสามเหลี่ยมทรงกลม centroids ถ่วงน้ำหนักด้วยพื้นที่สามเหลี่ยมทรงกลม ฉันรู้ว่ามีหลายวิธีในการกำหนดรูปหลายเหลี่ยม centroid ทรงกลม แต่ฉันกำลังมองหาสิ่งที่คล้ายกับคำจำกัดความต่อไปนี้สำหรับจุดและ polylines: คะแนน : ค่าเฉลี่ยเลขคณิตของเวกเตอร์คาร์ทีเซียนที่เป็นตัวแทนของคะแนน Polylines : ค่าเฉลี่ยถ่วงน้ำหนักของเวกเตอร์คาร์ทีเซียนซึ่งเป็นจุดกึ่งกลางของแต่ละส่วนของเส้นโดยถ่วงน้ำหนักด้วยความยาว (ทรงกลม) ของแต่ละส่วน ดูเหมือนว่ามีความต่อเนื่องที่สมเหตุสมผลในการกำหนดรูปหลายเหลี่ยม centroids เป็นค่าเฉลี่ยถ่วงน้ำหนักของการสลายตัวแบบสามเหลี่ยมซึ่งแบ่งตามพื้นที่ คำถามของฉันคือว่าวิธีการในการอ้างอิงข้างต้นจะทำงานโดยไม่คำนึงถึงการสลายตัวของสามเหลี่ยมที่ใช้ โดยเฉพาะอย่างยิ่งมันกล่าวถึงการย่อยสลายเป็นรูปสามเหลี่ยมเมื่อเทียบกับจุดโดยพลการแม้ภายนอกของรูปหลายเหลี่ยมเช่นว่ารูปสามเหลี่ยมบางส่วนจะมีพื้นที่เชิงลบที่มีน้ำหนักเชิงลบ ที่เกี่ยวข้อง: วิธีค้นหาจุดศูนย์กลางของเรขาคณิตของวัตถุได้อย่างไร

4
การสร้างเส้นจากพิกัดจุดจับคู่กับ ArcPy?
ฉันมีบางจุดที่จับคู่พิกัด (จุดเริ่มต้นและจุดสิ้นสุด) ซึ่งฉันต้องแปลงเป็นเส้น จนถึงตอนนี้ฉันใช้ส่วนต่อท้ายของพิกัดทั้งสองใน a pippo.Point(), a pippo.CalculateGeometry()เพื่อกำหนดรูปทรงเรขาคณิตของแต่ละ piont และpippo.append(defined geometry)เพื่อระบุคู่ของจุดแล้ว PointsToLine เพื่อรับสายของฉัน นี่เป็นเวลาค่อนข้างแพงในการทำหลายร้อยบรรทัด มีวิธีที่สั้นกว่านี้หรือไม่? ตัวอย่างเช่นวางจุดเริ่มต้นและจุดสิ้นสุดของแต่ละบรรทัดในเขตข้อมูลที่แตกต่างกันของตารางเดียวและนำเข้าบรรทัดโดยตรงโดยไม่ผ่านสำหรับจุดเรขาคณิต

5
การวัดความตรงของส่วนโค้ง (แสดงเป็นรูปหลายเหลี่ยม)
ฉันกำลังทำงานกับอัลกอริทึมการติดฉลากการยกระดับรูปร่างโดยอัตโนมัติและหนึ่งในปัจจัยที่ฉันต้องการนำมาพิจารณาเมื่อตัดสินใจตำแหน่งของฉลากคือวิธีที่ "ตรง" ในส่วนใดส่วนหนึ่งของรูปร่าง ยิ่งตรงก็ยิ่งมีความเป็นไปได้มากขึ้นที่จะใช้ในการติดป้ายบนส่วนนั้น เส้นชั้นความสูงแต่ละเส้นจะแสดงเป็นเส้นโค้ง (แต่มีจุดเชื่อมต่อกันเพื่อให้ดูเหมือนเส้นโค้งกับตาเปล่า) จากนั้นฉันมีความยาวคงที่ (ความกว้างของฉลาก) พูด 100 พิกเซล ถ้าฉันสุ่ม (หรืออื่น ๆ ) เลือกส่วนของรูปร่างที่มีความกว้าง 100 พิกเซลฉันต้องการที่จะได้ค่าเชิงตัวเลขที่เป็นตัวเลขของความตรงของมัน (บอกศูนย์สำหรับส่วนของรูปร่างที่เป็นเส้นตรงทั้งหมดค่าที่มากกว่าศูนย์สำหรับ ส่วนที่ตรงและค่านี้เพิ่มขึ้นเมื่อความคดเคี้ยวเพิ่มขึ้น ฉันค้นหาคำตอบแล้ว แต่ไม่พบสิ่งที่มีประโยชน์จริงๆ ฉันจะขอบคุณสำหรับพอยน์เตอร์ใด ๆ

2
การสร้างเส้นของระยะทางที่แตกต่างจากจุดกำเนิดโดยใช้ Python ใน ArcGIS Desktop?
ฉันพยายามสร้างคุณสมบัติเส้นจากจุดเดียวโดยใช้ระยะทางและมุมที่กำหนดโดยใช้ ArcGIS และ Python (ArcPy) ฉันมีจุดที่พิกัดเหล่านี้: X = 400460.99, Y = 135836.76 จากจุดนี้ฉันต้องการสร้างเส้นยาว 800 เมตรที่มุม 15 องศาจากจุดนั้น ฉันไม่รู้ว่าผลลัพธ์ที่ได้คืออะไร ข้อมูลของฉันถูกฉายใน Maryland State Plane South - Meters

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

2
การตัดรูปร่างเป็นชิ้นส่วนขนาดเล็ก
ฉันดาวน์โหลดไฟล์รูปร่างชายฝั่ง 450MB จาก OpenStreetMap ฉันต้องการแยกมันออกเป็นส่วนเล็ก ๆ มีวิธีในการสร้าง shapefile ด้วยรูปหลายเหลี่ยมเท่านั้นที่มีอยู่ในพื้นที่ขนาดเล็กกว่านี้หรือไม่? ไฟล์ดังกล่าวมาพร้อมกับพื้นที่น้ำซึ่งแบ่งออกเป็นรูปสี่เหลี่ยมผืนผ้าแล้ว

5
Python, ห้องสมุดรูปร่างดี: เป็นไปได้ไหมที่จะทำการเลียนแบบรูปหลายเหลี่ยมรูปร่าง?
ฉันพยายามสร้างสี่เหลี่ยมผืนผ้าที่หมุนในพิกัดละติจูด / ลองจิจูด โดยทั่วไปฉันมีพิกัดของจุดศูนย์กลางและมุมการหมุนรอบจุดศูนย์กลาง เป็นไปได้ที่จะใช้, หุ่นดีหรือ gdal หรืออย่างอื่น?

1
เซนทรอยด์ของรูปหลายเหลี่ยมคำนวณได้อย่างไร
ฉันต้องการทราบว่าเครื่องมือเรขาคณิตของ QGIS -> polygon centroid คำนวณพิกัดจุดอย่างไร ยกตัวอย่างเช่นมันแบ่งนักเรียนประจำของรูปหลายเหลี่ยมออกเป็นจุดเล็ก ๆ หรือไม่ใช้สองคู่ของสองจุด (ความยาวและความกว้าง) ด้วยระยะทางสูงสุดและข้ามเส้นทั้งสองนี้เป็นเซนทรอยด์?

1
การกำหนดค่า Geoserver เพื่อใช้คอลัมน์รูปทรงเรขาคณิตเฉพาะของ Postgis เป็นค่าเริ่มต้น
ฉันมีตาราง PostGIS ที่มีคอลัมน์รูปทรงเรขาคณิตสองคอลัมน์ทั้งแบบรูปหลายเหลี่ยม แต่รูปแบบหนึ่งมี SRID 4326 ส่วนอีก 3857 เมื่อเผยแพร่ตารางใน Geoserver ฉันรู้ว่าค่าเริ่มต้นของ Geoserver คือการใช้คอลัมน์รูปทรงเรขาคณิตแรกในรายการของคอลัมน์ แต่ฉันสงสัย หากมีวิธีกำหนดค่า Geoserver ให้ใช้คอลัมน์รูปทรงเรขาคณิตที่เฉพาะเจาะจง ฉันไม่ได้พูดถึงการกำหนดค่า SLD ให้แสดงผลโดยใช้คอลัมน์รูปทรงเรขาคณิตที่เฉพาะเจาะจงเช่น: <se:PolygonSymbolizer> <se:Geometry> <ogc:PropertyName>geom3857</ogc:PropertyName> </se:Geometry> … </se:PolygonSymbolizer> ฉันกำลังพูดถึงการมี Geoserver ใช้คอลัมน์รูปทรงเรขาคณิตที่เฉพาะเจาะจงเป็น SRID ดั้งเดิมและเส้นโครงเริ่มต้น

6
การย้าย / ชดเชยตำแหน่งจุดโดยใช้ ArcPy หรือ ModelBuilder?
ฉันมีเลเยอร์ CAD ที่ไม่มีการอ้างอิงทางภูมิศาสตร์จำนวนหนึ่ง (ดูคำถามนี้ ) ที่มีคุณสมบัติการเพิ่มความคิดเห็นแบบข้อความ ฉันได้สร้างแบบจำลองเพื่อแปลงข้อความให้เป็นจุด แต่หลังจากแปลงคำอธิบายประกอบเป็นคุณลักษณะแบบจุดฉันเห็นว่าจุดยึดข้อความ CAD ไม่ตรงกับจุดศูนย์กลางของข้อความ CAD (ซึ่งเป็นจุดที่อยู่) ดังนั้นฉันต้องการเขียนโปรแกรม (ใช้ ArcPy หรือ ModelBuilder) [ย้าย] คุณลักษณะที่สัมพันธ์กับตำแหน่งปัจจุบัน (delta x, y)โดยใช้ค่า X, Y ที่วัดได้ที่ฉันจะให้ สิ่งนี้จะช่วยให้ฉันย้ายจุด GIS กลับไปที่ที่พวกเขาอยู่แทนจุดยึด CAD ชดเชย ฉันจะทำงานนี้ให้สำเร็จได้อย่างไร @PolyGeo ให้คำตอบที่ยอดเยี่ยมโดยใช้SHAPE @ XY IN 10.1 แต่ขณะนี้ฉันกำลังใช้งาน 10.0 10.0 ความคิดใด ๆ

1
ทำให้ POINT จากลองจิจูด / ละติจูดในตารางที่มีอยู่โดยใช้ PostGIS?
ผมอยากจะให้จุดโดยใช้เส้นรุ้งเส้นแวงและคอลัมน์ของตารางที่มีอยู่ นี่คือการเชื่อมโยงไปยังเอกสารของST_MakePoint นี่คือตารางของฉัน: CREATE TABLE sysinst.bio ( oid INTEGER PRIMARY KEY, longitude FLOAT, latitude FLOAT, geom GEOMETRY(POINT, 26913) ); การเพิ่มคอลัมน์รูปทรงเรขาคณิต: SELECT AddGeometryColumn ('sysinst', 'bio', 'geom', 26913, 'POINT', 2); นี่คือคำถามของฉัน: UPDATE sysinst.bio SET geom = ST_SetSRID(ST_MakePoint(longitude, latitude), 26913); ไม่มีข้อผิดพลาดที่ส่งคืนแม้ว่า POINTS จะถูกวางแผนอย่างผิดพลาดเมื่อดูใน QGIS สำหรับ(-97.5959, 21.1922)ฉันได้รับ(-109.4896, 0.0002) ข้อเสนอแนะใด ๆ ฉันเปิดโอกาสให้ทำสิ่งนี้ได้อย่างมีประสิทธิภาพมากขึ้น

3
การเติบโตรูปทรงเรขาคณิตของ PostGIS เป็นเปอร์เซ็นต์
ฉันกำลังมองหาวิธีเพิ่มบัฟเฟอร์รอบ ๆ เรขาคณิตของ PostGIS แต่ขนาดของบัฟเฟอร์ควรขึ้นอยู่กับขนาดของเรขาคณิต นั่นคือฉันต้องการให้แต่ละเรขาคณิตขยายใหญ่ขึ้นโดยพูดว่า 5% แนวคิดคือฉันกำลังมองหารูปทรงเรขาคณิตที่ตัดกัน แต่อาจมีข้อผิดพลาดสูงถึง 5% ที่เกี่ยวข้องกับแต่ละรูปแบบที่ฉันต้องการนำมาพิจารณา ใครรู้วิธีที่ดีที่สุดในการทำเช่นนี้? ฐานข้อมูลมีจำนวนล้านแถวดังนั้นฉันต้องการให้มันเร็วพอสมควร

4
มีค่า Z ดัมมี่ที่ได้มาตรฐานหรือที่ใช้มากที่สุดหรือไม่?
การสร้างและการนำเข้าข้อมูล 2D และ 3D ฉันพบสถานการณ์หลายครั้งที่ฉันไม่มีค่า Z สำหรับชุดพิกัดซึ่งค่าของพิกัด Z ดูเหมือนจะอยู่นอกช่วง (เช่น -99, -9999, -infหรือคล้ายกัน ) หรือว่าฉันต้องสร้างZ หุ่นจำลอง ฉันรู้ว่าคำตอบสำหรับคำถามของฉันคือ: "เพียงแค่ใช้ค่าที่อยู่นอกขอบเขตแน่นอนในกรณีของคุณ" แต่คำตอบนั้นฉันสงสัยว่าชุมชน GIS นั้นมีค่ามาตรฐานหรือที่ใช้บ่อยที่สุดสำหรับพิกัด Z จำลองหรือไม่

2
จุด (ของการดึงแสง) ภายในรูปหลายเหลี่ยมโดยใช้ ogr และ Python
ขณะนี้ฉันกำลังทำงานในโครงการที่ฉันต้องการสร้างเครือข่ายทอพอโลยีจากคุณสมบัติทางเรขาคณิตที่ฉันพบในรูปร่างไฟล์ จนถึงตอนนี้การใช้โครงการโอเพ่นซอร์สของ Ben Reillyฉันได้ทำการแปลง linestrings เป็น edge networkx รวมถึงการตรวจสอบคุณสมบัติปิด (linestrings อื่นพูด) และเพิ่มไปยังจุดที่ใกล้ที่สุด แต่มันก็ใช้ได้สำหรับไฟล์รูปร่างเดียว อย่างไรก็ตามตอนนี้ฉันต้องเชื่อมต่อฟีเจอร์ต่าง ๆ จากรูปร่างที่แตกต่างกันเข้ากับกราฟ networkx ขนาดใหญ่ ตัวอย่างเช่นถ้าจุดอยู่ภายในรูปหลายเหลี่ยมฉันจะเชื่อมต่อมัน (โดยเชื่อมต่อฉันหมายถึงเพิ่มขอบเครือข่าย - add_edge (g.GetPoint (1), g.GetPoint (2)) กับจุดในรูปร่างไฟล์ถัดไปที่ ยังอยู่ในรูปหลายเหลี่ยมที่ใช้แอตทริบิวต์ที่คล้ายกัน (พูด ID) โปรดทราบว่ารูปหลายเหลี่ยมในส่วนต่าง ๆ จะใช้รหัสเดียวกันเท่านั้นและไม่ใช่พิกัดจุดที่อยู่ภายในรูปหลายเหลี่ยมนั้นไม่ได้ใช้พิกัดเดียวกัน วิธีแก้ไขปัญหานี้ของฉันคือการระบุจุดที่อยู่ในรูปหลายเหลี่ยมเก็บไว้ค้นหาจุดใน shapefile ถัดไปที่อยู่ในรูปหลายเหลี่ยมที่มี id เดียวกันและเพิ่ม networkx edge ระหว่างพวกเขา จะหาได้อย่างไรว่าจุดนั้นอยู่ในรูปหลายเหลี่ยมหรือไม่? มีอัลกอริทึมที่รู้จักกันดี: อัลกอริทึมRayCastingที่ทำเช่นนั้น นี่คือจุดที่ฉันติดอยู่จริงเพราะเพื่อที่จะใช้อัลกอริทึมที่ฉันต้องการพิกัดของรูปหลายเหลี่ยมและไม่ทราบวิธีการเข้าถึงพวกเขาในขณะนี้แม้หลังจาก skimming ผ่านเอกสารของเรขาคณิตของ OGR ดังนั้นคำถามที่ฉันถามคือการเข้าถึงจุดรูปหลายเหลี่ยมหรือพิกัดหรือมีวิธีที่ง่ายกว่าในการตรวจสอบว่าจุดตกอยู่ในรูปหลายเหลี่ยม? การใช้ …

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