Hledám doučování (pomoc) pro Python - objektový přístup – Python – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Hledám doučování (pomoc) pro Python - objektový přístup – Python – Fórum – Programujte.comHledám doučování (pomoc) pro Python - objektový přístup – Python – Fórum – Programujte.com

 

Standa
~ Anonymní uživatel
122 příspěvků
28. 4. 2015   #1
-
0
-

Ahojte,

hledám někoho, kdo by byl ochoten a schopen mně pomoct předělat "dlouhý", ale poměrně jednoduchý "procedurální" skript v Pythonu (výpočetní model v GIS) tak, aby z toho byl skript "objektový". To znamená přehlednější a snáze použitelný...

Pro informatiky by to měla být malina.

Samozřejmě, že to nechci zadarmo...

StandaXC@seznam.cz

Nahlásit jako SPAM
IP: 90.177.12.–
hanpari0
Stálý člen
29. 4. 2015   #2
-
0
-

Pokud to není tajemství, nechceš ho ukázat třeba přes pastebin? Ať si člověk udělá představu, co to obnáší?

Nahlásit jako SPAM
IP: 195.5.186.–
Standa
~ Anonymní uživatel
122 příspěvků
29. 4. 2015   #3
-
0
-

Díky hanpari,

dobrý nápad,

"skript" s detailním popisem je zde:

http://pastebin.com/M1LTcPWH

Nahlásit jako SPAM
IP: 90.177.12.–
hanpari0
Stálý člen
29. 4. 2015   #4
-
0
-

#3 Standa
Hezky, prostor pro přepsání tam určitě je :) Objektově to ani psát nemusíš, stačí když se naučíš funkce. Jít do objektů, když tam nemáš ani funkce je trochu moc hrrr :)

Například toto se ti opakuje pořád dokola:

gr98 = "C:\\Data LLS pro IGA\\data_IGA_klasif\\ground_default_classified\\98_gr_mod.las"   # nastaveni cesty zdrojovych dat
gr99 = "C:\\Data LLS pro IGA\\data_IGA_klasif\\ground_default_classified\\99_gr_mod.las"
gr100 = "C:\\Data LLS pro IGA\\data_IGA_klasif\\ground_default_classified\\100_gr_mod.las"
gr101 = "C:\\Data LLS pro IGA\\data_IGA_klasif\\ground_default_classified\\101_gr_mod.las"
 


A přitom je to stále totéž:

def vytvor_cesty(adresar, soubory):
    return [adresar+soubor for soubor in soubory]

soubory = "98_gr_mod.las", "99_gr_mod.las", "100_gr_mod.las", "101_gr_mod.las"
adresar = "C:\\Data LLS pro IGA\\data_IGA_klasif\\ground_default_classified\\"
print(vytvor_cesty(adresar, soubory))

#vytvori list, který můžeš použít do funkce
['C:\\Data LLS pro IGA\\data_IGA_klasif\\ground_default_classified\\98_gr_mod.las',
 'C:\\Data LLS pro IGA\\data_IGA_klasif\\ground_default_classified\\99_gr_mod.las',
 'C:\\Data LLS pro IGA\\data_IGA_klasif\\ground_default_classified\\100_gr_mod.las',
 'C:\\Data LLS pro IGA\\data_IGA_klasif\\ground_default_classified\\101_gr_mod.las']

Nahlásit jako SPAM
IP: 178.72.234.–
Standa
~ Anonymní uživatel
122 příspěvků
29. 4. 2015   #5
-
0
-

#4 hanpari
Moc děkuji,

nechceš mi podobným způsobem pomoct i s tím zbytkem :) ?

Toto byla moje první zkušenost s Pythonem a "programovaním" jako takovým, takže to je napsaný tak jak je... Nejsem programátor, ani žádné základy jsem neměl...

Potřeboval jsem urychlit zkoušení toho modelu a byl jsem zprvu šťastnej, že to funguje a že mi to dost ulehčí práci.. Formu jsem neřešil, až doteď.

Funkce, potažmo celej Python se nyní učím. Pak mám z toho mít i zkoušku, tak hledám někoho kdo mi ten proces pomůže "urychlit" až do fáze jednoduchého objektového návrhu ...

Nahlásit jako SPAM
IP: 90.177.12.–
hanpari0
Stálý člen
30. 4. 2015   #6
-
0
-

#5 Standa
No, zatím se nauc používat funkce a zkrat ten výsledný kód, ať se ti neopakuji dokola stale stejne radky. S tím co jsem ti napsal, bys mel kod zredukovat cca o 90%, pokud jsem se dobre dival :)

Nahlásit jako SPAM
IP: 178.72.234.–
Standa
~ Anonymní uživatel
122 příspěvků
30. 4. 2015   #7
-
0
-

#6 hanpari
To co jsi napsal včera je bohužel vhodné asi jen na ten konkrétní případ výpočtu - platí to jen pro nástroje arcpy, které umožňují vložení listu vstupních souborů, provedení výpočtu, a výsledek v podobě jednoho souboru. To je však případ jen malého množství nástrojů.

Pokud udělám uvedeným postupem funkce (listy) jak pro vstupy, tak výstupy, tak to ty moduly nejsou schopny zpracovat. Analogie pořadí vstup - výstup 1-1, 2-2 nefunguje.. To znamená, že pro každý soubor z listu musí být nástroj spuštěn znovu, znovu se specifikací uložiště výsledného souboru..

Nahlásit jako SPAM
IP: 90.177.12.–
hanpari0
Stálý člen
1. 5. 2015   #8
-
0
-

#7 Standa
Abych pravdu řekl, moc se mi nezdá to, co jsi napsal. Neznám ArcPy, ale předpokládám, že ho dělal někdo, kdo umí v Pythonu programovat. Můžeš dát příklad toho, co myslíš. A vypsat nápovědu pomocí funkce help() k té konkrétní funkci?

Nahlásit jako SPAM
IP: 178.72.234.–
Standa
~ Anonymní uživatel
122 příspěvků
2. 5. 2015   #9
-
0
-

#8 hanpari
Tak o tom žádná, že to psal někdo, kdo s tím umí dělat. Musím to ještě zkusit přes IDE přímo v ArcGIS.

Tady je link na tu hned druhou funkci, která mně nejede:

http://resources.arcgis.com/en/help/main/10.2/index.html#//000800000004000000

a tady je to jak to vypadá napsaný podle rady:

#4 nastaveni vstupnich a vystupnich dat pro orez multipointu
def MTP_af(a, s):
    return [a+x for x in s]
    s = "MTP_af_3b_clip.shp"
    a = "C:\\cviceni_Python\\uloziste_MTP\\"
print(MTP_af(a, s))

def plochy(a, s):
    return [a+x for x in s]
s = "1_pl_buff_1885m.shp", "2_pl_buff_1885m.shp", "3_pl_buff_2134m.shp", "4_pl_buff_2134m.shp", "5_pl_buff_1971m.shp", "6_pl_buff_1885m.shp", "7_pl_buff_3341m.shp"
a = "C:\\cviceni_Python\\plochy_2014\\"
print(plochy(a, s))

def plochy_af_uloz(a, s):
    return [a+x for x in s]
s = "1_af.shp", "2_af.shp", "3_af.shp", "4_af.shp", "5_af.shp", "6_af.shp", "7_af.shp"
a = "C:\\cviceni_Python\\uloziste\\"
print(plochy_af_uloz(a, s))

#6 orez ziskanych multipointu ke tvorbe DMP a DMT dle zvolenych ploch
arcpy.Clip_analysis(MTP_af(a, s), plochy(a, s), plochy_af_uloz(a, s), "")

- to MTP_af(a, s) jako vstup je pořád stejné, mění se jen plochy, kterými je celé "mračno" oříznuto..

- jak to udělat, aby se to MTP_af(a, s) opakovalo jako vstup pro všechny výpočty toho nástroje? Ostatní listy jsou v pořádku..

Nahlásit jako SPAM
IP: 90.177.12.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 15 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý