Prikaz rezultata 1 do 6 (od sveukupno 6).
  1. #1
    Registered User
    Datum registracije
    Nov 2009
    Poruke
    4


    Tuzan python i postgresql

    ovako, trebala bih napraviti grafičko sučelje u pythonu sa matplotlib.. ili pygame, ili kojim god libraryjem hoću, kako bi mi se prikazali objekti u .shp formatu iz postgresql baze podataka, odnosno postgis (prostorno proširenje postgresql-a). radi se o poligonima koji su u bazi definirani geometrijom (u tablici kolona "the_geom"). postupak konekcije na bazu znam, ali ne znam kako da se vizualno prikažu poligoni. Ne pitajte zašto to radim, jednostavno moram

  2. #2
    Registered User
    Datum registracije
    Jun 2009
    Lokacija
    Earth
    Poruke
    25


    Početno Re: python i postgresql

    Najjednostavnije crtanje poligona u Pythonu se može postići korištenjem Tkintera i Canvas widgeta. Dokumentacija o tome i primjeri: [Samo registrirani korisnici mogu viditi linkove. ]

  3. #3
    Registered User
    Datum registracije
    Nov 2009
    Poruke
    4


    Početno Odg.: python i postgresql

    Ok, hvala! A jel bi mi mogao objasnit kako da se povežem na svoju bazu, tj. kako da primjenim te widgete na poligone u postgresql bazi?

  4. #4
    Registered User
    Datum registracije
    Jun 2009
    Lokacija
    Earth
    Poruke
    25


    Početno Re: python i postgresql

    Pretpostavljam da se u spomenutoj tablici u koloni koju imaš nalaze koordinate poligona. Ako je tako, onda je jednostavno modificirati primjer sa tutorijala da crta više poligona. Trivijalni primjer:
    Kod:
    rows = select_my_rows()
    for row in rows:
        w.create_rectangle(row.x1, row.y2, row.x2, row.y2)
    Doduše, ne znam u kojem formatu imaš podatke pa ne mogu konkretizirati. U principu selektiraš podatke iz baze, prekonvertiraš ih u koordinate ako treba, pa ih prikažeš. Ne znam koji te dio točno muči, pa bi više detalja bilo povoljno za konkretniji odgovor

  5. #5
    Registered User
    Datum registracije
    Nov 2009
    Poruke
    4


    Početno Odg.: python i postgresql

    Zanima me kako selektirat podatke iz baze i kako ih konvertirat u koordinate, baš kao što si primjetio A poligoni su u .shp formatu (shapefile). Spojim se na bazu pomoću psycopg2 ovako:
    Kod:
    import psycopg2
    conn = psycopg2.connect("dbname='***' user='***' host='***' password='***'")
    print 'Uspjesno ste se spojili na bazu'
    
    cur = conn.cursor()
    cur.execute("""SELECT astext(the_geom) from zgrade;""")
    listpoly = cur.fetchall()
    conn.close()
    E sad ne znam kako dalje.

  6. #6
    Registered User
    Datum registracije
    Jun 2009
    Lokacija
    Earth
    Poruke
    25


    Početno Re: python i postgresql

    Čini mi se da je tu sve ok, samo prije conn.close() staviš iteriranje po redovima. Također treba ti library za čitanje shapefile formata. Na google vidim da ih ima par ([Samo registrirani korisnici mogu viditi linkove. ]), ali nemam vremena isprobati koji je dobar a to možeš i ti

    Enivej, program bi onda nekak ovak izgledal:
    Kod:
    from Tkinter import *
    import psycopg2
    import neki_shapefile_library
    
    try: 
      conn = psycopg2.connect("dbname='***' user='***' host='***' password='***'")
    except:
      print 'Neuspjesno spajanje na bazu!'
    
    master = Tk()
    w = Canvas(master, width=200, height=100)
    w.pack()
    
    cur = conn.cursor()
    cur.execute("""SELECT astext(the_geom) from zgrade;""")
    listpoly = cur.fetchall()
    
    for row in listpoly:
      coords = read_shapefile(row)
      w.create_rectangle(coords, fill="blue")
    
    mainloop()
    conn.close()

 

 

Informacije o temi

Users Browsing this Thread

Trenutno (1) korisnika pregledava ovaj forum. ((2) članova i (3) gosta)

Pravila pisanja poruke

  • Ne možeš otvoriti novu temu
  • Ne možeš ostaviti odgovor
  • Ne možeš stavljati dodatke
  • Ne možeš uređivati svoje postove
  •