1.9.4 Zápis bodů do tabulky databáze na základě kliknutí uživatele

Díky uložení bodů v relační databázi Data.mdb, můžeme uživateli nabídnout možnost pořizovat vlastní body, klikáním v mapě. Kliknutí v mapě může být doplněno formulářem pro atributové údaje k tomuto bodu (tímto se však zabývat nebudeme).

Úvod

V první řadě musíme upravit uživatelské rozhraní v souboru prvni.php:

<P>Akce:
<!—přepínací políčko na akci -->
<input type=radio name=mode value=browse <? if ($mode==browse) echo "checked"; ?>> Prohlížet
<input type=radio name=mode value=setpoint <? if ($mode==setpoint) echo "checked"; ?>> Vložit bod
</P>

Přidání funkce do uživatelského rozhraní

V dalším kroku musíme upravit prvni.php tak, aby byl schopen zpracovat akci Vložit bod (setpoint) zvolenou uživatelem. Následující část kódu toto řeší:

...
//spojení s databází
$con=odbc_connect("Prvni", "", "");

 
//pokud uživatel chce umístit bod
if ($mode=="setpoint") {
//výpočet měřítka
$scale = ($rect->maxx - $rect->minx) / $mapa->width; //výpočet souřadnice x
$x1 = $rect->minx + ($scale * $x);
//výpočet souřadnice y
$y1 = $rect->maxy - ($scale * $y);
//SQL pro insert
$SQL = "INSERT INTO BODY (X, Y) VALUES ($x1, $y1)";
//zápis hodnot
$res=odbc_exec($con, $SQL);
}

 
//nový objekt - prázdný bod
$oPoint = ms_newPointObj();
...

Zpracování vložení bodu

V první řadě dojde k výpočtu měřítka mapy, následně k přepočítání souřadnic kliknutí do souřadnic mapy a následně ke spuštění SQL příkazu INSERT, který vloží bod do tabulky Body.

 

V prohlížeči zadejte adresu http://127.0.0.1/ms/prvni.php. Vyberte akci Vložit bod a klikněte do mapy. Výstup je zobrazen na dalším obrázku.

Testování

Obrázek 1-43: Přidání bodu do databáze.

Pokud jste neobdrželi uvedený výstup, podívejte se do průvodce studiem. Pokud ani tam nenajdete řešení vašeho problému postupujte podle pokynů uvedených v úvodu modulu.

Přidání bodu do databáze.

 

PRŮVODCE STUDIEM 18

 

V případě problémů s kopírováním (přepisováním) kódu souboru jej naleznete na CD v adresáři ms/ pod názvem prvni_v5.php.

Zdroj na CD

 

SHRNUTÍ KAPITOLY UMN MAP SERVER

 

V uvedené kapitole jste si prakticky vyzkoušeli instalaci produktu UMN MapServer a vytvoření jednoduché kompozice. Pokud jste poctivě prošli všemi úkoly měli byste umět:

· Vytvořit jednoduchou mapovou kompozici (nadefinovat vrstvy a jejich vzhled)

· Vytvořit kompozici s měřítkem a legendou

· Zatřídit prvky do několika kategorií

· Nastavit měřítkové omezení na vrstvě

· Implementovat základní funkce elektronicky publikované mapy (změnu měřítka, posun a zobrazení údajů o vybraném objektu v mapě)

Pokud jste se rovněž rozhodli věnovat práci s PHP modulem máte následující schopnosti:

· Prezentovat mapovou kompozici s využitím PHP skriptu

· Implementovat základní nástroje (změna měřítka, posun)

· Zobrazit body v mapě jejichž souřadnice jsou uloženy v tabulce relační databáze

· Implementovat nástroj pro pořizování bodové reprezentace geoprvků klikáním uživatele v mapě

Shrnutí

 

PRŮVODCE STUDIEM 19

 

V následující kapitole si můžete prakticky vyzkoušet odlišný přístup v publikování prostorových dat na Internetu, kdy je veškerá činnost aplikace přenesena na klientskou stranu. Jedná se tedy o řešení bez použití mapového serveru. Pro vyzkoušení tohoto principu byl zvolen jednoduchý volně dostupný nástroj JShape.

Průchod modulem