Bab IV PERANCANGAN IV.1 Arahan Perancangan Pada perancangan sistem pengeditan data geografi ini terdapat beberapa hal mengenai arahan perancangan: 1. Dewasa
ini
pembuatan
perangkat
lunak
dapat
memakai
komponen/pustaka/kode-kode yang sifatnya open source. Pada analisa dijelaskan kebutuhan-kebutuhan yang diperlukan untuk membangun layanan ini antara lain : a. Kode-kode yang sifatnya generik/umum yang dapat menangani seluruh struktur data yang digunakan untuk merepresentasikan data geografi. b. Kode-kode yang digunakan untuk melakukan pembacaan dan penulisan ke suatu datastore. Untuk kebutuhan yang pertama terdapat pustaka–pustaka yang telah menyediakan struktur data generik sehingga dapat digunakan yaitu : a. GEOS (Geometry Engine Open Source) b. JTS (Java Topology Suite) GEOS dan JTS merupakan hal yang sama yaitu suatu pustaka yang digunakan untuk pengenerikan suatu tipe data geometri disertai dengan operasi-operasi pada tipe data geometri tersebut, bedanya adalah geos menggunakan C++ sehingga dapat digunakan dalam bentuk dll (dynamic-link library), dan jts menggunakan bahasa java sehingga dapat digunakan dalam bentuk jar (java archive). Struktur data untuk penangan data geometri dalam jts sudah sesuai dengan hasil olah pikir pada bagian analisa kebutuhan perangkat lunak. Untuk kebutuhan kedua selain membuat dari awal juga dapat digunakan pustakapustaka open source. Di internet terdapat pustaka/kode-kode yang dapat digunakan untuk mengakses (membaca dan kadangkala menulis) ke datastore tersebut antara lain yaitu :
45
a. pustaka ogr (http://www.gdal.org/ogr/) adalah pustaka open source features sederhana yang ditulis menggunakan bahasa C++ yang menyediakan akses (pembacaan) untuk berbagai macam format data termasuk ESRI Shapefile, S-57, Postgre/postgis, oracle dan mapinfo. b. geotools (http://geotools.codehaus.org/)
adalah pustaka open
source yang ditulis menggunakan bahasa java dan menyediakan kodekode yang digunakan untuk membaca dan menulis ke berbagai macam format data. Di dalam pustaka geotools terdapat kode-kode yang digunakan untuk menangani berbagai macam format datastore geografi yaitu : shapefile (Esri inc), mapInfo (mapinfo.com), postgre /postgis, mysql spatial, oracle spatial, db2, geomedia, arcgrid, geotiff, hsql, dan tiger. Oleh karena tesis ini direncanakan menggunakan bahasa java maka dipilihlah JTS sebagai pustaka yang menyediakan struktur data generik untuk data geometri dan geotools sebagai pustaka yang digunakan dalam melakukan pembacaan dan penulisan ke suatu datastore. Setelah diteliti ternyata pustaka geotools juga menggunakan struktur data generik dari pustaka jts. Hasil studi dapat dilihat di Lampiran D. 2. Modul nodemap menggunakan bahasa berorientasi obyek, sedangkan untuk modul mapedit selain menggunakan bahasa berorientasi obyek, juga menggunakan bahasa berorientasi prototype (javaScript) untuk menangani pemrosesan dokumen xml dan tampilan peta. 3. Pada pustaka geotools, selain digunakan untuk pembacaan dan penulisan dengan berbagai macam format juga terdapat kode-kode program yang digunakan dalam modul nodemap selanjutnya. Kode-kode yang digunakan adalah : a. Kode penggambaran peta dengan menggunakan style pilihan (org.geotools.styling) dan skala/spatial reference system (srs) tertentu (org.geotools.renderer) yaitu kelas StreamingReader dan Image Worker. b. Kode-kode untuk pemrosesan GML/XML termasuk namespace, sax parser yaitu kelas-kelas dalam org.geotools.xml/org.geotools.gml seperti GMLFilterGeometry.
46
4. Modul mapedit dirancang menggunakan script/kode/template dari kode terbuka mapbuilder.org, tetapi dilakukan banyak modifikasi terutama automatisasi management layer, yang sebelumnya masih manual. 5. Modul nodemap dikembangkan dari kode terbuka geoserver. Pada opensource geoserver terdapat kode-kode sederhana yang dapat digunakan untuk memakai pustaka geotools.
IV.2 Keterhubungan antara kedua modul
Hubungan antara modul nodemap dan modul mapedit, seperti hubungan antara manajer tampilan (mapedit) dengan penyedia data tampilan (nodemap). Untuk lebih jelasnya dapat dijabarkan sebagai berikut:
a. Untuk memperoleh peta yang diinginkan, modul mapedit mengirimkan parameter-parameter, seperti nama layer, koordinat batas dan jenis image, dari parameter-parameter tersebut diolah oleh modul nodemap kemudian dihasilkannya sebuah gambar peta yang akan disusun/ditampilkan oleh modul mapedit. Contoh dari parameter yang dapat diberikan adalah : http://167.205.35.115:3333/nodemap/wms?bbox=106.43066,-7.75382520,108.92,6.0253248&styles=&Format=application/openlayers&request=GetMap& layers=topp:mysql_jabar_danau&width=800&height=521&srs=EPSG:4326
keterangan : http://167.205.35.115:3333/nodemap/wms
:alamat datastore
bbox
:bounding box adalah koordinat batas
Format=application/openlayers
:format peta yang diinginkan
(png/jpeg/open layers) GetMap
: jenis permintaan
layers=topp:mysql_jabar_danau
:layer yang hendak ditampilkan
width=800&height=521
:lebar dan panjang
srs=EPSG:4326
:spatial reference system (sistem koordinat)
47
b. Untuk dapat melakukan pengeditan, pengguna layanan dapat memilih tombol (insert/edit point/line/polygon) yang ditangani oleh modul mapedit, kemudian oleh modul mapedit tersebut dikirimlah parameter-parameter (gml) yang kemudian akan diproses oleh modul nodemap untuk dilakukan pengubahan di datastore asal. Contoh dari parameter untuk pemilihan info dari suatu kenampakan di peta adalah : http://167.205.35.115:3333/nodemap/wfs?SERVICE=WFS&VERSION=1.0 .0&REQUEST=GetFeature&TYPENAME=topp:mysql_jabar_danau &BBOX=106.590643, -6.16911, 106.594939, -6.164815 keterangan : http://167.205.35.115:3333/nodemap/wfs
:alamat dari datastore
REQUEST=GetFeature
:jenis permintaan
TYPENAME=topp:mysql_jabar_danau
:layer datastore
BBOX=106.590643,...
:koordinat dari kenampakan yang infonya ingin diketahui
Contoh dari parameter untuk dapat melakukan management feature adalah <wfs:Transaction><wfs:Update typeName="topp:pg_jabar_bts">
<wfs:Property> <wfs:Name>topp:KETERANGAN <wfs:Value>testUpdate<wfs:Property><wfs:N ame>topp:the_geom<wfs:Value>
106.0172,6.81407273
Keterangan : <wfs:Update>
: jenis transaksi update
typeName="topp:pg_jabar_bts"
: nama layer
fid="pg_jabar_bts.47"
: feature identifier (yaitu identitas dari suatu
kenampakan)
: koordinat titik kenampakan
48
IV.3 Modul Mapedit Pada perancangan modul mapedit dijabarkan menjadi perancangan kelas, perancangan file xml yang digunakan, perancangan obyek javascript dan perancangan antar muka modul. IV.3.1 Perancangan Kelas
Untuk mengatur tampilan peta yang diinginkan, maka pada modul mapedit ini terdapat kasus guna memanajemen layer konfigurasi. Dalam memanajemen layer konfigurasi ini terdapat kelas – kelas perancangan yang dibutuhkan yaitu :
a.
AddLayerAction,
digunakan
untuk
menangani
permintaan
management config layer ini. b. XMLConfigWriter, digunakan untuk melakukan penulisan ke file config xml.
IV.3.2 Perancangan File xml dan xsl
Pada modul mapedit ini terdapat 6 buah file xml utama yaitu :
a. File config xml berfungsi untuk pengaturan layer pengeditan dan pengaturan pilihan – pilihan (button). Bentuknya dapat dilihat pada Gambar IV-2. XMLConfigWriter +indent: String +lineSeparator: String +setLineSeparator(String lineSeparator) +serialize(Document Doc, Output out) +serializeNode(Node node, Writer write, String indentLevel)
serializerDOM AddLayerAction +ActionForwardExecuted(ActionMapping act, ActionForm form, HttpServletRequest req, HttpServletResponse res)
Gambar IV-1 Diagram kelas Perancangan kasus guna Memanajemen Layer Konfigurasi
49
<MapbuilderConfig > <defaultModelUrl>lokasi.xml namalayer <widgets> <EditPoint id="editPoint"> mainButtonBar featureCollection mainMap RadioButton <enabledSrc>/images/EditPointEnable.png /images/EditPointDisable.png transaction /gml:featureMember/topp:pg_tasmania_cities/ topp:the_geom/gml:MultiPoint/gml:pointMember/gml:Point/gml:coordinates <defaultModelUrl>template_point.xml
Gambar IV-2 Contoh perancangan file config untuk modul mapedit
b. File lokasi xml , digunakan untuk menyimpan url permintaan peta yang nantinya akan ditampilkan. Bentuk dari file lokasi xml dapat dilihat pada Gambar IV-3. c. File template_point xml, digunakan untuk cetakan atribut yang digunakan untuk melakukan pengeditan titik, bentuknya dapat dilihat pada Gambar IV-4. d. File template_line xml, digunakan untuk
cetakan atribut yang
digunakan untuk melakukan pengeditan garis, bentuknya dapat dilihat pada Gambar IV-5. e. File template_polygon xml, digunakan untuk cetakan atribut yang digunakan untuk melakukan pengeditan luasan, bentuknya dapat dilihat pada Gambar IV-6. f. file- file transaksi (xsl), digunakan untuk menampilkan template xml file tersebut ke bentuk tampilan html, sehingga dapat ditampilkan di browser modul mapedit. bentuknya dapat dilihat pada Gambar IV-7.
50
<Window height="325" width="550"> <Server service="OGC:WMS" title="Local" version="1.1.1"> namalayer <SRS>EPSG:4326 formatfile
Gambar IV-3 Contoh perancangan file lokasi untuk modul mapedit masukan atribut
Gambar IV-4 Contoh perancangan file template point untuk modul mapedit
masukan atribut
Gambar IV-5 Contoh perancangan file template line untuk modul mapedit
51
Gambar IV-6 Contoh perancangan file template poligon untuk modul mapedit
<xsl:stylesheet xmlns:wfs="http://www.opengis.net/wfs" xmlns:gml="http://www.opengis.net/gml" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="xml" omit-xml-declaration="no" encoding="utf-8" indent="yes"/> <xsl:template match="/"> <wfs:Transaction service="WFS" version="1.0.0"> <wfs:NamaTransaksi> <xsl:apply-templates/> <xsl:template match="gml:featureMember"> <xsl:for-each select="./*"> <xsl:copy-of select="."/> <xsl:template match="text()|@*"/> Gambar IV-7 stylesheet untuk management feature
Untuk dapat menunjang keterangan mengenai data atribut, maka diperlukan data pendukung mengenai keterangan layer yang disimpan dalam sebuah tabel. Skema tabelnya adalah : a. nama layer b. asal layer c. keterangan atribut d. jenis kenampakan (point, polyline, polygon). e. Koordinat batas.
52
IV.3.3 Perancangan Prototype Script JavaScript Tabel IV-1 dapat menunjukan obyek-obyek prototype script pada javascript.
Tabel IV-1 Obyek Perancangan Prototype JavaScript
No 1 2
Obyek Perancangan Config Listener
3
ModelBase
4 5 6 7
ButtonBase ZoomIn ZoomOut AddOverviewMap
8 9
Pan InsertFeature
10
Context
11 12 13
EditPoint EditLine EditPolygon
14
FeatureList
15
GetFeatureInfo
Keterangan Digunakan untuk membaca file – file xml config Digunakan untuk pendaftaran script yang digunakan untuk penanganan suatu event/kejadian (onclick, ondrag, onkeypresses). Digunakan untuk mengirimkan pesan – pesan yang nantinya akan diolah oleh modul nodemap, selain mengirimkan juga digunakan untuk menangkap tanggapan dari modul nodemap. Digunakan untuk penanganan tombol-tombol menu. Digunakan untuk melakukan perbesaran peta. Digunakan untuk melakukan perkecilan peta. Digunakan untuk menata tampilan (img src ) di halaman html. Digunakan untuk melakukan pergeseran peta. Digunakan untuk menangani pemilihan pemasukan kenampakan di peta. Digunakan untuk mengatasi tampilan pada jendela utama tampilan (width, height). Digunakan untuk mengatasi transaksi pengeditan Point. Digunakan untuk mengatasi transaksi pengeditan line. Digunakan untuk mengatasi transaksi pengeditan Polygon. Digunakan untuk menampilkan hasil jika meminta info pada suatu kenampakan di peta. Digunakan untuk mengatasi permintaan info pada suatu kenampakan.
IV.3.4 Perancangan Antar Muka modul Mapedit Terdapat dua antar muka pada modul mapedit, yaitu a. Perancangan konfigurasi layer, dikarenakan adanya batasan pada perancangan layer-layer yang dapat muncul sehingga diperlukan adanya pemasukan dengan parameter-parameter yang diperlukan yaitu : 1. Alamat Layer Point 2. Nama Layer Point 3. Alamat Layer Line 4. Nama Layer Line 5. Alamat Layer Polygon
53
6. Nama Layer Polygon 7. Pilihan layer yang akan di lakukan penambahan (insert) 8. Pilihan layer yang akan dilakukan pengubahan (update, delete)
Gambar IV-8 Perancangan antar muka manajemen layer
b. Perancangan tampilan utama
Gambar IV-9 Perancangan antar muka tampilan utama
Pada Gambar IV-9 terdapat hal-hal yang perlu dijabarkan yaitu : 1. Tombol Pilihan Pengeditan dan Navigasi, digunakan untuk memilih jenis interaksi yang ada pada modul mapedit ini, jenis interaksi yang terdapat pada mudul nodemap adalah ZoomIn
(perbesaran peta), Zoomout
(pengecilan peta), Pergeseran (Pan), Edit Point/Line/Polygon, dan Save/Delete. 2. Peta skala kecil, digunakan untuk melakukan pergeseran untuk daerah yang cakupannya lebih besar. 3. CheckList Layer, digunakan untuk kenampakan sebuah layer.
54
4. Keterangan
Kenampakan
digunakan
untuk
mengetahui
informasi
kenampakan pada suatu peta. 5. Status Layer, digunakan untuk memelihara hubungan dengan modul nodemap (memantau sumber data).
IV.4 Modul Nodemap Pada perancangan modul nodemap dijabarkan mengenai perancangan file xml yang dibutuhkan, diagram kelas perancangan detail untuk mendukung spesifikasi layanan dan perancangan antar muka aplikasi. IV.4.1 Perancangan File Config xml yang diperlukan Pada tahap perancangan ini diperlukan adanya file konfigurasi xml yang dibutuhkan, file konfigurasi xml ini diperlukan untuk informasi mengenai data yang terdapat pada aplikasi nodemap. Data yang diperlukan adalah : a. Data mengenai cara pengaksesan , pertama dengan lokasi penyimpanan (jika file system) , kedua dengan data mengenai konfigurasi pengaksesan (jika database spasial), sehingga dapat dirancang isi file xml yang diperlukan sebagai berikut (Gambar IV-10) :
<parameter name = "charset" value = "ISO-8859-1" /> <parameter name = "url" value = "file:data/jabar/jabar_danau.shp" /> <parameter name = "namespace" value = "topp" /> <parameter name = "port" value = "5432" /> <parameter name = "schema" value = "public" /> <parameter name = "passwd" value = "semangat" /> <parameter name = "dbtype" value = "postgis" /> <parameter name = "host" value = "localhost" /> <parameter name = "user" value = "tesis" /> <parameter name = "database" value = "tesisgis" /> <parameter name = "namespace" value = "topp" />
Gambar IV-10 File katalog datastore
55
b. Data mengenai informasi dari kenampakan seperti koordinat batas penggambaran, spatial reference system (srs) dan nama kenampakan, sehingga bentuk rancangan file xml dapat dilihat pada Gambar IV-11.
nama_layer <SRS>4326
Gambar IV-11 informasi datastore
IV.4.2 Perancangan Diagram Kelas Pada perancangan kelas agar lebih mudah dalam pembacaan dibagi menjadi dua yaitu : 1. Kelas perancangan untuk penanganan data (kasus guna membuka data konfigurasi, mengonfigurasi datastore, mengonfigurasi kenampakan dan menyimpan ke data konfigurasi). 2. Kelas perancangan untuk penangan kasus guna mendapatkan peta dan menavigasi, mendapatkan informasi kenampakan dan memanajemen kenampakan. IV.4.2.1 Kelas perancangan penanganan data
Kelas perancangan yang digunakan untuk penanganan data dapat ditunjukan pada Gambar IV-12, dan keterangan detail mengenai fungsinya dapat ditunjukan pada Tabel IV-2.
Tabel IV-2 Tabel Kelas Perancangan untuk Loading Datastore
No 1
Config
Nama Kelas
2
XMLConfigReader
3
DataTO
Fungsi Digunakan untuk memicu obyek XMLConfigReader dalam melakukan pembacaaan file xml konfigurasi. Digunakan untuk membaca file xml konfigurasi Digunakan untuk tempat penyimpanan datadata sementara yang nantinya akan dipakai
56
4
Data
5
DataStoreInfo
6
FeatureTypeInfo
7
DataStoresNewAction
8
DataStoresEditorAction
9
DataFeatureTypesNewAction
10
DataFeatureTypesSelectAction
11
UpdateNodeMapAction
12
UserContainer
13
SaveXMLAction
14
XMLConfigWriter
oleh modul mapedit. Digunakan untuk menyimpan data-data mengenai modul nodemap. Merupakan kelas yang digunakan untuk menyimpan properti datastore modul nodemap. Merupakan kelas yang digunakan untuk menyimpan properti dari suatu kenampakan. Merupakan kelas aksi yang digunakan untuk menangani permintaan tentang pembuatan sebuah datastore baru. Merupakan kelas aksi yang digunakan untuk menangani permintaan tentang pengubahan suatu konfigurasi datastore. Merupakan kelas aksi yang digunakan untuk menangani pembuatan suatu kenampakan (feature) peta yang nanti akan dihasilkan. Merupakan kelas aksi yang digunakan untuk menangani pengubahan feature peta yang akan dihasilkan. Merupakan kelas aksi ang digunakan untuk menangani pengubahan datastore dan feature. Merupakan kelas penampung sementara hasil pengubahan dalam modul nodemap. Merupakan kelas aksi yang digunakan untuk menangani permintaan penyimpan ke file konfigurasi xml. Merupakan kelas yang digunakan untuk melakukan penulisan ke file konfigurasi xml.
Tabel IV-3 Tabel Kelas Perancangan umum
No 1
Nama Kelas ServiceDispatcher
2
AbstractService
3
Response
4
Request
5
RequestReader
6
WFService
7
WMService
8
GMLFilterGeometry
9
SAXParser
Fungsi Merupakan kelas servlet ang digunakan untuk pencarian service yang sesuai (getMap, FeatureInfo dan Transaction) Merupakan kelas abstract yang membungkus metode – metode dalam service. Merupakan abstract kelas yang bertanggungjawab memberikan tanggapan dari permintaan. Merupakan abstract kelas bean yang membungkus properti dari parameter-parameter. Merupakan abstract kelas yang digunakan untuk membaca permintaan dari service. Merupakan kelas turunan dari AbstractService yang nantinya akan berfungsi untuk penanganan layanan info feature dan transaksi feature. Merupakan kelas turunan dari AbstractService yang nantinya akan berfungsi untuk penanganan layanan mendapatkan peta. Merupakan kelas (geotools) yang digunakan untuk membantu dalam membaca permintaan Merupakan kelas parser xml yang digunakan untuk membaca permintaan (FeatureInfo dan Trasaction)
57
IV.4.2.2 Kelas
Perancangan
Mendapatkan
Mendapatkan
Informasi
Peta
Kenampakan
dan
dan
Menavigasi, Memanajemen
Kenampakan Kelas perancangan umum (Gambar IV-13, Tabel IV-3) adalah kelas-kelas yang digunakan untuk penanganan kasus guna mendapatkan peta dan menavigasi, mendapatkan informasi kenampakan dan memanajemen kenampakan. Keterangan mengenai penjabaran kelas perancangan dapat dilihat dari tabel dan diagram kelas yaitu : 1. Mendapatkan peta dan menavigasi (Gambar IV-14, Tabel IV-4) 2. Mendapatkan informasi kenampakan (Gambar IV-15, Tabel IV-5) 3. Memanajemen kenampakan (Gambar IV-16, Tabel IV-6) XMLConfigReader
Config
reader
+XMLConfigReader reader
+XMLConfigReader(File rootFile, ServletContext context) +loadConfig() +loadCatalog(File catalogFile)
+setApplicationContext(ApplicationContext context)
data DataTO
DataStoreInfo
DataStoresNewAction
+dataStores: Map +featuresTypes: Map
+connectionParams: Map +baseDir: File +baseURL: URL
DataStoresEditorAction
UserContainer
+synchronized DataStore getDataStore()
DataFeatureTypesNewAction
config DataFeatureTypesSelectAction
FeatureTypeInfo data
+dataStoreId: String +latLongBBox: Envelope
config
SaveXMLAction UpdateNodeMapAction
+FeatureSource getFeatureSource() +GeometryAttributeType getDefaultGeometry() data
XMLConfigWriter Data +featuresTypes(): Map +dataStores: Map
+XMLConfigWriter.store(DataTO)
+load(DataTO config) +loadDataStores(DataTO dto) +loadFeatureTypes(DataTO dto)
Gambar IV-12 Diagram kelas perancangan untuk penanganan datastore
Tabel IV-4 Kelas Kasus guna Mendapatkan peta dan Menavigasi
No 1
Nama Kelas Perancangan GetMap
2
GetMapReader
3
GetMapRequest
Fungsi Merupakan kelas yang digunakan penanganan layanan permintaan Peta. Merupakan kelas yang digunakan untuk membaca perameter GetMapRequest Merupakan kelas yang digunakan untuk
58
No
Nama Kelas Perancangan
4
GetMapResponse
5
GetMapProducer
6
RasterMapProducer
7
DefaultMapProducer
8
StreamingReader
9
PNGMapProducer
10
ImageWorker
Fungsi menyimpan properti-properti yang nantinya digunakan dalam pembuatan peta. Merupakan kelas yang digunakan untuk menuliskan tanggapan. Merupakan interface kerangka dalam menghasilkan gambar. Merupakan interface turunan GetMapProducer yang digunakan dalam pengesetan format keluaran Merupakan abstract kelas yang digunakan untuk mengeksekusi gambar Merupakan kelas yang digunakan untuk merender peta sesuai dengan parameter masukan. Merupakan kelas khusus untuk penanganan format PNG. Merupakan kelas yang digunakan untuk menulis stream ke gambar/peta.
Data
ServiceDispatcher +find(String service, String request) +dispatch(HttpServletRequest httpRequest, HttpServletResponse httpResponse) +post(HttpServletRequest httpRequest, HttpServletResponse httpResponse)
+featuresTypes(): Map +dataStores: Map +load(DataTO config) +loadDataStores(DataTO dto) +loadFeatureTypes(DataTO dto)
AbstractService +doGet(HttpServletRequest request, HttpServletResponse response) +doService(HttpServletRequest request, HttpServletResponse response, Request serviceRequest) +send(HttpServletRequest httpRequest, HttpServletResponse response, Response result)
service
Response
Request
+writeTo(OutputStream out)
+String service +String request
service
service
RequestReader
WFService
WMService
+Map parseKvpSet(String qString) +parseXMLFilter(Reader rawRequest)
GMLFilterGeometry
SAXParser
Gambar IV-13 Kelas Perancangan Umum
Tabel IV-5 Kelas Kasus Guna Mendapatkan Informasi Kenampakan
No 1
Feature
Kelas
2
GetFeatureReader
3
FeatureRequest
Fungsi Digunakan untuk menangani permintaan getFeatureInfo. Digunakan untuk membaca parameter permintaan getFeatureInfo Digunakan untuk menyimpan properti yang digunakan untuk permintaan
59
No
Kelas
4
FeatureResponse
5
GML2FeatureResponseDelegate
Fungsi getFeatureInfo Digunakan untuk melayani tanggapan dari permintaan getFeatureInfo Digunakan untuk menuliskan gml tanggapan dari permintaan getFeatureInfo. Data
ServiceDispatcher catalog
AbstractService
service
service
service
Request
Response
RequestReader
WMSRequest
WMService
WmsRequestReader
GetMapRequest
GetMapReader GetMap
GetMapResponse delegate
GetMapProducer
RasterMapProducer
DefaultRasterMapProducer
PNGMapProducer
StreamingRenderer
ImageWorker
Gambar IV-14 Kelas Perancangan untuk Penanganan Kasus guna Mendapatkan peta dan Menavigasi
Tabel IV-6 Tabel kelas Perancangan Memanajemen kenampakan
No 1
Kelas Transaction
Fungsi Digunakan untuk menangani permintaan penambahan, pengubahan dan penghapusan kenampakan pada peta.
60
No 2
Kelas TransactionXmlReader
3 4
TransactionHandler TransactionFeatureHandler
5
SubTransactionRequest
6
DeleteRequest
7
InsertRequest
8
UpdateRequest
9
TransactionRequest
10 11
TransactionResponse WfsTransResponse
Fungsi Digunakan untuk membaca xml stream dari modul mapedit. Digunakan untuk membantu pembacaan xml stream Digunakan untuk membantu pembacaan xml kemudian dari hasil pembacaan, mencari data (FeatureTypeInfo) yang diperlukan pada obyek data. Digunakan untuk menyimpan keterangan mengenai transaksi (insert/update/delete) Digunakan untuk menyimpan keterangan mengenai transaksi penghapusan. Digunakan untuk menyimpan keterangan mengenai transaksi pemasukan. Digunakan untuk menyimpan keterangan mengenai transaksi penghapusan. Menyimpan keterangan mengenai subTransactionRequest. Digunakan untuk menangani transaksi ke datastore. Digunakan untuk menulis tanggapan hasil transaksi (sukses/tidak)
Data ServiceDispatcher catalog AbstractService
service service Request
Response
service RequestReader WFService
WFSRequest
WfsRequestReader
FeatureRequest
GetFeatureReader
request FeatureResponse
Feature
GML2FeatureResponseDelegate
Gambar IV-15 Kelas Perancangan untuk Penanganan Kasus Guna Mendapatkan Informasi Kenampakan
61
ServiceDispatcher
Data catalog AbstractService
service
Response
service Request
Transaction
WFService
data
TransactionXmlReader TransactionResponse
WFSRequest TransactionHandler
TransactionFeatureHandler
request
WfsTransResponse
TransactionRequest
subrequest
request
SubTransactionRequest
DeleteRequest
InsertRequest
UpdateRequest
Gambar IV-16 Kelas Perancangan untuk penanganan Memanajemen kenampakan
IV.4.3 Perancangan Antar Muka Aplikasi
Pada perancangan antar muka terdapat beberapa desain antara lain : a. DataStore Configuration, dapat dilihat pada Gambar IV-17, yaitu terdapat pilihan jenis datastore dan id datastore. Jika memilih shapefile, maka akan seperti Gambar IV-18 dengan parameter seperti url (lokasi file) dan jika memilih postgre/postgis maka seperti Gambar IV-19 dengan parameter seperti namespace, host, port, schema, database, user dan password. b. Feature Configuration, dapat dilihat pada Gambar IV-20
dengan
parameter yaitu style, srs yang digunakan (spatial reference system) dan bounding box (koordinat batas penggambaran).
62
Gambar IV-17 Pilihan Data Store
Gambar IV-18 Pilihan untuk Format ShapeFile
Gambar IV-19 Pilihan untuk Format Postgre/Postgis
Gambar IV-20 Pilihan FeatureConfiguration
63