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

4
มีประสิทธิภาพมากขึ้น Spatial อวกาศเข้าร่วมใน Python โดยไม่ต้องมี QGIS, ArcGIS, PostGIS, ฯลฯ
ฉันกำลังพยายามทำการรวมเชิงพื้นที่เหมือนตัวอย่างที่นี่: มีตัวเลือกหลามเพื่อ "เข้าร่วมแอตทริบิวต์ตามตำแหน่งที่ตั้ง" หรือไม่ . อย่างไรก็ตามวิธีการนั้นดูเหมือนไม่มีประสิทธิภาพ / ช้าจริงๆ แม้แต่การวิ่งด้วยความสุภาพ 250 คะแนนใช้เวลาเกือบ 2 นาทีและมันล้มเหลวอย่างสิ้นเชิงกับรูปร่างที่มี> 1,000 คะแนน มีแนวทางที่ดีกว่านี้ไหม? ฉันต้องการทำสิ่งนี้ทั้งหมดใน Python โดยไม่ต้องใช้ ArcGIS, QGIS, ฯลฯ ฉันยังสนใจที่จะทราบว่าเป็นไปได้ที่จะใช้แอตทริบิวต์ SUM (เช่นจำนวนประชากร) ของทุกจุดที่อยู่ในรูปหลายเหลี่ยมและเข้าร่วมปริมาณนั้นกับรูปหลายเหลี่ยมรูปร่างหรือไม่ นี่คือรหัสที่ฉันพยายามแปลง ฉันได้รับข้อผิดพลาดในบรรทัดที่ 9: poly['properties']['score'] += point['properties']['score'] ซึ่งพูดว่า: TypeError: ประเภทของตัวถูกดำเนินการที่ไม่รองรับสำหรับ + ​​=: 'NoneType' และ 'float' ถ้าฉันแทนที่ "+ =" ด้วย "=" มันจะทำงานได้ดี แต่นั่นไม่ได้ผลรวมฟิลด์ ฉันได้ลองทำสิ่งเหล่านี้ด้วยจำนวนเต็ม แต่ก็ล้มเหลวเช่นกัน with …

2
กำลังส่งออบเจ็กต์ผลลัพธ์ ArcPy จาก arcpy.GetCount_management () เป็นจำนวนเต็มแทนหรือไม่
ฉันพยายามรับตัวเลขด้วยการนับจำนวนจุดที่อยู่ในไฟล์รูปร่าง และมันใช้งานได้ยกเว้นฉันจะพบปัญหาในการใช้หมายเลขนั้นในที่อื่น ในที่สุดฉันจะใช้การนับนั้นในคณิตศาสตร์ (เครื่องคำนวณภาคสนาม) แต่ในขณะที่การดีบั๊กฉันพบข้อผิดพลาดที่จะจบลงทำให้ฉันมีปัญหาในภายหลัง รหัสนี้: TotalPoints = arcpy.GetCount_management(Path_Pts) arcpy.AddMessage(">>>> PROCESS: COUNT PATH POINTS {" + TotalPoints + "}") ให้ข้อผิดพลาดนี้: TypeError: cannot concatenate 'str' and 'Result' objects ฉันพยายามคัดเลือกเป็นแบบ int ซึ่งมันไม่ชอบ: TypeError: int() argument must be a string or a number, not 'Result' ดังนั้นฉันจึงมีวัตถุ 'ผลลัพธ์' และต้องเปลี่ยนเป็นตัวเลข ฉันจะทำเช่นนั้น - หรือใช้ฟังก์ชัน ArcPy ที่ไม่จำเป็นหรือซับซ้อนเกินไปที่นี่ได้อย่างไร

2
GeoTIFF ที่สร้างใน GDAL ไม่มีช่วงต่ำสุด / สูงสุดเมื่อโหลดใน Arc / QGIS
ฉันสร้างแรสเตอร์จุดลอยตัวใน GDAL ด้วยไดรเวอร์ GeoTIFF เมื่อฉันโหลดรูปภาพที่เป็นผลลัพธ์ลงใน QGIS หรือ Arc สัญลักษณ์เริ่มต้นจะวางที่ -3.40282e38 และสูงสุดเป็น 3.40282e38 ดังนั้นแรสเตอร์จะมีลักษณะสีเทา มีวิธีที่ฉันสามารถเขียนช่วงจริงลงใน GeoTIFF โดยตรงหรือไม่เมื่อโหลดเข้าไปในโปรแกรม GIS มันจะทำการขยายฮิสโตแกรมโดยอัตโนมัติหรือไม่? ฉันพยายามสร้างฮิสโตแกรมเริ่มต้นเช่นนี้: rasterMin, rasterMax = raster.GetRasterBand(1).ComputeRasterMinMax() raster.GetRasterBand(1).SetDefaultHistogram(rasterMin, rasterMax, 255) แต่ฉันได้รับข้อผิดพลาดที่ดูเหมือนว่าเป็นปัญหาที่มีผลผูกพัน: File "/usr/lib/python2.6/dist-packages/osgeo/gdal.py", line 846, in SetDefaultHistogram return _gdal.Band_SetDefaultHistogram(self, *args) TypeError: not a sequence ข้อเสนอแนะใด ๆ เกี่ยวกับสิ่งที่ฉันสามารถทำได้หรือถ้าฉันทำผิดพลาด?

1
การใช้เครื่องมือ ArcPy และ PyGRASS ในสคริปต์ Python เดียวกันหรือไม่
ฉันกำลังพยายามเขียนสคริปต์ Python ที่มีคำสั่ง ArcPy / ArcGIS ที่แตกต่างกันและต้องการรวมเข้ากับเครื่องมือการประมวลผลทาง GRASS น่าเสียดายที่การนำเข้าไลบรารี GRASS ไม่ทำงาน import grass.script as grass สิ้นสุดลงในข้อผิดพลาด: Traceback (most recent call last): File "<interactive input>", line 1, in <module> ImportError: No module named script ฉันรู้ว่า GRASS GIS ติดตั้งเป็นรุ่น Python ของตัวเอง ไม่มีวิธีใดที่จะรวมการติดตั้ง ArcGIS และ GRASS GIS ของ Python เข้าด้วยกัน? ฉันพยายามคัดลอกโมดูล pygrass (หรือสิ่งที่ฉันคิดว่ามันอาจจะเป็น) …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.