Көбірек

Extract by Mask (Spatial Analyst) кезінде жасалған уақытша файлдарды қалай өңдеу керек?

Extract by Mask (Spatial Analyst) кезінде жасалған уақытша файлдарды қалай өңдеу керек?


Менде бірнеше каталогтарда растрлық деректерді өңдейтін бір уақытта жұмыс істейтін үш сценарий бар. Мен кездестіретін мәселе - ArcGIS «Extract_recl1» деп аталатын уақытша тор файлын құруда, маска арқылы шығару (кеңістіктік талдаушы) құралы шақырылған кезде. Уақытша файл растрлық мәліметтерді іздейтін каталогта құрылады. Менде бір уақытта бірнеше сценарий жұмыс істейтінін көріп, кейде бір сценарий Extract By Mask бағдарламасын іске қосуға тырысады және басқа сценарийде Extract by Mask құрған 'Extract_recl1' кездеседі. Бұл мен алатын қате:

ExecuteError: ERROR 010429: GRID IO қатесі: CellLyrCreateInternal: f:  mydirectory  reclass_new_classes  extract_recl1 каталогы бұрыннан бар. ҚАТЕ 010302: Шығу растры жасалмады: F:  mydirectory  reclass_new_classes  Extract_recl1 ҚАТЕ 010067: Тор өрнегін орындаудағы қате. Орындалмады (ExtractByMask).

Мен бұл жағдайды растрлық нысанды бірегей атаумен уақытша каталогқа сақтау және файлды аяқтағаннан кейін жою арқылы шешуге тырыстым:

# Маска арқылы шығару reclass_clp = ExtractByMask (reclass, mask_raster_temp) reclass_clp_temp = random_name_generator (temp_ws, «reclass_clp_temp», «.tif») # Бұл функция бірегей шығыс атауы reclass_clp.save жасайды (reclass_clp) .Delete_management (reclass_clp_temp)

Мен де орнаттымoverwriteOutputортағаРас.

arcpy.env.overwriteOutput = Дұрыс

Алайда, бұл екеуінің де әсері жоқ сияқты. Extract By Mask (Spatial Analyst) құрған уақытша файлдарды өңдеудің ең жақсы әдісі қандай?

Басқаша айтқанда, «Extract_recl1» уақыт торының бірегей атауын шығаруға мәжбүрлеу арқылы шығарып алу әдісі бар ма?


Extract By Mask құралы Scratch Workspace ортасын құрметтейді. Басқасын орнатып көріңізarcpy.env.scratchWorkspaceәрбір сценарий үшін питонмен жұмыс істейді tempfile.mkdtemp функция.

tempfile, shutil arcpy.sa сайтынан импорттау arcpy.sa импорт

Бейнені қараңыз: 07a: ArcGIS 10: Creating a Mask With the Erase Tool