Anda di halaman 1dari 6

SIG DINAMIS

Database
Nama database : yogya
Tabel : kabupaten

Tabel : obyek

Script PHP
Script untuk koneksi ke Mysql dan database server
File : gathuk.php
<?
mysql_connect("localhost","root","root");
mysql_select_db(yogya)or die ("wadhah data ora ono lik");
?>

Script untuk menampilkan suatu wilayah dengan beberapa daerah dengan


warna blok yang berbeda tergantung ukuran/kejadian/frekwensi/volume
File : bebas.php
<?
header("Content-Type:image/jpeg");
$wilayah=imagecreate(800,600);
$latar=imagecolorallocate($wilayah,225,225,225);//warna latar
$abang=imagecolorallocate($wilayah,255,0,0);//warna merah
$biru=imagecolorallocate($wilayah,0,0,255);//warna biru
$kuning=imagecolorallocate($wilayah,255,255,0);//warna kuning
$ijo=imagecolorallocate($wilayah,0,255,0);//warna hijau
$item=imagecolorallocate($wilayah,0,0,0);//warna hitam

//-------------- membuat peta dg poligon


//deklarasi titik2 poligon dlm kode global
$titik=array(110.0167,7.883,110.1167,7.6333,110.2500,7.6666,110.4167,
7.5500,110.8333,8.1666);
//konversi koord global ke koordinat layar
//menentukan batas peta dldm kor global dalam derajat desimal
$b_kiri=110;$b_kanan=111;
$b_atas=7.5000;$b_bawah=8.2000;
//mennetukan ukuran peta dlm koord global
$dx=$b_kanan-$b_kiri;
$dy=$b_bawah-$b_atas;
//menentukan ukuran jendekla tampilan (pixel)
$l_display=800;//resolusi jendela mendatar

$t_display=600;//resolusi jendela vertikal


//proses transformasi ke koordinat layar
for($i=0;$i<=10;$i++)
{
$x=$i%2;
if($x==0)
$t_layar[$i]=(($titik[$i]-$b_kiri)/$dx)*$l_display;
else
$t_layar[$i]=(($titik[$i]-$b_atas)/$dy)*$t_display;
}
imagepolygon($wilayah,$t_layar,5,$merah);
//menggambar wilayah dari database
include "gathuk.php";
$kab=mysql_query("select kodekab,namakab,jumkorban from kabupaten");
while($kab_array=mysql_fetch_array($kab))
{
$kokab=$kab_array[kodekab];
$namakabupaten=$kab_array[namakab];
$jumlah_korban=$kab_array[jumkorban];

$jupuk=mysql_query("select x,y from obyek where kodekab='$kokab'


");
$i=0;
$x_tengah=0;$y_tengah=0;
while($larik=mysql_fetch_array($jupuk))
{
$xx[$i]=$larik[x];
$yy[$i]=$larik[y];
$x_tengah=$x_tengah+$xx[$i];
$y_tengah=$y_tengah+$yy[$i];
$i++;
$max=$i;
}

//mennetukan rerata untuk menjadi titik tengah


$x_t=$x_tengah/$max;
$y_t=$y_tengah/$max;
$max_index=2*$max;
$k=0;$m=0;$n=0;
//konversi array standar ke array polygon
while($k<$max_index)

{
if($k%2==0)
{
$titik[$k]=$xx[$m];
$m++;
}
else
{
$titik[$k]=$yy[$n];
$n++;
}
$k++;
}
//pemilihan warna atas dasar volume/ukuran/besaran/frekwensi
if($jumlah_korban>=1000)
$warna=$abang;
elseif($jumlah_korban>=500)
{
$warna=$kuning;
}
else
{
$warna=$ijo;
}
//gambar poligon dengan blok
imagefilledpolygon($wilayah,$titik,$max,$warna);
//menulis teks nama kabupaten
imagestring($wilayah,10,$x_t,$y_t,$namakabupaten,$item);
}//end while $kab
imageJPEG($wilayah);
?>

Script untuk menampilkan suatu wilayah dengan beberapa obyek yang


berbeda ukuran tergantung ukuran/kejadian/frekwensi/volume
File : bebas.php
<?
header("Content-Type:image/jpeg");

$wilayah=imagecreate(800,600);
$latar=imagecolorallocate($wilayah,225,225,225);//warna latar
//definisi warna grafis
$merah=imagecolorallocate($wilayah,255,0,0);//warna grafis
$biru=imagecolorallocate($wilayah,0,0,255);//warna grafis
//-------------- membuat peta dg poligon
//deklarasi titik2 poligon dlm kode global
$titik=array(110.0167,7.883,110.1167,7.6333,110.2500,7.6666,110.4167,
7.5500,110.8333,8.1666);
//konversi koord global ke koordinat layar
//menentukan batas peta dldm kor global dalam derajat desimal
$b_kiri=110;$b_kanan=111;
$b_atas=7.5000;$b_bawah=8.2000;
//mennetukan ukuran peta dlm koord global
$dx=$b_kanan-$b_kiri;
$dy=$b_bawah-$b_atas;
//menentukan ukuran jendekla tampilan (pixel)
$l_display=800;//resolusi jendela mendatar
$t_display=600;//resolusi jendela vertikal
//proses transformasi ke koordinat layar
for($i=0;$i<=10;$i++)
{
$x=$i%2;
if($x==0)
$t_layar[$i]=(($titik[$i]-$b_kiri)/$dx)*$l_display;
else
$t_layar[$i]=(($titik[$i]-$b_atas)/$dy)*$t_display;
}
imagepolygon($wilayah,$t_layar,5,$merah);
//menggambar ikon dari database
include "gathuk.php";
$skiel="select x,y,ukuran from obyek";
$jupuk=mysql_query($skiel);
while($larik=mysql_fetch_array($jupuk))
{
$xx=$larik[x];
$yy=$larik[y];
$ukur=$larik[ukuran];
//mengubah ukuran ikon
if($ukur>300)

$besar=60;
else if($ukur>200)
$besar=40;
else if($ukur>100)
$besar=20;
else
$besar=5;
imagefilledrectangle($wilayah,$xx,$yy,$xx+$besar,$yy+$besar,$biru);
}
imageJPEG($wilayah)
?>

-------------- wis yooo____mugo2 kasil ____________________________

Anda mungkin juga menyukai