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

C # เป็นภาษาการเขียนโปรแกรม. NET

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

3
ใหม่สำหรับ ArcGIS และต้องการคำนวณระยะห่างระหว่างจุดสองจุด“ เมื่อปลาแหวกว่าย”
เรามีชั้นที่ชื่อว่า Hydrography ซึ่งเป็นพื้นที่น้ำสำหรับงานที่ได้รับมอบหมาย ฉันมีจุดสถานีและจุดเป้าหมาย ฉันจำเป็นต้องคำนวณระยะห่างระหว่างจุดสองจุดนั้น แต่ด้านในของอุทกศาสตร์ (เรือไม่สามารถขึ้นบกได้) การคำนวณระยะทาง DefenseService ดูผ่านได้ แต่ดูเหมือนว่าจะเป็นเส้นตรงเนื่องจากไม่ได้ใช้ Raster ใด ๆ เป็นอินพุต ดูเหมือนว่ายุคลิดจะอยู่ที่นั่น แต่ฉันไม่พบสิ่งใดที่อยู่ตรงหน้า ฉันใช้ ArcGIS Explorer 2500, ArcGIS สำหรับเซิร์ฟเวอร์ 10.1 SP1 Enterprise และเรากำลังเขียนบริการและเครื่องมือของเราใน C # ฉันมีอุทกศาสตร์, การสร้างไอพอยท์ แต่มีการสูญเสียว่าจะทำอย่างไรต่อไป! ความช่วยเหลือใด ๆ ชื่นชมโปรด

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
วิธีที่ดีที่สุดในการรีเฟรชมุมมองหลังจากวาดกราฟิกคืออะไร
ฉันวาดรูปหลายเหลี่ยมบนปุ่มเพื่อไฮไลต์สถานที่ จากนั้นฉันต้องรีเฟรช ActiveView เพื่อแสดงรูปหลายเหลี่ยมใหม่ บรรทัดนี้ใช้งานได้: mapControl.ActiveView.ScreenDisplay.StartDrawing(StartDrawing(mapControl.ActiveView.ScreenDisplay.hDC, (System.Int16)ESRI.ArcGIS.Display.esriScreenCache.esriNoScreenCache); mapControl.ActiveView.ScreenDisplay.DrawPolygon(feature.Shape); mapControl.ActiveView.ScreenDisplay.FinishDrawing(); mapControl.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewAll, feature.Extent, null); แต่มันจะโหลดซ้ำทุกชั้น ฉันพยายามโทรหาPartialRefreshคนอื่นเกือบทุกวิธีesriViewDrawPhaseแต่ไม่มีรูปหลายเหลี่ยมแสดงรูปใหม่ มีวิธีแก้ปัญหาที่ดีกว่าการวาดใหม่esriViewDrawPhase.esriViewAllหรือไม่? ปรับปรุง ฉันใช้ILayerExtensionDraw.AfterDrawเพื่อทดสอบเฟสการวาดและ AfterDraw จะถูกโจมตีPartialRefresh()ด้วยesriViewAllเท่านั้น ส่วนขยายถูกเพิ่มในเลเยอร์ทั้งหมดใน MapControl.Layers ฉันคาดว่าจะได้รับผลกระทบทุกครั้งหรือไม่ เลเยอร์ใดที่mapControl.ActiveView.ScreenDisplay.DrawPolygon(feature.Shape);วาดเพื่อไม่ให้ AfterDraw ยกขึ้น? ตอบ ขอขอบคุณ Kirk ที่นี่เป็นวิธีแก้ปัญหาซึ่งแสดงกราฟิคที่เพิ่มใหม่โดยไม่ต้องโหลดซ้ำเลเยอร์ใด ๆ IGraphicsContainer con = _mapControl.Map as IGraphicsContainer; if (con != null) { IFillShapeElement fillShapeElement = new PolygonElementClass(); fillShapeElement.Symbol = fillSymbol; IElement …

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.