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

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


10
เริ่มต้นกับ ArcObjects หรือไม่
เส้นทางที่ดีที่สุดหรือสถานที่อะไรคือการเริ่มต้นกับ ArcObjects ถ้าใครไม่ได้เป็นผู้พัฒนาและไม่ได้มีเป้าหมายที่จะเป็นนักพัฒนา ? ฉันใช้ GIS อย่างมืออาชีพมาเป็นเวลานานเกือบสองทศวรรษที่ผ่านมา arcinfo / arcgis เป็นส่วนใหญ่ ฉันค่อนข้างดี ฉันกำลังเรียนรู้การพัฒนาซอฟต์แวร์และแม้แต่มีแอปพลิเคชั่นหลามขนาดเล็กที่ประสบความสำเร็จพอประมาณที่ใช้ในโครงการสาธารณะ ฉันไม่ดี! ฉันไม่ต้องการเป็นนักพัฒนาซอฟต์แวร์เต็มรูปแบบ แต่ฉันยังคงทำงานในสิ่งที่ฉันทำไม่ได้หากไม่มีการเขียนโปรแกรม ( ตัวอย่าง ) ในโลก arcgis สิ่งนี้ทำให้ฉันค่อนข้างสวยในค่ายงูหลามซึ่งเป็นเรื่องปกติสำหรับฉันตั้งแต่ฉันชอบงูหลาม แต่งูหลามไม่สามารถเข้าถึง ArcObjects ได้โดยตรง (Python และ ArcObjects เป็นไปได้แต่เป็นเส้นทางที่ไม่ได้รับการสนับสนุนคำถามนี้เกี่ยวกับการติดตามเส้นทางที่ถูกตี) ฉันต้องเริ่มต้น แต่ที่ไหน Arcgis ช่วยบอกว่าจะเริ่มต้นกับESRI Developer Networkแต่ $ 1,500 / yr นั้นไม่ได้อยู่ในงบประมาณของฉันและดูเหมือนจะใช้ค้อนเลื่อนเพื่อกำจัดยุง และภาษาใด NET, Visual Basic หรือ Visual C ++ ปรับปรุง:ขอบคุณทุกคนสำหรับคำตอบที่ยอดเยี่ยม ในแง่ของพวกเขาฉันรู้ว่าฉัน …

3
มีโครงการ OpenSource ArcObjects หรือไม่
ข้อดีอย่างหนึ่งของการพัฒนาแอพพลิเคชั่น GIS ที่อิงกับโอเพ่นซอร์สไลบรารี่คือมีหลายโครงการที่พัฒนาขึ้นมาจากด้านบนซึ่งเป็นโอเพ่นซอร์ส โครงการ opensource ที่ออกแบบมาอย่างดีนั้นยอดเยี่ยมสำหรับการดู: ควรใช้รูปแบบการเข้ารหัสใด สิ่งที่รูปแบบการเข้ารหัสที่จะปฏิบัติตาม วิธีการจัดโครงสร้างโครงการขนาดใหญ่ สิ่งที่หน่วยทดสอบจะรวม เครื่องมือและกระบวนการบันทึกอัตโนมัติ เวิร์กโฟลว์ของ sourcecontrol ArcObjects Code Galleryดูเหมือนว่าสถานที่ที่ดีที่สุดที่จะดู แต่ตัวอย่างที่สุดที่ผมเคยมองที่เป็นชิ้นส่วนที่มีขนาดเล็กมากของการทำงานเดียวหรือเครื่องมือมากกว่าการใช้งานเต็มรูปแบบ SharpGISโครงการเป็นตัวอย่างที่ .NET ที่ดีที่จะทำตาม แต่จะมีผู้ใดโครงการ ArcObjects ที่เฉพาะเจาะจง อัปเดตด้วยตัวอย่าง: http://eagl.codeplex.com/ Easy ArcGIS Library เป็นชุดของคลาส C # .net ที่ล้อมรอบฟังก์ชันการทำงานทั่วไปของ ArcObjects ซึ่งช่วยให้นักพัฒนา ArcGIS ทำงานได้หลายอย่างในเวลาน้อยลงและใช้งานได้โดยตรง และจากผู้พัฒนารายเดียวกัน: http://arcgisslcontrols.codeplex.com/ ArcGISSLControls เป็นชุดของตัวควบคุม ArcGIS Silverlight ที่สร้างขึ้นจากส่วนบนของ ArcGIS Silverlight SDK ซึ่งได้รับการพัฒนาในภาษา C #

3
อัลกอริทึมเพื่อค้นหาจุดที่ทำให้เกิดการผันสำหรับโพลีไลน์
ฉันพยายามที่จะหาจุดเบี่ยงเบนเช่นจุดที่เส้นโค้งในเส้นเริ่มต้นและสิ้นสุด หากคุณดูที่ภาพเส้นสีเขียวอาจเป็นถนนหรือกระแสและจุดสีดำเป็นจุดที่เส้นโค้งเริ่มต้นและสิ้นสุด อะไรคือขั้นตอนระดับสูงในการสร้างจุดเหล่านี้โดยอัตโนมัติ ฉันมีเดสก์ท็อป ArcGIS และค่อนข้างมีประโยชน์กับ ArcObjects

2
สร้างรูปหลายเหลี่ยม Thiessen ถ่วงน้ำหนัก?
ฉันมีไฟล์รูปร่างจุดและฉันสร้างรูปหลายเหลี่ยม Thiessen (Voronoi) โดยทางโปรแกรมโดยใช้ไวยากรณ์สคริปต์นี้: CreateThiessenPolygons_analysis (in_features, out_feature_class, fields_to_copy) อย่างไรก็ตามแต่ละจุดมีความสัมพันธ์กับพื้นที่ (เช่นขนาดที่ต้องการของรูปหลายเหลี่ยมแต่ละรูป) และฉันต้องการให้รูปหลายเหลี่ยมของ Thiessen มีน้ำหนักตามเขตข้อมูลนี้ เป็นไปได้และอย่างไร มีรหัสที่เกี่ยวข้องใน VBA หรือไม่

6
ฉันจะหาจุดที่ไกลที่สุดจากชุดของจุดที่มีอยู่ได้อย่างไร
ฉันมีชุดของคะแนนเป็นรูปร่างไฟล์และฉันต้องการค้นหา (พิกัด) ของจุดใหม่ซึ่งจะมีระยะทางที่ยาวที่สุดเท่าที่จะเป็นไปได้จากแต่ละจุดที่มีอยู่ เป็นไปได้ไหม ถ้าใช่มีตัวอย่างรหัส VB ​​หรือไม่ ขอบคุณ Demetris

6
การแปลงระหว่าง Esri Geometry และ WKT โดยใช้ ArcObjects?
ดูเหมือนว่าไม่มีวิธีการแปลงเรขาคณิต ArcObjects เป็นตัวแทนข้อความที่รู้จักกันดี (และในทางกลับกัน) ใน ArcGIS ArcObjects API สิ่งเดียวที่ฉันสามารถค้นหาได้คือการแปลงเป็น WKB (อินเทอร์เฟซ IWkb) มีวิธีที่จะทำการแปลงระหว่างวัตถุรูปทรงเรขาคณิตกับ WKT หรือฉันต้องใช้มันเอง? ฉันตั้งเป้าหมายในการติดตั้ง. NET เป็นหลักโดยไม่ต้องพึ่งพาภายนอกมากนัก

3
ที่อยู่หน่วยความจำรั่วใน IFeatureClass.Search (เฉพาะ SDE ที่มีการเชื่อมต่อโดยตรง) ของ ArcObjects?
ฝ่ายสนับสนุนของ ESRI กล่าวว่าพวกเขาทำซ้ำปัญหาและได้เปิดรายงานข้อผิดพลาด (NIM070156) ผมตั้งใจว่าจะมีการรั่วไหลของหน่วยความจำ (ในความทรงจำที่ไม่มีการจัดการกอง) ที่เกิดขึ้นเมื่อเครื่องมือในของฉัน .NET / C # ArcMap เพิ่มในการดำเนินการสอบถามเชิงพื้นที่ (ส่งคืนICursorจากIFeatureClass.Searchที่มีISpatialFilterตัวกรองแบบสอบถาม) วัตถุ COM ทั้งหมดจะได้รับการปล่อยตัวโดยเร็วที่สุดเท่าที่พวกเขาจะไม่จำเป็น (ใช้Marshal.FinalReleaseCOMObject) เมื่อต้องการตรวจสอบสิ่งนี้ฉันจะตั้งค่าเซสชัน PerfMon ด้วยตัวนับสำหรับ Private Bytes, Virtual Bytes และ Working Set ของ ArcMap.exe และตั้งข้อสังเกตว่าทั้งสามเพิ่มขึ้นอย่างต่อเนื่อง (โดยประมาณ 500KB ต่อการทำซ้ำ) ด้วยการใช้เครื่องมือแต่ละครั้ง . สิ่งสำคัญนี้จะเกิดขึ้นเฉพาะเมื่อดำเนินการกับคลาสคุณลักษณะบน SDE โดยใช้การเชื่อมต่อโดยตรง (หน่วยเก็บข้อมูล ST_Geometry, ไคลเอ็นต์ Oracle 11g และเซิร์ฟเวอร์) ตัวนับยังคงคงที่เมื่อใช้ Geodatabase ของไฟล์เช่นเดียวกับเมื่อเชื่อมต่อกับอินสแตนซ์ SDE รุ่นเก่าที่ใช้การเชื่อมต่อแอปพลิเคชัน …

1
เข้าใจว่าทำไมเครื่องมือ ArcPy Cost Path Analysis เร็วกว่า ArcObjects [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา แม้ว่าฉันจะใช้หลามเพื่อสร้างสคริปต์ / บริการประมวลผลเชิงภูมิศาสตร์ แต่ฉันก็รู้สึกว่าการใช้ ArcObjects เพื่อทำงานที่เทียบเท่าจะมีประสิทธิภาพที่ดีขึ้น ฉันได้โพสต์ArcGIS Server GP Service แล้ว - RasterIO.dll crashing ArcSOC.exeและArcGIS Geoprocessing Script ทำงานได้ดีในเดสก์ท็อป แต่ล่มเป็น Geoprocessing Service? ในช่วงสองสามวันที่ผ่านมาเกี่ยวกับการรับสคริปต์ประมวลผลทางภูมิศาสตร์ที่ใช้เครื่องมือวิเคราะห์เชิงพื้นที่เพื่อทำงานเป็นบริการประมวลผลเชิงภูมิศาสตร์ กำหนดเส้นตายของฉันใกล้เข้ามาอย่างรวดเร็วดังนั้นฉันจึงตัดสินใจที่จะใช้เส้นทาง SOE เพื่อให้สามารถใช้งานได้ตามที่ต้องการ การรับการวิเคราะห์เส้นทางต้นทุนใน ArcObjects นั้นค่อนข้างตรงไปตรงมาโดยใช้. NET ESRI.ArcGISSpatialAnalyst.RasterDistanceOpClassโดยเฉพาะวิธีการ CostDistanceFull () และ CostPath () ตัวอย่างโค้ดของวิธีการที่ฉันทำสิ่งต่าง ๆ : หลาม # Get Cost Path …

2
โทรหา arcpy / python จาก. NET หรือไม่
มีตัวอย่างที่แสดงว่า python สามารถรวมเข้ากับ. NET ArcGIS Addin หรือนามสกุลได้หรือไม่? ฉันมีชุดของสคริปต์หลามที่ฉันต้องการโทรจากเหตุการณ์ฟอร์ม (เช่นการคลิกปุ่ม) ใน. NET ฉันต้องการตั้งค่าตัวแปรในสคริปต์จากรูปแบบ. NET ฉันควรกัดสัญลักษณ์แสดงหัวข้อย่อยและเขียนสคริปต์เหล่านี้ใหม่ใน. NET หรือมีวิธีที่ง่ายต่อการตัดโค้ดไพ ธ อนหรือไม่?

5
ใช้ตัวเลือก Hillshade ใน ArcMap หรือไม่?
นี่คือรูปสวย ๆ ของแรสเตอร์ที่ฉันใช้ - โดยไม่มีเอฟเฟกต์ใด ๆ - เพียงแค่ปรับสีและฮิสโตแกรมเพื่อแสดงความโล่งใจ - แม้ว่าจะเป็นแบบ 2 มิติ! ฉันมีเลเยอร์แรสเตอร์ที่ฉันต้องการแสดงพร้อม Hillshade เป็นค่าเริ่มต้น ฉันสามารถทำเช่นนี้ในรหัสและผลก็เหมือนกับการเลือกตัวเลือก Hillshade ใน ArcMap (ดูด้านล่าง): เมื่อคุณทำเช่นนี้ - มันดูน่าผิดหวัง: โดยเฉพาะอย่างยิ่งถ้าคุณซูมเข้าไปในแรสเตอร์คุณจะเห็นสิ่งประดิษฐ์ที่ gridded ทุกชนิด - ซึ่งดูไม่ดีเลย! อย่างไรก็ตามถ้าฉันสร้างเลเยอร์ Hillshade ที่เหมาะสมโดยใช้แรสเตอร์ด้วย Spatial Analyst และวางทับด้วยความใส 85% มันดูดีและแตกต่างกันมาก!: ฉันจะได้รับผลกระทบนี้ใน ArcMap และแทนที่การทำงานเริ่มต้นของตัวเลือก Hillshade ได้อย่างไร (ฉันคิดว่ามันเป็นไปไม่ได้หรือมันเป็นการตั้งค่าที่ฉันพลาดไปซึ่งทำให้ raster แสดงได้ไม่ดี) ถ้ามันเป็นไปได้ที่จะแทนที่หรือเลือกการตั้งค่าที่ถูกต้อง - เป็นไปได้ที่จะทำใน ArcObjects หากตัวเลือกที่ 1 …

1
วิธีการเลือกคุณสมบัติ / เรขาคณิตจากคลิปบอร์ดของ Windows ใน ArcMap / C #
ฉันมีเครื่องมือที่กำหนดเองใน ArcMap 10 กระบวนการทำงานดังต่อไปนี้: เลือกคุณสมบัติในเลเยอร์ด้วยเครื่องมือ "เลือกคุณสมบัติตามสี่เหลี่ยมผืนผ้า" คัดลอกฟีเจอร์ไปยังคลิปบอร์ดโดยใช้ STRG + c เลือกเครื่องมือที่กำหนดเอง เครื่องมือตรวจสอบคลิปบอร์ด ในกรณีที่ค้นหาฟีเจอร์ที่คัดลอกในคลิปบอร์ด Workflow จะเปลี่ยนไป ฉันพบตัวอย่างในhttp://kiwigis.blogspot.com/2011/07/how-to-create-drop-target-for-layers-in.htmlซึ่งมีการใช้งานสิ่งที่คล้ายกันโดยใช้การลากและวาง การติดตามและปรับตัวอย่างและพยายามคัดลอกเลเยอร์ใน TOC ใน ArcMap ไปยังคลิปบอร์ดโดยใช้ STRG + c ทำงานให้ฉัน: //Get the Data from the Clipboard IDataObject clipBoardDataObject = Clipboard.GetDataObject(); //The format of the object data is "ESRI Layers" (this can be checked using clipBoardDataObject.GetFormats();) …

6
ArcMap Add-in พร้อมกับ app.settings ไม่รู้จักการเปลี่ยนแปลง app.config?
ฉันได้พัฒนา ArcMap Add-in ซึ่งต้องการไฟล์การกำหนดค่า หลังจากใช้เวลาในขณะที่พยายามอ่านค่าการตั้งค่าจากไฟล์ App.Config ไฟล์เดียว (และทำให้เป็นโมฆะเสมอ) ฉันเชื่อว่า Add-in ไม่สามารถอ่านค่าจากที่นี่เนื่องจากเป็นไลบรารีคลาสและมองหาแอปพลิเคชันการโทร (ArcMap) ไฟล์กำหนดค่าเมื่อฉันขอค่าของคีย์ (ดังนั้นจึงเป็นโมฆะ) เพื่อหลีกเลี่ยงปัญหานี้ฉันใช้ไฟล์ App.Settings ซึ่งแอปพลิเคชันสามารถอ่านได้ดี การสร้างสิ่งนี้ยังแนะนำไฟล์ App.Config ในสภาพแวดล้อมและ Visual Studio ดูเหมือนว่าจะทำให้ไฟล์ทั้งสองซิงค์ในระหว่างการพัฒนา ตอนนี้กำลังมีการปรับใช้ Add-in ฉันต้องสามารถเปลี่ยนค่าการกำหนดค่า (เช่นตำแหน่งไฟล์บันทึก) ฉันได้ลองเปิด / แตกไฟล์. esriaddin และอัปเดตไฟล์ App.Config ในนั้น แต่ Add-in ยังคงรักษาค่าการตั้งค่าเดิมที่รวบรวมไว้เมื่อรวบรวม ฉันรู้ว่าค่า App.Config ใหม่นั้นยังคงอยู่ในไฟล์. esriaddin เพราะฉันสามารถดูได้อีกครั้งหลังจากปิดไฟล์เก็บถาวร ไม่มีใครรู้วิธีที่เชื่อถือได้ในการกำหนดค่า Add-in และอนุญาตให้การกำหนดค่านี้สามารถอัปเดตได้เมื่อนำไปใช้งานหรือไม่ ข้อเสนอแนะใด ๆ ยินดีอย่างมากเพราะมันไร้สาระที่ฉันควรจะต้องมีไฟล์ปรับแต่งสำหรับสิ่งนี้ ค่า App.Settings …


2
หลีกเลี่ยงการล้มเหลวจาก ArcObjects geoprocessing ด้วย. NET?
มีคุณสมบัติที่ดีบางอย่างใน ArcToolbox ที่เราสามารถใช้ได้ แต่ด้วยเหตุผลบางอย่างนี่ไม่ทำงานอย่างถูกต้อง มันไม่ได้ทำให้ฉันมีข้อผิดพลาด ซอฟต์แวร์ของฉันทำงานใน ArcMap ดังนั้นไม่จำเป็นต้อง AoInitialize อีกครั้ง public void Execute() { InitializeProduct(); try { Geoprocessor gp = new Geoprocessor(); gp.OverwriteOutput = true; FeatureToPoint featureToPoint = new FeatureToPoint(); string outputPathName = CurrentWorkspace.PathName + "\\teste_centroide"; featureToPoint.in_features = InputFeatureClass; featureToPoint.out_feature_class = outputPathName; featureToPoint.point_location = "INSIDE"; IGeoProcessorResult result = (IGeoProcessorResult)gp.Execute(featureToPoint, null); …

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