materi gis akakom yogyakarta

13
STMIK AKAKOM Pemrograman Sistem Informasi Geografi berbasis WEB oleh M Guntara Hal 1 PHP for grafis Kegiatan Mengerjakan dikelas tugas rumah sbb a. Terdapat titik kota Yogya terletak di (dalam SKG) 110.50 BT dam 7.00 LSTentukan koordinat di layar bila resolusi 400x300, Bila batas kiri=100 BT , batas kanan =111 BT, Batas atas =6 LS , batas bawah =8 LS b. T erdapat titik P di layar dengan koordinat (100,150).Berapa koordinat globalnya ? Bila batas dan resolusi seperti diatas Menjelaskan materi transformasi koordinat global ke layat dsbl. Mendemokan contog grafis di PHP materi Scipt PHP untuk grafis <? header("Content-Type:image/jpeg"); identifikasi tipe grafis $cendelo=imagecreate(800,600); membuat jendela untuk grafis dengan ukuran 800x600 pixel (dapat datur tersendiri) imagecoloralocate($cendelo,0,0,225);membuat warna latar belakang (dapat diatur tersendiri) $w=imagecoloralocate($g,255,0,0); membuat warna obyek grafis ……… ….. bentuk geometri/obyek ditulis disini …… imageJPEG($cendelo); menampilkan obyek ke monitor ?> Geometri Dasar dengan PHP Pengaturan warna id_warna=imagecolorallocate(id_grafis,R,G,B); R Red : 0 255

Upload: information-and-technology

Post on 23-Jul-2015

60 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Materi GIS AKAKOM Yogyakarta

STMIK AKAKOM

Pemrograman Sistem Informasi Geografi – berbasis WEB oleh M Guntara Hal 1

PHP for grafis

Kegiatan

Mengerjakan dikelas tugas rumah sbb

a. Terdapat titik kota Yogya terletak di (dalam SKG) 110.50 BT dam 7.00 LSTentukan koordinat di layar bila resolusi 400x300, Bila batas kiri=100 BT , batas kanan =111 BT, Batas atas =6 LS , batas bawah =8 LS

b. T erdapat titik P di layar dengan koordinat (100,150).Berapa koordinat globalnya ? Bila batas dan resolusi seperti diatas

Menjelaskan materi transformasi koordinat global ke layat dsbl.

Mendemokan contog grafis di PHP

materi

Scipt PHP untuk grafis

<?

header("Content-Type:image/jpeg"); identifikasi tipe grafis

$cendelo=imagecreate(800,600); membuat jendela untuk grafis dengan

ukuran 800x600 pixel (dapat datur

tersendiri)

imagecoloralocate($cendelo,0,0,225);membuat warna latar belakang

(dapat diatur tersendiri)

$w=imagecoloralocate($g,255,0,0); membuat warna obyek grafis

………

….. bentuk geometri/obyek ditulis disini

……

imageJPEG($cendelo); menampilkan obyek ke monitor

?>

Geometri Dasar dengan PHP

Pengaturan warna

id_warna=imagecolorallocate(id_grafis,R,G,B);

R Red : 0 – 255

Page 2: Materi GIS AKAKOM Yogyakarta

STMIK AKAKOM

Pemrograman Sistem Informasi Geografi – berbasis WEB oleh M Guntara Hal 2

G Green : 0 – 255

B Blue : 0 – 255

Garis

imageline(id_grafis,xo,yo,x1,y1,id_warna);

xo,yo : koordinat awal garis

x1,y1 : koordinat akhir garis

Kotak

imagerectangle(id_grafis,x,y,lebar,tinggi,id_warna);

imagefilledrectangle(id_grafis,x,y,lebar,tinggi,id_warna);

imagefilledrectangle(id_grafis,x,y,lebar,tinggi,id_warna);

Lingkarang / Ellipse

imageellipse(id_grafis,x,y,lebar,tinggi,id_warna);

imagefilledellipse(id_grafis,x,y,lebar,tinggi,id_warna); di blok

x,y

lebar

tinggi

x,y

lebar

tinggi

Id_warna

(warna blok)

Id_warna

(warna garis)

Page 3: Materi GIS AKAKOM Yogyakarta

STMIK AKAKOM

Pemrograman Sistem Informasi Geografi – berbasis WEB oleh M Guntara Hal 3

Lingkaran / Ellipse

imagearc(id_grafis,x,y,lebar,tinggi,sudut_awal,sudut_akhir,id_warna);

Poligon

$var=array(x0,y0,x1,y1,x2,y2,……)

Atau

$var[0]=x0

$var[1]=y0

$var[2]=x1

$var[3]=y1

……

imagepolygon(id_grafis,$var,jumlah_titik,id_warna);

imagefilledpolygon(id_grafis,$var,jumlah_titik,id_warna); dg blok

lebar

tinggi

(x,y) : titik pusat

lebar

tinggi

(x,y) : titik pusat

Sudut_awal(derajat)

Sudut_akhir(derajat)

Sudut 0 (nol) derajat

X0,y0

X1,y1

X2,y2 X3,y3

X4,y4

Page 4: Materi GIS AKAKOM Yogyakarta

STMIK AKAKOM

Pemrograman Sistem Informasi Geografi – berbasis WEB oleh M Guntara Hal 4

dari contoh poligon ini jumlah_titik=5

-----------------------mpun nggih---------------------

Program Database untuk SIG –(sederhana)

Database

Database : gis2011

Tabel : obyek

Tabel : kabupaten

Tabel : obyek

Script menampilkan obyek statis (ukuran/warna tidak berubah)

Sambung.php

<?php

mysql_connect(localhost,'root','root');

mysql_select_db(gis2011);

?>

Obyek .php

Page 5: Materi GIS AKAKOM Yogyakarta

STMIK AKAKOM

Pemrograman Sistem Informasi Geografi – berbasis WEB oleh M Guntara Hal 5

<?php

<?php

include "sambung.php";

$iki=mysql_query("select x,y from obyek");

$i=1;

while($iki1=mysql_fetch_array($iki))

{

$x_global[$i]=$iki1[x];

$y_global[$i]=$iki1[y];

$i++;

}

$jum_obyek=$i-1;

//-----------------transformasi ke koordinat layar

//batas koordinat global

$bkiri_global=106;$bkanan_global=110;

$batas_global=7;$bbawah_global=8;

//resolusi atau batas layar

$xmax=800;

$ymax=600;

$dx_global=$bkanan_global-$bkiri_global;

$dy_global=$bbawah_global-$batas_global;

//proses transformasi ke kordinat layar

for($k=1;$k<=$jum_obyek;$k++)

{

$x_layar[$k]=($x_global[$k]-$bkiri_global)/$dx_global*$xmax;

$y_layar[$k]=($y_global[$k]-$batas_global)/$dy_global*$ymax;

}

header("Content-Type:image/jpeg");

$wilayah=imagecreate(600,400);

$latar=imagecolorallocate($wilayah,100,100,100);

$merah=imagecolorallocate($wilayah,255,0,0);

for($k=1;$k<=$jum_obyek;$k++)

{

imagefilledrectangle($wilayah,$x_layar[$k]-20,$y_layar[$k]-20,

$x_layar[$k]+20,$y_layar[$k]+20,$merah);

}

imagejpeg($wilayah);

?>

Output

Page 6: Materi GIS AKAKOM Yogyakarta

STMIK AKAKOM

Pemrograman Sistem Informasi Geografi – berbasis WEB oleh M Guntara Hal 6

Script menampilkan obyek DINAMIS(ukuran berubah sesuai data)

Script diatas ditambahkan sbb

<?php include "sambung.php"; $iki=mysql_query("select x,y ,luas from obyek"); $i=1; while($iki1=mysql_fetch_array($iki)) { $x_global[$i]=$iki1[x]; $y_global[$i]=$iki1[y]; $ombo[$i]=$iki1[luas]; $i++; } $jum_obyek=$i-1; //-----------------transformasi ke koordinat layar //batas koordinat global $bkiri_global=106;$bkanan_global=110; $batas_global=7;$bbawah_global=8; //resolusi atau batas layar $xmax=800; $ymax=600; $dx_global=$bkanan_global-$bkiri_global; $dy_global=$bbawah_global-$batas_global;

Page 7: Materi GIS AKAKOM Yogyakarta

STMIK AKAKOM

Pemrograman Sistem Informasi Geografi – berbasis WEB oleh M Guntara Hal 7

//proses transformasi ke kordinat layar for($k=1;$k<=$jum_obyek;$k++) { $x_layar[$k]=($x_global[$k]-$bkiri_global)/$dx_global*$xmax; $y_layar[$k]=($y_global[$k]-$batas_global)/$dy_global*$ymax; } header("Content-Type:image/jpeg"); $wilayah=imagecreate(600,400); $latar=imagecolorallocate($wilayah,100,100,100); $merah=imagecolorallocate($wilayah,255,0,0); for($k=1;$k<=$jum_obyek;$k++) { //menentukan ukuran atas dasar luas obyek if($ombo[$k]>75) $ls=30; else $ls=15; imagefilledrectangle($wilayah,$x_layar[$k]-$ls,$y_layar[$k]-$ls, $x_layar[$k]+$ls,$y_layar[$k]+$ls,$merah); } imagejpeg($wilayah) ?>

Output

-------------------------------

Page 8: Materi GIS AKAKOM Yogyakarta

STMIK AKAKOM

Pemrograman Sistem Informasi Geografi – berbasis WEB oleh M Guntara Hal 8

Batas Wilayah & warna blok

Database untuk obyek dan batas wilayah

Database : gis2011

Tabel : obyek

Tabel : batas

Tabel : kabupaten

Tabel : obyek

Script menampilkan batas wilayah dan nama kabupaten

Sambung.php

<?php

mysql_connect(localhost,'root','root');

mysql_select_db(gis2011);

?>

Page 9: Materi GIS AKAKOM Yogyakarta

STMIK AKAKOM

Pemrograman Sistem Informasi Geografi – berbasis WEB oleh M Guntara Hal 9

Wilayah.php

<?php

//mencipakan daerah grafis

header("Content-Type:image/jpeg");

$wilayah=imagecreate(600,400);

$latar=imagecolorallocate($wilayah,200,200,200); //warna latar

$merah=imagecolorallocate($wilayah,255,0,0); //warna merah

$kuning=imagecolorallocate($wilayah,255,255,0); //warna kuning

$biru=imagecolorallocate($wilayah,0,0,255); //warna kuning

//batas koordinat global-- bisa dibuat auto dengan mix max dari tabel

$bKiri_global=104;$bKanan_global=110;

$bAtas_global=7;$bBawah_global=8.5;

//resolusi atau batas layar

$xmax=800;

$ymax=600;

//hitung lebar dan tinggi peta global

$dx_global=$bKanan_global-$bKiri_global;

$dy_global=$bBawah_global-$bAtas_global;

//script untuk mengambil data kabupaten

include "sambung.php";

$kab=mysql_query("select kodekab,jum_penduduk from kabupaten");

while($kab_1=mysql_fetch_array($kab))

{

$kokab=$kab_1[kodekab];

$jumpen=$kab_1[jum_penduduk];

//ambil batas per kode kabupatehn

$i=0;

$batas=mysql_query("select x,y from batas where kodekab='$kokab'");

while ($batas_1=mysql_fetch_array($batas))

{

$x_global=$batas_1[x];

$y_global=$batas_1[y];

//transformasi ke koordinat layar

$x_lyr[$i]=($x_global-$bKiri_global)/$dx_global*$xmax;

$y_lyr[$i]=($y_global-$bAtas_global)/$dy_global*$ymax;

$i++;

}

$jum_data=$i*2;

//transformasi koordinat layar (array) ke array untuk polygon

$t=0;

for($k=0;$k<$jum_data;$k++)

Page 10: Materi GIS AKAKOM Yogyakarta

STMIK AKAKOM

Pemrograman Sistem Informasi Geografi – berbasis WEB oleh M Guntara Hal 10

{

if($k%2==0)

$titik[$k]=$x_lyr[$t];

else

{

$titik[$k]=$y_lyr[$t];

$t++;

}

}

$jumlah_titik=$t;

//pembedaan blok atas dasar jumlah penduduka

if($jumpen>5)

$warna=$merah;

else

$warna=$kuning;

//membuat x dan y rata2 agar nama kabupatan ada di tengah

$xx0;$yy=0;

for($n=0;$n<=$jumlah_titik;$n++)

{

$xx+=$x_lyr[$n];

$yy+=$y_lyr[$n];

}

//gambar poligon

$x_tulis=$xx/$jumlah_titik;

$y_tulis=$yy/$jumlah_titik;

imagefilledpolygon($wilayah,$titik,$jumlah_titik,$warna);

}//end while

imagejpeg($wilayah);

?>

Output

Page 11: Materi GIS AKAKOM Yogyakarta

STMIK AKAKOM

Pemrograman Sistem Informasi Geografi – berbasis WEB oleh M Guntara Hal 11

Script menampilkan TEKS pada didalam wilayah

Wilayah.php

……… sama dengan sebelumnya

$kab=mysql_query("select kodekab,namakab,jum_penduduk from kabupaten");

while($kab_1=mysql_fetch_array($kab))

{

$kokab=$kab_1[kodekab];

$nakab=$kab_1[namakab]; $jumpen=$kab_1[jum_penduduk];

//ambil batas per kode kabupatehn

$i=0;

$batas=mysql_query("select x,y from batas where kodekab='$kokab'");

while ($batas_1=mysql_fetch_array($batas))

{

$x_global=$batas_1[x];

$y_global=$batas_1[y];

//transformasi ke koordinat layar

$x_lyr[$i]=($x_global-$bKiri_global)/$dx_global*$xmax;

$y_lyr[$i]=($y_global-$bAtas_global)/$dy_global*$ymax;

$i++;

}

$jum_data=$i*2;

Page 12: Materi GIS AKAKOM Yogyakarta

STMIK AKAKOM

Pemrograman Sistem Informasi Geografi – berbasis WEB oleh M Guntara Hal 12

//transformasi koordinat layar (array) ke array untuk polygon

$t=0;

for($k=0;$k<$jum_data;$k++)

{

if($k%2==0)

$titik[$k]=$x_lyr[$t];

else

{

$titik[$k]=$y_lyr[$t];

$t++;

}

}

$jumlah_titik=$t;

if($jumpen>5)

$warna=$merah;

else

$warna=$kuning;

//gambar poligon

imagefilledpolygon($wilayah,$titik,$jumlah_titik,$warna);

//membuat x dan y rata2 agar nama kabupatan ada di tengah

$xx0;$yy=0;

for($n=0;$n<=$jumlah_titik;$n++)

{

$xx+=$x_lyr[$n];

$yy+=$y_lyr[$n];

}

$x_tulis=$xx/$jumlah_titik;

$y_tulis=$yy/$jumlah_titik;

imagestring($wilayah,5,$x_tulis,$y_tulis,$nakab ,$biru);

}

imagejpeg($wilayah);

?>

Output

Page 13: Materi GIS AKAKOM Yogyakarta

STMIK AKAKOM

Pemrograman Sistem Informasi Geografi – berbasis WEB oleh M Guntara Hal 13

SIG Lengkap Untuk membentuk SIG lengkap maka wilayah.php dan obyek.php digabungkan , sehingga akan menghasilkan

output wilayah dan obyek2-nya

---------------------- wis semene wae yo mugo kasembadan panjangkamu -----------------------