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

แพคเกจไซต์ที่สร้างโดย Esri เพื่อแสดงตำแหน่งทางภูมิศาสตร์ของ ArcGIS Desktop (ArcMap และ ArcGIS Pro) การประมวลผลการทำแผนที่การทำแผนที่และ Python

3
ส่งออกตารางเป็นไฟล์ XYZ ASCII ผ่าน ArcPy หรือไม่
ฉันกำลังมองหาวิธีการส่งออกตาราง ArcGIS (สร้างด้วยเครื่องมือตัวอย่าง ) ไปยังไฟล์ข้อความผ่าน ArcPy ฉันสามารถทำได้ใน ArcGIS ผ่านเมนูบริบทโดยคลิกขวาที่ตาราง แต่ไม่พบวิธีที่จะเขียนสคริปต์นี้

4
เรียกใช้สคริปต์ Python (พร้อมพารามิเตอร์) ภายในสคริปต์ Python อื่นกับ ArcPy?
รูปแบบการเข้ารหัสทั่วไปที่ใช้ใน AML คือการเรียกใช้ AML (พร้อมพารามิเตอร์) ภายใน AML อื่น แอปพลิเคชันที่ฉันกำลังพัฒนาอยู่ในขณะนี้จะได้รับประโยชน์จากความสามารถในการเรียกใช้สคริปต์ Python (พร้อมพารามิเตอร์) ภายในสคริปต์ Python อื่น อย่างไรก็ตามสิ่งนี้ดูเหมือนจะไม่ตรงไปตรงมา ใช้ ArcGIS 10 ฉันกำลังทดลองห่อสคริปต์ Python "inner" ลงในเครื่องมือ ArcGIS ที่มีพารามิเตอร์ ฉันคิดว่ามันเป็นเรื่องง่ายที่จะให้สคริปต์ Python "ด้านนอก" ใช้ arcpy.ImportToolbox เพื่อนำเข้ากล่องเครื่องมือแล้วเรียกใช้เครื่องมือที่อยู่ภายใน อย่างไรก็ตามในการทดสอบจนถึงทุกความพยายามของฉันเพื่อเรียกใช้เครื่องมือ "Inner" จากสคริปต์ "outer" ดูเหมือนว่าจะข้ามเครื่องมือ "inner" (ไม่มีข้อผิดพลาด) นี่คือรหัสทดสอบบางส่วนที่จะลองและอธิบายให้ดีขึ้นว่าฉันพยายามอธิบายอะไร สคริปต์ testinner.py ของฉันคือ: inputString = arcpy.GetParameterAsText(0) newFC = "C:\\Temp\\test.gdb\\" + inputString arcpy.Copy_management("C:\\Temp\\test.gdb\\test",newFC) …

6
รับ ArcPy เพื่อทำงานกับ Anaconda หรือไม่?
ฉันพยายามที่จะทำตามคำแนะนำทีละขั้นตอนในคำตอบที่ " วิธีการติดตั้งแยกหลามกับ ArcGIS " แต่ไม่สามารถหาไฟล์เส้นทางในDTBGGP64.pthC:\Python27\ArcGIS10.2\Lib\site-packages มีใครบางคนประสบปัญหาที่คล้ายกันหรือไม่? ฉันสงสัยว่ามีวิธีแก้ปัญหาหรือไม่โดยการรวมไฟล์พา ธ ที่บอกว่า Anaconda ที่ติดตั้งอาร์คpy? ฉันพยายามสร้างไฟล์. pth ที่มีข้อความต่อไปนี้: # .pth file for arcpy C:\Program Files (x86)\ArcGIS\Desktop10.2\bin C:\Program Files (x86)\ArcGIS\Desktop10.2\arcpy C:\Program Files (x86)\ArcGIS\Desktop10.2\Scripts และบันทึกลงในC:\Anaconda\Lib\site-packages(นั่นคือถ้าเป็นกรณีที่ทุกแพคเกจจะถูกบันทึกไว้) แต่ฉันได้รับข้อผิดพลาดต่อไปนี้: Traceback (most recent call last): File "<stdin>", line 1, in <module> File "C:\Program Files (x86)\ArcGIS\Desktop10.2\arcpy\arcpy\__init__.py", line 21, in <module> …

1
วิธีการรับขนาดของชั้นคุณสมบัติทางภูมิศาสตร์ฐานข้อมูลไฟล์บนดิสก์?
มีวิธีง่าย ๆ ในการกำหนดปริมาณพื้นที่ฮาร์ดไดรฟ์ที่คลาสคุณลักษณะใช้หรือไม่ ฉันรู้สึกว่าฉันขาดอะไรง่ายๆไป แต่ฉันจำไม่ได้ว่าวิธีการนี้เป็นเช่นไร คุณคิดว่าการคลิกขวาที่ชุดข้อมูลใน ArcCatalog จะทำเพื่อคุณ สิ่งที่ดีที่สุดที่ฉันสามารถทำได้คือเพิ่มขนาดของ gdb ทั้งหมดโดยดูใน Windows Explorer หากไม่มีวิธีการทำสิ่งนี้ใน ArcCatalog UI ฉันยังคงสนใจวิธีการในการใช้โค้ด ความคิดใด ๆ

3
รหัสโรงงานของออบเจ็กต์ ArcGIS SpatialReference สอดคล้องกับหมายเลข EPSG หรือไม่?
ฉันมีโครงการที่ฉันกำลังอ่านในวัตถุรูปทรงเรขาคณิตจากไฟล์ข้อความเพื่อใส่ไว้ใน ArcSDE วัตถุรูปทรงเรขาคณิตเหล่านี้มีรหัส EPSG ที่เกี่ยวข้องและฉันกำลังมองหาวิธีที่จะทำให้แน่ใจว่าพวกเขาอยู่ในการฉายภาพที่ถูกต้องเมื่อฉันทำเสร็จแล้ว ดูที่รหัสโรงงานที่ฉันสนใจ (GCS GDA94; EPSG: 4283 และ VicGrid 94; EPSG: 3111) สำหรับโครงการที่ฉันกำลังทำอยู่ปรากฏว่ารหัส EPSG ตรงกับ ESRI โดยตรง รหัสโรงงานสำหรับการอ้างอิงเชิงพื้นที่ ( ที่นี่และที่นี่ ) นี่เป็นเรื่องที่ดีเพราะฉันไม่ต้องกังวลเกี่ยวกับการนำทางไปยังไฟล์ฉายภาพเพื่อสร้างวัตถุSpatialReferenceเช่นในรหัสด้านล่าง: import arcpy # Create a spatial reference object using a factory code # sr = arcpy.SpatialReference() sr.factoryCode = int(epsg_code.lstrip("EPSG:")) sr.create() น่าเสียดายที่ฉันไม่สามารถหาข้อมูลอ้างอิงใด ๆ ในเอกสาร ESRI เพื่อบอกว่าสิ่งนี้ถือเป็นจริงตลอดเวลาหรือไม่ …

3
ใช้งาน Python Script เมื่อเปิด MXD?
ใครช่วยบอกฉันได้ว่าจะทำสิ่งนี้ให้สำเร็จได้ไหม? ฉันต้องการให้สคริปต์ Python ทำงานบนการเปิด MXD ซึ่งจะดึงแผ่นงาน Excel ลงใน GDB และรีเฟรชแผนที่ ฉันแค่อยากให้เรื่องนี้เกิดขึ้นใน MXD ที่เฉพาะเจาะจงนี้

2
ใช้ ArcPy เพื่อกำหนดรุ่นของเอกสาร ArcMap หรือไม่
มีวิธีใดบ้างในการใช้ ArcPy เพื่อระบุรุ่นของเอกสารแผนที่ (MXD) ฉันกำลังหาทางแก้ไขสินค้าคงคลัง MXD ของเราและต้องการทราบว่าเอกสารคือ 8.1, 9.2, 10.0 หรือไม่ ฉันกำลังใช้ ArcGIS 10.0 แต่ถ้ามีการอัพเดทใน 10.1 ที่ไม่มีอยู่ใน 10.0 ฉันก็ยินดีที่ได้ยินเช่นกัน ฉันเห็นว่ามีคำถามก่อนหน้านี้ของวิธีที่คุณสามารถหารุ่น ArcGIS โดยทางโปรแกรม? แต่มันอ้างอิงการแก้ปัญหาทั้งหมดของ ArcObjects (ซึ่งฉันคิดว่าฉันสามารถโทรจากไพธ อนได้ แต่ฉันไม่ต้องการ)

5
รวมถึงตัวแปรที่ส่วนของ arcpy.Select_analysis ()?
ฉันพยายามวนลูปผ่าน Shapefile โดยเลือกคุณสมบัติแต่ละอันแล้วคัดลอกไปยัง Shapefile ชั่วคราวเพื่อรวมไว้ในการวิเคราะห์แบบรวม ฉันใช้เคอร์เซอร์เพื่อค้นหาชื่อ ID สำหรับแต่ละคุณสมบัติที่ฉันตั้งค่าเป็น 'ชื่อ' ที่หลากหลาย เมื่อใดก็ตามที่ฉันพยายามใช้ตัวแปรนี้เป็นส่วนหนึ่งของส่วนคำสั่งใน arcpy.Select_analysis ฉันได้รับข้อผิดพลาด: ExecuteError: ข้อผิดพลาด 999999: ข้อผิดพลาดในการใช้งานฟังก์ชั่น มีการใช้คำสั่ง SQL ที่ไม่ถูกต้อง มีการใช้คำสั่ง SQL ที่ไม่ถูกต้อง ไม่สามารถดำเนินการได้ (เลือก) รหัสที่ฉันใช้คือ: Name = 101 where = "\'\"StudyID\" = \\'"+str(Name)+"\\'\'" arcpy.Select_analysis("C:\\input.shp", "C:\\output.shp", where) ถ้าฉันพิมพ์โดยไม่ใช้ตัวแปร: arcpy.Select_analysis("C:\\input.shp", "C:\\output.shp", '"StudyID" = \'101\'') มันใช้งานได้ดี ฉันต้องทำอะไรเพื่อให้พอดีกับตัวแปรในคำสั่ง sql

6
จะสร้างคลัง GIS ได้อย่างไร
สำนักงานของฉันจะเห็นการเปลี่ยนแปลงครั้งใหญ่ในส่วนของ GIS ส่วนนี้เปิดใช้งานมาตั้งแต่ปี 1980 และมีการรวบรวมข้อมูล GIS จำนวนมาก (เช่นรูปร่างไฟล์ไฟล์แรสเตอร์ข้อมูล ฯลฯ ) แต่ไม่เคยผ่านคลังโฆษณาเลย ตอนนี้มันจะเกิดขึ้น มีวิธีใดโดยอัตโนมัติในการดึงข้อมูลทั้งหมดเกี่ยวกับข้อมูล GIS (เช่น shapefile ความครอบคลุมข้อมูลส่วนโค้งไฟล์เลเยอร์ * .mxd, gdb, ไฟล์แรสเตอร์และอื่น ๆ ) จากพีซีไปยังไฟล์ Excel หรือไม่ ข้อมูลอาจรวมถึงวันที่สร้างวันที่แก้ไขล่าสุดชื่อโฟลเดอร์หรือคอนเทนเนอร์ ฯลฯ

3
การเพิ่มเลเยอร์กลุ่มใหม่ด้วย ArcPy?
ตอนนี้มีใครบ้างที่จะเพิ่มเลเยอร์กลุ่มด้วย Python ใน ArcGIS Desktop 10 ได้หรือไม่ ฉันสามารถใช้ arcpy.mapping.AddLayer แต่แน่นอนว่านี่เป็นเพียงเลเยอร์จริงซึ่งตรงข้ามกับเลเยอร์กลุ่ม จนถึงตอนนี้ฉันมีสิ่งนี้ import arcpy mxd = arcpy.mapping.MapDocument("CURRENT") df = arcpy.mapping.listdataframes(mxd, "layers")[0] arcpy.mapping.AddLayer

1
วิธีการแยกรูปหลายเหลี่ยมเว้าเป็นรูปหลายเหลี่ยมนูนใน Arcpy
ฉันกำลังมองหาเครื่องมือหรืออัลกอริทึมเพื่อตรวจจับรูปหลายเหลี่ยมเว้าและแบ่งออกเป็นรูปหลายเหลี่ยมนูน เช่นเดียวกับที่อธิบายในรูปภาพรูปหลายเหลี่ยมสีน้ำเงินแบ่งออกเป็นรูปหลายเหลี่ยม A และ B ฉันใช้ Arcpy ภายใต้ Arcgis 10.1

8
จะหยุดการประมวลผลข้อความสั่งด้วยตนเองในหน้าต่าง Python ของ ArcMap ได้อย่างไร?
หนึ่งจะหยุดการดำเนินการของกระบวนการที่ใช้เวลานานในคอนโซลหลามของ ArcMap ได้อย่างไร? ตัวอย่างเช่นคุณจะแบ่งการทำซ้ำที่ยาวนานเช่นเดียวกับที่ด้านล่างเมื่อเริ่มต้นอย่างไร for i in range(1, 50): # some long process which takes over a minute to complete ฉันต้องการที่จะหยุดกระบวนการในเวลาใดที่ฉันต้องการโดยการกดแป้นพิมพ์พร้อมกันการคลิกปุ่มหรือสิ่งที่คล้ายกันในขณะที่รหัสฉันมีการป้อนข้อมูลในหน้าต่างคอนโซลที่กำลังทำงาน

1
ArcGIS 10.1 Python AddIn ใช้การประมวลผลแบบมัลติโพรเซสขัดข้อง ArcMap?
ฉันต้องการเรียกใช้งานมัลติโปรเซสเซอร์จากเครื่องมือเสริมของหลาม ปัญหาของฉันคือกระบวนการทำให้ล้มเหลว โดยทั่วไปเกิดปัญหา ArcMap นี่คือรหัสพื้นฐานของฉัน: def function(startOID, endOID, fc): wrksp = r"c:\temp\mp_addintest\data\test_%s.txt" % (int(startOID) + int(endOID)) # real logic removed to dumb it down with open(wrksp, 'w') as writer: writer.write("%s to %s from %s \n" % (startOID, endOID, fc)) return wrksp class btnMP(object): """Implementation for src_addin.MPButton (Button)""" def __init__(self): self.enabled …

6
การรับขอบเขตของรูปหลายเหลี่ยมแต่ละรูปใน Shapefile โดยใช้ ArcPy
ใน ArcGIS 10 และ Python ฉันต้องการได้รับข้อมูลขอบเขต (xmax, ymax, xmin, ymin) ของรูปหลายเหลี่ยมแต่ละรูปในรูปแบบไฟล์ ฉันสามารถใช้ขนาดไฟล์ทั้งหมดได้ file=r"D:\SCRATCH\ARCGIS\100k_trc_tiles_TVM.shp" desc=arcpy.Describe(file) print desc.extent.Xmax 394,551.52085039532 แต่ฉันไม่สามารถเข้าใจวิธีการรับข้อมูลเดียวกันสำหรับแต่ละแถวในชุดข้อมูล rows = arcpy.SearchCursor("100k_trc_tiles_TVM") for row in rows: print row พิมพ์แถว 31 ในชุดข้อมูล แต่ for row in rows: desc=arcpy.Describe(row) print desc.extent.Xmax ให้ข้อผิดพลาด ข้อผิดพลาดรันไทม์: วัตถุ: อธิบายค่าอินพุตไม่ใช่ประเภทที่ถูกต้อง ฉันคิดที่จะเพิ่มค่าขอบเขตลงในตารางโดยใช้ "คำนวณเรขาคณิต" แต่นี่จะให้เซนทรอยด์เท่านั้น จากนั้นฉันเดาว่าเราสามารถใช้บางอย่างเช่นแถว GetValue ("xmax") ที่ถูกกล่าวว่าฉันรู้ว่าเราสามารถสร้าง X …

2
การเพิ่มรูปร่างไฟล์หรือคลาสคุณลักษณะเป็นเลเยอร์ใน ArcGIS Desktop โดยใช้ Python / ArcPy?
ฉันพยายามทำให้งานต่าง ๆ ใน ArcGIS Desktop (โดยทั่วไปใช้ ArcMap) กับ Python และฉันต้องการวิธีเพิ่ม Shapefile ลงในแผนที่ปัจจุบัน (แล้วทำสิ่งต่าง ๆ ให้มัน แต่นั่นเป็นอีกเรื่อง) สิ่งที่ดีที่สุดที่ฉันทำได้คือเพิ่มไฟล์เลเยอร์ลงในแผนที่ปัจจุบันโดยใช้สิ่งต่อไปนี้ ("addLayer" เป็นวัตถุไฟล์เลเยอร์): def AddLayerFromLayerFile(addLayer): import arcpy mxd = arcpy.mapping.MapDocument("CURRENT") df = arcpy.mapping.ListDataFrames(mxd, "Layers")[0] arcpy.mapping.AddLayer(df, addLayer, "AUTO_ARRANGE") arcpy.RefreshActiveView() arcpy.RefreshTOC() del mxd, df, addLayer อย่างไรก็ตามข้อมูลดิบของฉันจะเป็นไฟล์รูปร่างเสมอดังนั้นฉันจึงต้องสามารถเปิดได้ (เท่ากับ: แปลง Shapefile เป็นไฟล์เลเยอร์โดยไม่ต้องเปิด แต่ฉันไม่ต้องการทำเช่นนั้น)

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