Viac

Porovnávate rozsahy rastrov pomocou ArcPy?


Píšem skript, ktorý zadá vstup oblasti záujmu (AOI) a potom prejde základnými adresármi, aby našiel ľubovoľný súbor, ktorý má taký rozsah, ktorý sa pretína s AOI, orezal ho a vygeneroval textový výstupný súbor. Väčšina z nich funguje, okrem porovnania rozsahu rastra s rozsahom AOI. Nedáva chyby, ale nefunguje ...

Nejaká rada?

Mám tiež problémy s pokusom o orezanie rozsahu na mnohouholník, klipuje, ale zachováva MAX/MIN a neklipuje na masku. Skúsil som tri metódy ako v komentároch k skriptu.

Extrakt od Masky hovorí, že nemám priestorového analytika, ale je zapnutý.

CHYBOVÁ SPRÁVA pri použití ExtractByMask.

Licencia Spatial Analyst je K DISPOZÍCII P: 2011 Job_154_PythonScript_for_AOI Working Orthophotomosaic 310000_8105000.tif 310000 8104000 311000 8105000 NaN NaN NaN NaN mimo rozsah Traceback (posledný hovor posledný): Súbor "P: Po_jar_15 py ", riadok 80, in outExtractByMask = ExtractByMask (súbor, AOI) súbor" C: Program Files ArcGIS Desktop10.0 arcpy arcpy sa Functions.py ", riadok 6726, v ExtractByMask in_mask_data) Súbor" C : Program Files ArcGIS Desktop10.0 arcpy arcpy sa Utils.py ", riadok 47, vo výsledku swapper = wrapper (*args, ** kwargs) Súbor" C: Program Files ArcGIS Desktop10. 0 arcpy arcpy sa Functions.py ", riadok 6722, v obale out_raster) Súbor" C: Program Files ArcGIS Desktop10.0 arcpy arcpy geoprocessing_base.py ", riadok 474, na oplátku lambda * args: val (*gp_fixargs (args)) ExecuteError: Spustenie zlyhalo. Parametre nie sú platné. CHYBA 000824: Nástroj nie je licencovaný. Nepodarilo sa spustiť (ExtractByMask).

AKTUALIZOVANÝ/PRACOVNÝ KÓD

# Generátor podmnožín # Autor: George Corea, Atherton Tablelands GIS # [email protected]; [email protected] # Licencia: #AddMessage, AddWarning, AddError import arcinfo import arcpy, glob, os, sys, string from arcpy import env from arcpy.sa import * path = os.getcwd () os.chdir (path ) class LicenseError (Exception): pass try: if arcpy.CheckExtension ("Spatial") == "Available": arcpy.CheckOutExtension ("Spatial") print "Spatial Analyst license is AVAILABLE" else: # raise a custom exception # raise LicenseError env.workspace = cesta+' nevyžiadaná pošta' okrem LicenseError: vytlačte "Licencia priestorového analytika nie je k dispozícii" okrem: vytlačte arcpy.GetMessages (2) RootDirectories = [r'P:  2011  Job_154_PythonScript_for_AOI  Working  Orthophotomosaic '] Raster ['tif', 'jpg', 'ecw'] #boolean, valuelist #AOI = arcpy.mapping.Layer ('AOI.shp') #AOIextent = AOI.getExtent () AOI = 'AOI.tif' AOIobj = arcpy .Rast (AOI) AOIextent = AOIobj.extent #print AOIextent SR = 0 x = 0 Podmnožina = 0 FileArea = 0 f = otvorené (cesta+' AOI_Clip  AOI_SubsetGenerator.txt', 'a') f.write (" UniqueID, baseName, prípona, dataType, cesta,  OrigName, NewN ame, veľkosť (nekomprimované bajty), plocha (m2) "+"  n ") f.close () pre RootDirectory v RootDirectories: pre root, adresáre, súbory v os.walk (RootDirectory): pre RasterType v RasterTypes: FileList = [os.path.join (root, fi) pre fi v súboroch  if fi.endswith (RasterType)] pre súbor v FileList: FileDesc = arcpy.Describe (súbor) SR = FileDesc.spatialReference ak SR.name! = "Neznámy ": FileObj = arcpy.Raster (File) FileExtent = FileObj.extent print" Processing: " + File Extent_Overlap = str (FileExtent.overlaps (AOIextent)) Extent_Within = str (FileExtent.within (AOIextent)) Extent_Touches = str (FileExt. dotkne sa (AOIextent)) Extent_Crosses = str (FileExtent.crosses (AOIextent)) if Extent_Overlap == 'True': Subset = 1 print "Extent_Overlaps" elif Extent_Within == 'True': Subset = 1 print "Extent_Within" elif Extent_T 'True': Subset = 1 print "Extent_Touches" elif Extent_Crosses == 'True': Subset = 1 print "Extent_Crosses" else: #print "OUTSIDE extend"+str (Subset) Subset = 0 #Process files that are subset if Subs t == 1: #print Podskupina x = x+1 outRaster = cesta+' AOI_Clip '+str (FileDesc.baseName)+"^AOI_Clip"+str (x)+"."+str (FileDesc.extension ) try: outExtractByMask = ExtractByMask (File, 'AOI.shp') outExtractByMask.save (outRaster) print "Vytvorené:" + str (outRaster) okrem: vytlačiť "Raster je mimo rozsahu" #FileArea = float (arcpy.GetRasterProperties_management ( Súbor „ROWCOUNT“)*arcpy.GetRasterProperties_management (súbor, „COLUMNCOUNT“)*arcpy.GetRasterProperties_management (súbor, „CELLSIZEY“)*2) FileArea =  (string.atol (str (arcpy.GetRasterProperties_management (outRaster) )))  *string.atol (str (arcpy.GetRasterProperties_management (outRaster, "COLUMNCOUNT")))))  *(string.atol ((str (arcpy.GetRasterProperties_management (outRaster, "CELLSIZEY"))))  *reťazec. atol ((str (arcpy.GetRasterProperties_management (outRaster, "CELLSIZEX"))))))) print FileArea f = open (cesta+' AOI_Clip  AOI_SubsetGenerator.txt', 'a') f.write (str (x) +","+str (FileDesc.baseName)+"," +str (FileDesc.extension)+"," +str (FileDesc.dataType)+" , " +str (FileDesc.path) +", " +str (SR.name) +", " +str (outRaster) +", " +str (FileObj.uncompressedSize) +", " + str (FileArea) + " n") f.close () else: print "No Subsets" print "Zmena adresára na:" + str (dirs) arcpy.CheckInExtension ("Spatial") tlač "Checked Out rozšírenia a ukončenie"

Skúste znova použiť nástroj ExtractByMask. Aj keď ArcMap alebo ArcCatalog mnohokrát ukazujú, že máte rozšírenie Spatial Analyst odhlásené, skript ho nerozpozná. Rozšírenie Spatial Analyst si môžete výslovne pozrieť na začiatku skriptu a potom by malo fungovať.

Pozrite sa na tento odkaz na pomoc s ArcGIS:

http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/CheckOutExtension/000v0000003q000000/


Rôzne, viacúrovňové efekty krajiny na genetickú diverzitu a diferenciáciu vo východných chipmunkoch

Pochopenie toho, ako strata a fragmentácia biotopu ovplyvňuje genetické variácie, je hlavným cieľom krajinnej genetiky, ale doteraz sa väčšina štúdií zamerala výlučne na koreláciu medzi intervenujúcou maticou a genetickou diferenciáciou v jednom priestorovom meradle. V týchto návrhoch štúdií existuje niekoľko výhrad, medzi nimi je neschopnosť zahrnúť okrem diferenciácie aj opatrenia genetickej diverzity. Obe genetické metriky pomáhajú predpovedať perzistenciu populácie, ale očakáva sa, že budú fungovať v rôznych priestorových mierkach, čo si vyžaduje viacúrovňové skúmanie. V tejto štúdii sme vzorkovali dve odlišné priestorové stupnice v 31 nezávislých krajinách podľa gradientu krajinného kontextu (tj. Množstvo lesa, konfigurácia a typy intervenujúcej matice), aby sme zistili, ako heterogenita krajiny ovplyvňuje genetickú diverzitu a diferenciáciu na východe spojenom s lesom. veverička (Tamias striatus). Celkovo kvalita intervenujúcej matice korelovala s genetickou diferenciáciou vo viacerých priestorových mierkach, zatiaľ čo iba konfigurácia bola spojená s genetickou diverzitou v regionálnom meradle. Množstvo biotopov naopak neovplyvnilo genetickú diferenciáciu ani diverzitu ani v priestorovom meradle. Na základe našich zistení sa zdá, že efekty krajiny na genetické variácie sa líšia v závislosti od priestorového rozsahu, typu premennej genetickej odpovede a náhodných variácií medzi krajinami, čo sťažuje extrapoláciu výsledkov z jednorazových nereplikovaných štúdií. Odporúčame krajinným genetikom, aby využívali viacúrovňové, replikované krajiny s genetickou diverzitou a diferenciáciou, aby získali komplexnejšie pochopenie toho, ako strata a fragmentácia biotopov ovplyvňujú genetické variácie.


Boli by deskriptory poslednej skrytej vrstvy dvoch rôznych CNN rovnaké?

Mám k dispozícii súbor údajov 2D lekárskych snímok. Som požiadaný o extrahovanie deskriptorov obrazu zo skrytej vrstvy neurónovej siete vopred vyškolenej v súbore údajov ImageNet.

Uvažujem o použití dvoch sietí: ResNet-50 s presnosťou imageNet X a VGG-16 s presnosťou imageNet Y (X & lt Y). Zaujímalo by ma, či sú pre akýkoľvek obrázok deskriptory z poslednej skrytej vrstvy ResNet-50 rovnaké ako deskriptory z poslednej skrytej vrstvy VGG-16.

Pochádzam z prostredia NLP, neváhajte mi to vysvetliť, ako keby som mal 5 rokov: p

Jedna odpoveď

Nie, nič nehovorí, že by sa skryté vrstvy mali zhodovať, aj keď sa používajú na rovnakú úlohu. A v príklade, ktorý ste uviedli, ResNet-50 a VGG-16, sa nezhodujú. VGG-16 používa plne prepojenú vrstvu s 4096 jednotkami. Môžete to vidieť tu:

Zatiaľ čo ResNet-50 používa globálne priemerné združovanie, ktoré vytvára jednorozmerný vektor s 2 048 jednotkami. Môžete to vidieť tu:


Pozri si video: ArcGIS Pro and PyCharm IDE. burdGIS (Október 2021).