[Talk-lt] Mapnik
Albertas Agejevas
alga at pov.lt
Thu Apr 21 06:30:02 UTC 2011
On Sat, Apr 16, 2011 at 05:04:43PM +0300, Tomas Straupis wrote:
> Prisegu py failą, gal kolegos pitoninikai kokių nors stambių kliurkų
> pastebės, nes šiaip kodą rašiau google pagalba „search: python print,
> search: python loop, search: python variables“ ir pan. :-)
Gan gerai išėjo kaip pirmam kartui! Rekomenduoju oficialų Pythono
tutorialą, užima vieną vakarą ir supažindina su dauguma kalbos
feature'ų:
http://docs.python.org/tutorial/index.html
> #!/usr/bin/python
> from imposm.parser import OSMParser
>
> class Taskai(object):
> highways = 0
>
> def ieskok(self, nodes):
> # callback method for nodes
> for osmid, tags, pos in nodes:
> if 'historic' in tags:
> #print tags
> title = ''
> description = ''
> url = ''
> if 'name' in tags:
> title = tags['name']
> if title == '':
> title = tags['historic']
> description = title
> if 'url' in tags:
> url = tags['url']
> description += '<br><a href="%s" target="_blank">Info</a>' % url
> if tags['historic'] == 'hill_fort' or tags['historic'] == 'monument' or tags['historic'] == 'archaeological_site':
Čia galima būtų sulankstyti eilutę taip:
if (tags['historic'] == 'hill_fort' or
tags['historic'] == 'monument' or
tags['historic'] == 'archaeological_site'):
Arba trumpiau:
if (tags['historic'] in
['hill_fort', 'monument', 'archaeological_site']):
> # instantiate counter and parser and start parsing
> f = open('textfile.txt', 'w')
> f.write('lat\tlon\ttitle\tdescription\ticonSize\ticonOffset\ticon\n')
> taskai = Taskai()
> p = OSMParser(concurrency=4, nodes_callback=taskai.ieskok)
> p.parse('lithuania_.osm')
Šitą paprastai sudeda į main() funkciją ir kviečia ją taip:
if __name__ == '__main__':
main()
Tokiu būdu galėsi importuoti Taskai klasę iš kito skripto. Dabar
importo metu bus vykdomas skriptas.
Albertas
More information about the Talk-lt
mailing list