Thread View: pl.comp.gis
2 messages
2 total messages
Started by "Pawe�"
Mon, 27 Dec 2010 11:11
[Python] problem z odczytaniem warto�ci zmiennych
Author: "Pawe�"
Date: Mon, 27 Dec 2010 11:11
Date: Mon, 27 Dec 2010 11:11
40 lines
1298 bytes
1298 bytes
Witam Chcia�bym si� zapyta� czy kto� wie jak mo�na uzyska� (odczyta�) warto�� zmiennych u�ytych jako parametr dla narz�dzia Arcgis ? Poni�szy skrypt wyszukuje w tabelce atrybut�w, duplikaty. Zmienne n0 i n1 zwracaj� po zako�czeniu skryptu warto�� 0 zamiast np. 15 w zwi�zku z tym ostatnia instrukcja if nie dzia�a prawid�owo ? Co robi� �le lub czego brakuje w tym kodzie ? Na grupie Pythona nie bardzo potrafiono mi pom�c gdy� sztuczki z u�yciem deklaracji global niestety nie dzia�aj� ? n0 = 0 n1 = 0 #liczba znalezionych duplikat�w codeblock = "uniqueList = []\n\ def isDuplicate(inValue):\n\ if inValue in uniqueList:\n\ return 1\n\ n1=n1+1\n\ else:\n\ uniqueList.append(inValue)\n\ return 0\n\ n0=n0+1" expressi gp.CalculateField_management(Output_Dataset, name_dfield, expression1, "PYTHON", codeblock) if n1 > 0: gp.AddMessage ("Znaleziono " +str(n1)+ " duplikat(-�w).") gp.AddMessage ("Dodano informacj� o duplikatach(1) lub ich braku(0) w nowym polu: "+str(name_dfield)+".") print gp.getmessages(3) else: gp.AddMessage ("Brak obiekt�w o zduplikowanych atrybutach we wskazanej warstwie."+" n1="+str(n1)+", n0="+str(n0)) print gp.getmessages(4)
Re: [Python] problem z odczytaniem warto ci zmiennych
Author: "Mateusz Loskot"
Date: Thu, 06 Jan 2011 18:41
Date: Thu, 06 Jan 2011 18:41
30 lines
823 bytes
823 bytes
"Pawe" <gamacdur@op.pl> wrote in message news:4d18675a$0$2499$65785112@news.neostrada.pl... > n0 = 0 > n1 = 0 #liczba znalezionych duplikat�w > > codeblock = "uniqueList = []\n\ > def isDuplicate(inValue):\n\ > if inValue in uniqueList:\n\ > return 1\n\ > n1=n1+1\n\ > else:\n\ > uniqueList.append(inValue)\n\ > return 0\n\ > n0=n0+1" Podejrzane jest to, że funkcja isDuplicate kończy wykonanie (return 1 lub return 0) przed jakąkolwiek inkrementacją liczników n1 lub n0. Inaczej, n1 i n0 są zawsze równe Zero. Nigdy nie używałem skryptów w Pythonie wraz z ArcGIS, więc być może problem jest specyficzny dla tego środowiska. Pozdrawiam -- Mateusz Loskot, http://mateusz.loskot.net pl.comp.lang.c FAQ: http://pl.cpp.wikia.com/wiki/FAQ C++ FAQ: http://parashift.com/c++-faq-lite
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads