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

ArcObjects เป็นชุด API ที่อิงกับ COM จาก ESRI Inc. ที่ใช้ในผลิตภัณฑ์หลายชนิดรวมถึง ArcGIS Desktop, ArcGIS Engine และ ArcGIS Server

2
แนวทางการใช้ ArcObjects จาก Python
เท่านี้การเข้าถึง ArcObjects จาก Python เป็นคำถามและคำตอบที่อ่านมากที่สุดของฉันใน GIS Stack Exchange แม้ว่าความสำเร็จนั้นอาจเป็นหนึ่งในจุดอ่อนที่สุดของฉันเมื่อพูดถึงการใช้งานจริง ส่วนใหญ่ของที่แสดงยากจนมาจากความยากจนของฉันที่จะอ่านและทำความเข้าใจArcObjects เอกสาร ดังนั้นสำหรับงานที่ได้รับอะไรบ้างแนวทางสำหรับการแปล. net / c ++ / java / ... เอกสารและตัวอย่างในการเทียบเท่าของหลาม? (ภาษาใดเป็นภาษาที่ดีที่สุดในการทำงานจากเรื่องนั้น) และดัชนีที่ดีที่สุดหรือหน้า Landing Page เริ่มต้นจากอะไร สิ่งใดที่ควรเพ่งความสนใจไปและอย่างน้อยก็สำคัญเหมือนกันสิ่งที่สามารถเพิกเฉยได้อย่างอิสระ? สมมติว่าผู้ชมของคุณใช้ภาษาไพ ธ อนค่อนข้างน้อยและไม่รู้หนังสือในภาษาที่ใช้ในการพัฒนาอื่น ๆ นำเราไปสู่การฝึกเขียนโปรแกรมขนาดเล็กตั้งแต่แนวคิดเริ่มต้นและการวิจัยไปจนถึงผลลัพธ์การทำงานของหลาม

5
โปรแกรมแก้ไข / ปรับปรุงข้อมูลเมตาใน ArcGIS?
มีใครประสบความสำเร็จในการอัปเดตข้อมูลเมตาในโปรแกรม ArcGIS 10 หรือไม่ การพิจารณาใช้ Python / arcpy แต่ ArcObjects (C # หรือ Python / comtypes) ก็เป็นไปได้เช่นกัน ฉันต้องการอัปเดตทั้งเมตาดาต้ารูปแบบ FGDC และ ArcGIS-ISO และวิธีการใดก็ตามที่ใช้จะต้องสามารถรักษาองค์ประกอบที่มีอยู่ (ไม่ว่างเปล่า) พร้อมกับองค์ประกอบที่เพิ่มเข้ามาได้ยกเว้นในกรณีที่ขัดแย้งกัน องค์ประกอบที่เพิ่มเข้ามาเขียนทับองค์ประกอบที่มีอยู่

1
หน่วยความจำเซิร์ฟเวอร์ไม่เพียงพอเมื่อปรับเซสชันการแก้ไขขนาดใหญ่ใน ArcObjects ใหม่
หนึ่งในผู้ใช้ของเราพบOut of Server Memoryข้อผิดพลาดเป็นระยะ ๆด้วย ArcSDE 10.0 เมื่อพยายามกระทบยอดเซสชันการแก้ไขที่มีขนาดใหญ่ VMware ESX อินสแตนซ์: Windows Server 2008 R2 Datacenter Service Pack 1 Intel Xeon E5-2660 @ 2.20GHz RAM 8 GB ฉันได้ตั้งค่าการตรวจสอบประสิทธิภาพเพื่อติดตามการใช้หน่วยความจำ แต่ฉันอยากรู้ว่าปัญหานี้เป็นปัญหาที่คนอื่นประสบกับการแก้ไขเวอร์ชันหรือไม่? RDBMS ของเราคือ Oracle และฉันได้พบหน้านี้โดย ESRI: http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//002n00000026000000 อย่างไรก็ตามดูเหมือนว่าสมมติว่า ArcSDE และ Oracle อยู่ในเครื่องเดียวกัน (สำหรับพวกเราไม่ใช่พวกเขา) ฉันควรลบพื้นที่ตาราง 'ไม่ จำกัด ' ที่เกี่ยวข้องกับผู้ใช้การแก้ไขหรือไม่ นอกจากนี้เรายังทำการเชื่อมต่อโดยตรงกับฐานข้อมูลของคุณโดยใช้ไคลเอนต์ Oracle นี่แปลว่าฉันกำลังดูเซิร์ฟเวอร์ผิด (ArcSDE) …

1
ArcObjects ทำงานใน Addin ช้าลงไหม
ฉันได้สร้างห้องสมุดคลาสซึ่งใช้กระบวนการทางภูมิศาสตร์ Addin เรียกคลาสที่เป็นกระบวนการอะซิงก์ ฉันได้ทำให้แน่ใจว่าด้ายเป็น STA และ arcobjects เป็นด้ายปลอดภัย (เช่น. ไม่ผ่านจาก addin) arcobject ทั้งหมดถูกสร้างขึ้นภายในเธรด เพราะนี่คือห้องสมุดชั้นเรียนฉันห่อมันไว้ใน winforms UI และยังเป็นส่วนเสริม รหัสทั้งสองชุดนั้นเหมือนกันทุกประการและทำการทดสอบโดยใช้ข้อมูลเดียวกันที่แน่นอน ทั้ง winforms และ addin กรอกรหัสด้วยผลลัพธ์ที่ต้องการและไม่มีหน่วยความจำรั่ว สำหรับกรณีของ addin ไม่มีการโต้ตอบกับช่วงเวลาของแผนที่ ณ จุดนี้และไม่มีการแมปหรือองค์ประกอบการแสดงผลในรหัส winforms การอัพเดต UI เพียงอย่างเดียวคือการอัพเดทของกล่องโต้ตอบความคืบหน้าในทั้ง addin และ UI Addin กำลังใช้งานหน้าต่างที่สามารถเชื่อมต่อได้ (การควบคุมของผู้ใช้ UI) ปัญหาที่ฉันเห็นคือเมื่อมีการเรียกไลบรารี่จาก addin การประมวลผลโค้ดช้ากว่ารหัสเดียวกัน 5 เท่าที่เรียกใช้ผ่านแอปพลิเคชัน winforms ความคิดใด ๆ เกี่ยวกับที่ฉันอาจจะดูเพื่อดูว่าทำไมสิ่งนี้เกิดขึ้น?


2
ArcObjects: วิธีการแทรกข้อมูลลงในตาราง?
ฉันมีตารางใน ArcCatalog ชื่อ WorkOrderAss ตารางนี้มี 3 คอลัมน์: (OBJECTID, FeatureName, Name) ฉันต้องการแทรกข้อมูลลงในตารางนี้จากโค้ดด้านหลังใน C # ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม

2
การปรับใช้ฟังก์ชัน ArcGIS แบบกำหนดเอง
ฉันต้องการค้นหาสิ่งที่ต้องใช้ในการสร้างการใช้งานแบบกำหนดเองของฟังก์ชัน ArcGIS โดยเฉพาะฉันต้องการใช้GeoAnalyst.ISurfaceOp2.Visibility () เพื่อให้ทำงานได้เร็วขึ้น ตอนนี้ใช้เวลาประมาณ 3 วินาทีต่อการโทรไปยังการเปิดเผย () จากความเข้าใจที่ จำกัด ของฉันคอขวดคือการเขียนแรสเตอร์ชั่วคราวไปยังระบบไฟล์ หากสามารถทำได้ในหน่วยความจำฉันสงสัยว่าเวลาประมวลผลจะลดลงอย่างมีนัยสำคัญ ฉันกำลังทำสิ่งนี้ในโครงการ. NET แต่ยินดีต้อนรับโซลูชันในภาษาใด ๆ

3
วิธีการตรวจสอบคุณสมบัติของรูปหลายเหลี่ยมที่ด้านข้างของบรรทัด
ฉันมีข้อมูลพัสดุตัดข้อมูลเส้น ในข้อมูลพัสดุมีพัสดุบางส่วนที่ไม่ตัดกัน ฉันจะหาทางโปรแกรมได้อย่างไรว่าพัสดุที่ไม่ตัดกันนั้นอยู่ทางด้านขวาหรือด้านซ้ายของเส้น ขอบคุณ

2
วิธีใช้ IRelationalOperator2 และ GeometryBag
ฉันต้องการใช้วิธี IsNear ของ IRelationalOperator2 เอกสารกล่าวว่า GeometryBag รองรับการเชื่อมต่อ IRelationalOperator2 แต่นี่ใช้งานไม่ได้และส่งผลให้เกิดข้อยกเว้น "... ไม่สามารถส่งวัตถุ COM ... ไม่มีส่วนต่อประสานที่รองรับ ... " IRelationalOperator2 relationalOperator = (IRelationalOperator2)geometry; รหัสเดียวกันทำงานได้ดีกับ IRelationalOperator แต่ไม่มีวิธี IsNear: IRelationalOperator relationalOperator = (IRelationalOperator)geometry; มีอะไรผิดปกติ - รหัสเอกสารหรือเป็นข้อผิดพลาด? "geometry" เป็นรูปทรงเรขาคณิตของประเภทเรขาคณิตesriGeometryBagและมีโพลิลีนบางส่วน ฉันใช้เพี้ยนตรงเพื่อรับข้อยกเว้น. NET



2
ปรับเปลี่ยนการแสดงเลเยอร์แรสเตอร์และคุณสมบัติสัญลักษณ์โดยทางโปรแกรมด้วย arcpy หรือ ArcObjects
ฉันมีไฟล์ NITF มากกว่า 1,500 ไฟล์ที่ฉันต้องสามารถปรับเปลี่ยนการแสดงเลเยอร์และสัญลักษณ์ของโปรแกรมจากภายใน ArcMap ฉันต้องตั้งค่าคุณสมบัติที่ระบุไว้ในสีแดงด้านล่าง: ฉันได้ดูเอกสาร arcpy และดูเหมือนว่าคุณสมบัติเหล่านี้จะถูกเปิดเผย - โดยสุจริตฉันไม่ได้คาดหวังให้พวกเขาเป็น ฉันรู้สึกว่าฉันสามารถเข้าถึงพวกเขาผ่าน ArcObjects ทุกคนมีประสบการณ์ / โชคในการปรับเปลี่ยนคุณสมบัติเหล่านี้โดยทางโปรแกรมหรือไม่

1
แก้ไข Shapefile ใน ArcMap โดยทางโปรแกรมหรือไม่
นี่เป็นสิ่งที่สามารถทำได้หรือไม่? ตัวอย่างเช่นถ้าฉันสร้างการซ้อนทับบนแผนที่และบันทึกเป็นรูปร่างไฟล์ฉันต้องการไปและแก้ไขการซ้อนทับ( ไฟล์ที่มีอยู่ก่อน ) นี้ ... ทั้งเพิ่มจุด / ลบจุดเปลี่ยนสี / fillstyle / ฯลฯ เป็นการดีที่ฉันต้องการหลีกเลี่ยงการสร้างรูปร่างไฟล์ใหม่และลบไฟล์เก่า คิด? แก้ไข 1: ตกลงตอนนี้มีคนบอกว่าสามารถทำได้ คำถามที่ชัดเจนคือคุณจะแก้ไข shapefile ได้อย่างไร (ใน ArcObjects pro-grammatically) แก้ไข 2: ดูความคิดเห็นที่ปรากฏฉันต้องทำอะไรแบบนี้ แต่ฉันไม่แน่ใจ ขณะนี้ฉันมีรูปร่างพื้นฐานที่ฉันต้องการแก้ไขใน ArcObjects ใน C # ฉันได้สร้าง shapefile โดยสร้าง FeatureClass, Workspace แล้วเห็นได้ชัดว่าผ่านรูปร่างของฉันไปแล้ว ในกรณีนี้มันเป็นแค่โพลีไลน์ที่มีเพียงไม่กี่จุด สิ่งที่ฉันต้องการจะทำคือสามารถอัปเดตรูปร่างไฟล์นี้ได้ ฉันสมมติว่าฉันต้องใช้ FeatureClass, Workspace อีกครั้งและส่งผ่านในรูปแบบใหม่ อย่างไรก็ตามสิ่งที่ฉันทำไม่ได้ผล นี่คือที่ฉันอยู่ในการแก้ไข - คำแนะนำใด ๆ …

3
การสร้างหน้าต่างแบบลอยเท่านั้น (ไม่สามารถเทียบท่าได้) ใน ArcMap โดยใช้ ArcObjects?
ฉันกำลังมองหาวิธีสร้างหน้าต่างลอยใน ArcMap เพื่อให้ตัวอย่างเพียงแค่ดูที่หน้าต่างของเครื่องมือระบุ Floating หมายถึงมันอยู่ข้างหน้าเอกสารแผนที่ตลอดเวลาและผู้ใช้สามารถทำงานกับ ArcMap ได้ ฉันรู้ว่าอินเทอร์เฟซ IDockableWindowDef สามารถใช้เพื่อสร้าง windows dockable ซึ่งสามารถลอยได้แต่ฉันไม่ต้องการให้เชื่อมต่อ จากความรู้ของฉันมันเป็นไปไม่ได้ที่จะป้องกันไม่ให้ฟอร์มที่สร้างขึ้นโดย IDockableWindowManager เชื่อมต่อหากผู้ใช้ดันไปที่ขอบของหน้าต่าง ArcMap ความคิดใด ๆ ทางออกคือการค้นหาคำหลักเช่นหน้าต่างลูกและ MDI HTH การแก้ปัญหาดูเหมือนจะง่ายเหมือนคำตอบของ @ llcf : MyForm form = new MyForm(); form.Show(NativeWindow.FromHandle(new IntPtr(m_application.hWnd)));
9 arcmap  arcobjects  c# 

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