Új hozzászólás Aktív témák
-
adamch4
tag
Sziasztok!
Tegnap összedobtam egy scriptet, mely arra hivatott, hogy nagyméretű műholdfelvételekből kivágjon egy általam kiválasztott kisebb területet (jelen esetben egy település határát), hogy később könnyebb legyen dolgozni vele. A scipt megfelelően működik, nem is ezzel van gond. A gond az, hogy sok műholdfelvételt szeretnék kivágni, és ezért sok idő megy el azzal, míg beirogatom a fájlok neveit. Gondoltam arra, hogy átnevezem a fájlokat pl. 001-től 100-ig, és a sciptben valahogy n=n+1 módszerrel adnám meg az adott fájl nevét, de sajnos nem nevezhetem át a fájlokat, mert jelentéstartalommal bírnak, és később nem tudnám, ki fia bornya
Szóval a kérdésem az lenne: meglehetne-e csinálni azt, hogy pl. csak egy mappa elérési útvonalat adok meg, amiben ott vannak a különböző nevű fájlok és azt szépen beolvasná? A fájlok kiterjesztése egységesen: *.TIF - ezzel talán lehetne valamit kezdeni? Pl. írni egy olyan sort, ami kikeresi az ilyen kiterjesztésű fájlokat az adott mappán belül? Köszi előre is a választ!A scipt:
# ArcGIS-modulok betoltese
import arcpy, os
from arcpy import env
from arcpy.sa import *
# ArcGIS Spatial Analyst licenc ellenorzese
arcpy.CheckOutExtension("Spatial")
# Kivagando terulet (vektoros allomanyban)
inMaskData = r'D:\Workspace\Telepuleshatar.shp'
# Bemeneti raszteres allamany
inRaster = r'D:\Workspace\Muholdfelvetel_1.TIF'
# Kimeneti raszteres allomany (kivagat) elnevezese
newname=inRaster+'_kivagat.img'
outws = r'D:\Miert nem ebbe a mappaba menti'
out1 = os.path.join(outws, newname)
# Kivagat letrehozasa
outExtractByMask = ExtractByMask(inRaster, inMaskData)
# Kivagat elmentese
outExtractByMask.save(out1)
print newname, "letrehozva!"Szóval csak a # Bemeneti raszteres allamany -hoz kellene valami tuti jó dolgot írni
[ Szerkesztve ]
Ahol nincs alternatíva, ott az igazságból hiányzik valami.
-
adamch4
tag
válasz pokerecske1 #359 üzenetére
igen, pont ilyet kerestem
legalábbis sejtettem, hogy kell lennie ilyennek is, bár anno ilyet nem tanultam
rögvest kipróbálom!Ahol nincs alternatíva, ott az igazságból hiányzik valami.
-
adamch4
tag
válasz pokerecske1 #359 üzenetére
Sikerült!
hirtelen ledermedtem, mert kb. 30 nagyméretű fájl volt éppen a megadott mappában, és hát mindegyiken végig ment hiba nélkül
Már csak annyi szépséghibája van, hogy ugyanabba a mappába köpködi az új fájlokat, de ez már a legevesebbAhol nincs alternatíva, ott az igazságból hiányzik valami.
-
adamch4
tag
Nagyszerű, köszönöm!
Ez nekem is eszembe jutott, de szerencsére minden letöltött állomány '.TIF' kiterjesztésű, így ha nem babráljuk, nincs gond, ha meg mégis TC-ben egy csoportos átnevezéssel oldanám meg a problémát. De ez így mégis kiforrottabb megoldás
Eddig, ha pl. átneveztem 'valami.TIF'-et > 'valami.tif'-re, úgy azt kihagyta, vagy ha a scriptben 'tif' lenne, miközben a kiterjesztés 'TIF', akkor szintén nem vágna ki semmit. Ezzel a javítással már ez sem lesz gond
Még azt szeretném megoldani, hogy a kimeneti mappa más legyen, mert amit megadtam, azzal nem működik.[ Szerkesztve ]
Ahol nincs alternatíva, ott az igazságból hiányzik valami.
-
adamch4
tag
hopp, átírtam, így már sikerült:
s=inRaster
newname = s[-20:-4]+"_kivagat.img"most már a megadott mappába rakja, illetve kivettem a TIF-szócskát az új fájlok neveiből (eddig nem is vettem észre). viszont ez nagyon fapados.
Ahol nincs alternatíva, ott az igazságból hiányzik valami.
-
adamch4
tag
köszönöm! kipróbáltam a splittelést, de végül ez egyszerűbbnek tűnt:
newname = tif_file[:-4]+"_kivagat.img"mindvégig az 'inRaster'-rel próbálkoztam, holott a 'tif_file' kellett volna. ez így megállja a helyét?
[ Szerkesztve ]
Ahol nincs alternatíva, ott az igazságból hiányzik valami.
-
adamch4
tag
Sziasztok!
Hogyan tudnám kikeresni egy txt-ben az összes 21-23 közötti és 47-49 között előforduló számot (pl.: 21.65573481824333,47.17266682019466,0...), hogy egymás alá rendezzem és előtaggal lássam el őket?
Így szeretném átformázni:
kh_1=21.65573481824333
ész_1=47.17266682019466,0
kh_2=...A beolvasás, elmentés része már meg van, de nem tudom, hogyan keressek így rá. Köszi előre is!
Ahol nincs alternatíva, ott az igazságból hiányzik valami.
-
adamch4
tag
rendezett, pontosan ilyen formában (a pont-tizedesjel utáni számokból levettem egy kicsit, h ne legyen olyan hosszú):
23.65,49.16,0 23.65,49.23,0 22.53,48.28,0szóval egy tömbön belül van egy vessző, két tömb között pedig egy szóköz. a 40-es számoknál a számok végén ,0 szerepel, de az elhagyható.
Ahol nincs alternatíva, ott az igazságból hiányzik valami.
-
adamch4
tag
A txt-ben van némi szöveg is, ami bekavar. Kezeljem inkább string-ként a számokat? Mondjuk a 22-vel, 23-al kezdődők, stb.
A re.findall-al próbálkoztam még, ami sikeresen visszaadta a számokat, viszont a tizedesjelnél feldarabolta őket.Ahol nincs alternatíva, ott az igazságból hiányzik valami.
Új hozzászólás Aktív témák
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest