OpenStreetMap adalah proyek kolaboratif untuk membuat peta digital interaktif secara gratis di seluruh dunia. Pengguna dapat mengedit peta secara online menggunakan editor Potlatch atau melalui API. Data disimpan dalam database PostgreSQL dan ditampilkan melalui slippy map menggunakan renderer Mapnik.
2. Kata Pengantar
Puji syukur kita panjatkan ke hadirat Tuhan Yang Maha Esa, karena dengan pertolongan
Nya saya dapat menyelesaikan laporan ini. Dalam laporan ini saya juga mengucapkan
terimakasih kepada Bapak Ibu guru dan pembimbing yang telah membimbing saya menulis
laporan ini.
Openstreetmap (OSM) adalah sebuah project kolaborasi yang digunakan untuk membuat
sebuah peta editable di seluruh dunia.Halaman web OpenStreetMap ini dapat diakses melalui
alamat http://www.openstreetmap.org.
Semoga laporan yang saya buat ini dapat menjadi acuan yang baik agar kita
menjadi lebih kreatif lagi dalam mempelajari sesuatu yang baru. Oleh karena itu, kami
mengharapkan saran dan kritik yang bersifat membangun dari semua pihak dalam
pembuatan makalah di waktu yang akan datang bisa lebih baik lagi.
Semoga laporan ini bermanfaat bagi kita semua
Jakarta, Februari 2012
Penyusun, Dewi Robiatul M
2
4. BAB I Tentang OpenStreetMap
1.1 Sejarah OpenStreetMap
Openstreetmap didirikan pada Juli 2004 oleh Steven Coast. Pada April 2006 Yayasan
OpenStreetMap didirikan dengan tujuan untuk mendorong pertumbuhan, pengembangan, dan
distribusi data geospasial secara gratis dan menyediakan data geospasial bagi siapa pun untuk
menggunakannya. Pada bulan Desember 2006, Yahoo menegaskan bahwa OpenStreetMap bisa
menggunakan aerial photography sebagai latar belakang untuk produksi peta.
Pada April 2007 Automotive Navigation Data (AND) menyumbangkan data jalan lengkap untuk
Belanda dan data jalan untuk India dan China. Pada Juli 2007, ketika OSM international The State of
the Map conference diadakan ada 9.000 pengguna yang sudah terdaftar. Bulan Agustus 2007 proyek
OpenAerialMap diluncurkan, untuk mengadakan aerial photography.
Pada Oktober 2007 OpenStreetMap menyelesaikan impor jalan dataset Sensus AS TIGER. Oxford
University menjadi organisasi besar pertama yang menggunakan data OpenStreetMap pada website
utama mereka.
Pada Januari 2008 OpenStreetMap menyediakan data yang dapat di download dan dimasukkan
kedalam GPS yang digunakan oleh pengendara sepeda. Bulan Februari 2008 serangkaian workshop
diselenggarakan di India. Pada bulan Maret dua pendiri mengumumkan bahwa mereka telah menerima
modal ventura pendanaan 2,4 euro untuk CloudMade, sebuah perusahaan komersial yang akan
menggunakan data OpenStreetMap.
1.2 Apakah OpenStreetmMap itu ?
OpenStreetMap adalah proyek pemetaan dunia secara gratis yang dapat diedit/dibuat dan
dimanfaatkan secara kolaboratif oleh semua orang.
Peta ini dibuat menggunakan data dari perangkat GPS portabel, aerial photography, dan sumber
lainya seperti dari pengetahuan lokal. Kedua gambar yang diberikan vector dan dataset tersedia
dibawah lisensi Creative Commons AttributionShareAlike 2.0.
4
5. 1.3 Fitur-fitur OpenStreetMap
a) Search engine location
b) Zoom level sampai level tertentu (zoom inout)
c) Bookmark tempat untuk memudahkan melakukan kunjungan balik
d) Opsi untuk melihat transportasi publik, medan, peta atau jalur sepeda
e) Export Image (format seperti PNG, JPEG, PDF, dll)
f) GPS Tracker, adalah suatu sistem pemantauan jarak jauh yang menggunakan Satelit GPS sebagai
penentu lokasi kendaraan/asset bergerak dengan tepat dan akurat dalam bentuk titik koordinat
yang kemudian diimplementasikan ke dalam bentuk Peta digital dan SMS, sehingga dapat
dimengerti dengan mudah bagi penggunanya.
1.4 Komponen-komponen OpenStreetMap
5
6. 1. Database
Database yang memegang semua data pada peta dalam bentuk node. Perangkat lunak database
yang digunakan yaitu PostgreSQL. PostgreSQL adalah sebuah sistem basis data yang
disebarluaskan secara bebas. Perangkat lunak ini merupakan salah satu basis data yang paling
banyak digunakan saat ini, selain MySQL dan Oracle. PostgreSQL menyediakan beberapa fitur-
fitur anatara lain DB Mirror, PGPool, Slony, PGCluster.
2. API
Suatu layanan web yang menyediakan cara bagaimana sisi client dapat mengakses langsung data
geospasial di OSM WMS server melalui protokol HTTP .
3. OSM FrontEnd
a) Slippy Map
Jenis web browser berbasis peta yang memungkinkan anda untuk melihat peta dinamis hanya
dengan menggeser gambar peta ke arah manapun.
4. Tiles dan tile rendering
a) Mapnik
Sistem rendering yang merupakan standar SlippyMap. Proses rendering berjalan pada 'tile
server'. Dan Mapnik tile image dilayani dari mesin tersebut. Renderer mengambil data dari
database PostgreSQL. Database ini menyimpan data dalam format yang diinginkan oleh
Mapnik menggunakan ekstensi PostGIS. Ini adalah format yang berbeda dengan database yang
digunakan pada server basis data OSM inti.
b) Tiles@home
Sistem render yang didistribusikan. Sistem ini menggunakan Osmarender render(XSLTs) yang
berjalan pada banyak mesin klien yang berbeda. Setiap klien mengambil data langsung melalui
API, mengubahnya ke SVG. Raster ini menggunakan inkscape, dan gambar yang diberikan
di-upload kembali ke server Tiles@home.
6
7. 5. Renderers
Sebagaimana disebutkan di atas, kita menggunakan software render yang disebut Mapnik dan
Osmarender untuk membuat gambar raster pada slippy map tiles. Renderers juga dapat digunakan
pada dasar ad-hoc untuk membuat gambar peta.
6. Editor
Seiring dengan adanya tab edit pada website (Potlatch), ada alat lain yang memungkinkan Anda
untuk mengedit data OSM yaitu melalui API. API ini memungkinkan otentikasi melalui Oauth
yang memberikan izin pada pengguna untuk mengedit map. Software editor bisa dalam bentuk
aplikasi berbasis web (flash, javascript, atau sesuatu yang lebih sederhana), sebuah aplikasi
desktop, atau aplikasi mobile.
1.5 Potlatch
Editor online yang muncul pada tab 'edit'. Potlatch adalah objek flash yang ada pada halaman web.
Ada versi baru untuk tab edit yaitu Potlatch2. Editor Potlatch2 sudah ada di website lain, untuk
memungkinkan konfigurasi edit yang disesuaikan dengan pengalaman dari halaman web lain.
Edit :
-Isi kolom search untuk menampilkan lokasi yang akan di edit, lalu akses Potlatch2
7
8. -Perhatikan fungsi tombol-tombol berikut :
Save untuk menyimpan edit yang sudah disunting, Undo untuk membatalkan editan sebelumnya,
Help untuk membuka file bantuan, Redo untuk mengembalikan list edit yang dibatalkan oleh undo
NB: Ingatlah untuk selalu klik Save setelah Anda melakukan edit
-Disudut kanan atas ada 3 tombol yaitu tombol zoom in out dan tombol search
-Disudut kiri atas ada berbagai jenis titik yang dapat ditambahkan ke peta
-Dapat menggunakan titik-titik tersebut dengan cara klik kiri lalu tarik ke lokasi peta yang di edit
8
9. -Setelah meletakan titik yang anda pilih pada peta, lalu muncul beberapa tab untuk memilih fitur yang
ingin digunakan. Pada tab Basic dapat menambahkan nama lokasi
-Tab Detail, untuk mengedit tergantung dengan jenis titik yang anda tambahkan
-Tab untuk mengedit informasi addres untuk titik yang sudah ditambahkan
9
10. -Anda juga dapat membuat titik sendiri pada peta edit anda, yaitu dengan klik tiga kali
-Untuk membuat jalan, anda tinggal klik 2 kali pada jalan yang akan anda buat lalu geser sepanjang
yang anda inginkan
-Tab untuk memberi nama jalan dan jenis jalan yang sudah dibuat sebelumnya
10
11. -Tab memilih jenis jalan
--->
-Hasil editan jalan yang dibuat sendiri
-Save semua editan peta dari awal
11
12. -Hasil peta editing awal hingga akhir
1.6 Nominatim
Suatu search engine atau geocoder openstreetmap. Menggunakan database openstreetmap untuk
menemukan nama jalan, hotel, dll. Nominatim hanya dapat menemukan tempattempat yang telah
dipetakan dalam openstreetmap.
12
13. BAB II Membangun Tile Server Sendiri
2.1 Pengertian Tile Server
Tile Server merupakan server penyedia potonganpotongan image yang akan membentuk sebuah
peta lengkap.
2.2 Membangun Tile Server
Update package untuk mendapatkan package terbaru dari repository dengan perintah :
$sudo apt-get update
Install subversion, untuk mengunduh source code dari repository :
$sudo apt-get install subversion
Buat Folder :
$mkdir planet bin src
Donwload file planet :
$cd planet
$wget http://planet.openstreetmap.org/planet-latest.osm.bz2 (file dunia)
$indonesia.osm.bz2 (indonesia saja)
Install postgresql dan postgis serta librarylibrary yang dibutuhkan :
$sudo apt-get install postgresql-8.4-postgis postgresql-contrib-8.4
$sudo apt-get install postgresql-server-dev-8.4
$sudo apt-get install build-essential libxml2-dev libtool
$sudo apt-get install libgeos-dev libpq-dev libbz2-dev proj
13
14. Instal osm2pgsql dari repository , untuk install osm2pgsql menggunakan perintah :
$cd bin
$svn co http://svn.openstreetmap.org/applications/utils/export/osm2pgsql/
$cd osm2pgsql
$./autogen.sh
$./configure
$make
Selanjutnya kita konfigurasi postGis :
$sudo nano /etc/postgresql/8.4/main/postgresql.conf
$Edit text di dalam postgresql.conf
9
Kita perlu mengedit kernel parameter shmmax untuk meningkatkan maksimum memory :
$sudo sysctl -w kernel.shmmax=268435456
$sudo sysctl -p /etc/sysctl.conf
Restart postgres untuk mangaaktifkan perubahan :
$sudo /etc/init.d/postgresql restart
(untuk ubuntu versi 10.10)
$sudo /etc/init.d/postgresql-8.4 restart
(untuk ubuntu versi 10.04)
Buat database dan user di dalam postgres :
$sudo -u postgres -i
$createuser tugas # answer yes for superuser
$createdb -E UTF8 -O username gis
$createlang plpgsql gis
14
15. Import postgis.sql ke database postgresql:
$psql -f /usr/share/postgresql/8.4/contrib/postgis.sql -d gis
DROP FUNCTION
DROP FUNCTION
$echo "ALTER TABLE geometry_columns OWNER TO tugas; ALTER TABLE spatial_ref_sys
OWNER TO tugas;" | psql -d gis
ALTER TABLE
ALTER TABLE
Set Spatial Reference Identifier (SRID) di database baru :
$psql -f /home/user/bin/osm2pgsql/900913.sql -d gis
INSERT 0 1
Load planet dari database dengan osm2pgsql :
$cd /home/user/bin/osm2pgsql
$./osm2pgsql -S default.style --slim -d gis -C 2048
/home/user/planet/indonesia.osm.bz2
Using projection SRS 900913 (Spherical Mercator)
Setting up table: planet_osm_point
NOTICE: table "planet_osm_point" does not exist, skipping
NOTICE: table "planet_osm_point_tmp" does not exist, skipping
Setting up table: planet_osm_line
NOTICE: table "planet_osm_line" does not exist, skipping
NOTICE: table "planet_osm_line_tmp" does not exist, skipping
Setting up table: planet_osm_polygon
NOTICE: table "planet_osm_polygon" does not exist, skipping
NOTICE: table "planet_osm_polygon_tmp" does not exist, skipping
Setting up table: planet_osm_roads
NOTICE: table "planet_osm_roads" does not exist, skipping
NOTICE: table "planet_osm_roads_tmp" does not exist, skipping
15
16. Mid: pgsql, scale=100, cache=4096MB, maxblocks=524289*8192
Setting up table: planet_osm_nodes
NOTICE: table "planet_osm_nodes" does not exist, skipping
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index
"planet_osm_nodes_pkey" for table "planet_osm_nodes"
Setting up table: planet_osm_ways
NOTICE: table "planet_osm_ways" does not exist, skipping
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index
"planet_osm_ways_pkey" for table "planet_osm_ways"
Setting up table: planet_osm_rels
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index
"planet_osm_rels_pkey" for table "planet_osm_rels"
Reading in file: /home/user/planet/indonesia.osm.bz2
Processing: Node(10140k) Way(0k) Relation(0k)
Processing: Node(593072k) Way(45376k) Relation(87k)
Exception caught processing way id=110802
Exception caught processing way id=110803
Processing: Node(593072k) Way(45376k) Relation(474k)
Node stats: total(593072533), max(696096737)
Way stats: total(45376969), max(55410575)
Relation stats: total(484528), max(555276)
Going over pending ways
processing way (752k)
Going over pending relations
node cache: stored: 515463899(86.91%), storage efficiency: 96.01%, hit
rate:85.97%
Committing transaction for planet_osm_roads
Committing transaction for planet_osm_line
Committing transaction for planet_osm_polygon
Sorting data and creating indexes for planet_osm_line
Sorting data and creating indexes for planet_osm_roads
Sorting data and creating indexes for planet_osm_polygon
Committing transaction for planet_osm_point
16
17. Sorting data and creating indexes for planet_osm_point
Stopping table: planet_osm_nodes
Stopping table: planet_osm_ways
Stopping table: planet_osm_rel
Building index on table: planet_osm_rels
Stopped table: planet_osm_nodes
Building index on table: planet_osm_ways
Stopped table: planet_osm_rels
Completed planet_osm_point
Completed planet_osm_roads
Completed planet_osm_polygon
Completed planet_osm_line
Stopped table: planet_osm_ways
Jika load belum berhasil maka penyelesaianya :
$sudo chmod 777 /home/user/planet/indonesia.osm.bz2
$./osm2pgsql -S default.style --slim -d gis -C 2048
/home/user/planet/indonesia.osm.bz2
Building beberapa Mapnik library :
$sudo apt-get install libltdl3-dev libpng12-dev libtiff4-dev libicu-dev
$sudo apt-get install libboost-python1.40-dev python-cairo-dev python-nose
$sudo apt-get install libboost1.40-dev libboost-filesystem1.40-dev
$sudo apt-get install libboost-iostreams1.40-dev libboost-regex1.40-dev
libboost-thread1.40-dev
$sudo apt-get install libboost-program-options1.40-dev libboost-python1.40-dev
$sudo apt-get install libfreetype6-dev libcairo2-dev libcairomm-1.0-dev
$sudo apt-get install libgeotiff-dev libtiff4 libtiff4-dev libtiffxx0c2
$sudo apt-get install libsigc++-dev libsigc++0c2 libsigx-2.0-2 libsigx-2.0-dev
$sudo apt-get install libgdal1-dev python-gdal
$sudo apt-get install imagemagick ttf-dejavu
$sudo apt-get install libmapnik2-dev
17
18. Setelah semua paket sudah terinstall dengan benar, selanjutnya checkout mapnik library dari
source :
$cd /src
$svn co http://svn.mapnik.org/tags/release-0.7.1/ mapnik
$cd mapnik
$python scons/scons.py configure INPUT_PLUGINS=all OPTIMIZATION=3
SYSTEM_FONTS=/usr/share/fonts/truetype/
$python scons/scons.py
$sudo python scons/scons.py install
$sudo ldconfig
Untuk chekout mapnik library dari source bisa dengan svn dan git
Jika anda menggunakan git terlebih dahulu install package git core di dalam mesin anda dengan
perintah :
$ apt-get install git-core
Lalu baru ketik perintah
$ sudo git clone https://github.com/mapnik/mapnik
Setelah semua paket sudah terinstall selanjutnya checkout mapnik library dari source :
$cd /src
$svn co http://svn.mapnik.org/tags/release0.7.1/ mapnik
$cd mapnik
$python scons/scons.py configure INPUT_PLUGINS=all OPTIMIZATION=3
SYSTEM_FONTS=/usr/share/fonts/truetype/
$python scons/scons.py
$sudo python scons/scons.py install
$sudo ldconfig
Untuk chekout mapnik library dari source bisa dengan svn dan git
Ketik perintah di bawah ini untuk download source dari git
$sudo git clone https://github.com/mapnik/mapnik
18
19. Cek mapnik dengan python :
python
>>> import mapnik
>>>
Jika import error, maka ketikan perintah "sudo aptget install pythonmapnik" lalu jalankan kembali
Chekout mapnik tools :
$cd /home/user/bin
$svn co http://svn.openstreetmap.org/applications/rendering/mapnik
Download data dunia :
$cd /bin/mapnik
$mkdir world_boundaries
$wget http://tile.openstreetmap.org/world_boundariesspherical.tgz
$tar xvzf world_boundaries-spherical.tgz
$wget http://tile.openstreetmap.org/processed_p.tar.bz2
$tar xvjf processed_p.tar.bz2 -C world_boundaries
$wget http://tile.openstreetmap.org/shoreline_300.tar.bz2
$tar xjf shoreline_300.tar.bz2 -C world_boundaries
$wget
http://www.naturalearthdata.com/http//www.naturalearthdata.com/download/10m/cultural/10m
populatedplaces.zip
$unzip 10m-populated-places.zip -d world_boundaries
$wget
http://www.naturalearthdata.com/http//www.naturalearthdata.com/download/110m/cultural/110m
admin0boundarylines.zip
$unzip 110m-admin-0-boundary-lines.zip -d world_boundaries
19
21. Install mapnik2 :
$apt-get install git-core
$git clone https://github.com/mapnik/mapnik.git
Upgrade osm.xml didalam mapnik2 >> upgrade_map_xml.py osm.xml (nama baru.xml)
Checkout mod_tile :
$cd /src
$svn co http://svn.openstreetmap.org/applications/utils/mod_tile
$cd mod_tile
$./autogen.sh
$./configure
$make
$sudo make install-mod_tile
Konfigurasi mod_tile :
$sudo nano /etc/renderd.conf
plugins_dir=/usr/local/lib/mapnik/input
font_dir=/usr/lib/mapnik/fonts
XML=/home/ubuntu/bin/mapnik/osm.xml
HOST=localhost
Sesuai dengan letak file anda
$sudo mkdir /var/run/renderd
$sudo chown (user anda) /var/run/renderd
Folder diatas diganti owner usernya yaitu di user dan group wwwdata
ex : chown R wwwdata:wwwdata /var/run/renderd
Konfigurasi apache2 di mod_tile :
$sudo nano /etc/apache2/conf.d/mod_tile
LoadModule tile_module /usr/lib/apache2/modules/mod_tile.so
21
22. $sudo nano /etc/apache2/sites-available/default
LoadTileConfigFile /etc/renderd.conf
ModTileRenderdSocketName /tmp/osm-renderd
# Timeout before giving up for a tile to be rendered
ModTileRequestTimeout 3
# Timeout before giving up for a tile to be rendered that is
otherwise missing
ModTileMissingRequestTimeout 30
$sudo mkdir /var/lib/mod_tile
$sudo ln -s /var/lib/mod_tile /var/www/osm_tiles2
$sudo chown (user anda) /var/lib/mod_tile
Folder diatas diletakan di user dan group wwwdata
ex : chown R wwwdata:wwwdata /var/www/osm_tiles2
Buat script map.html :
$sudo nano /var/www/map.html
<html>
<head>
<title>OpenLayers Demo</title>
<style type="text/css">
html, body, #basicMap {
width: 100%;
height: 100%;
margin: 0;
}
</style>
<script src="http://www.openlayers.org/api/OpenLayers.js"></script>
<script>
function init() {
var options = {
projection: new OpenLayers.Projection("EPSG:900913"),
22
23. displayProjection: new OpenLayers.Projection("EPSG:4326"),
units: "m",
maxResolution: 156543.0339,
maxExtent: new OpenLayers.Bounds(-20037508.34,
-20037508.34,
20037508.34, 20037508.34),
numZoomLevels: 20,
controls: [
new OpenLayers.Control.Navigation(),
new OpenLayers.Control.PanZoomBar(),
new OpenLayers.Control.Permalink(),
new OpenLayers.Control.ScaleLine(),
new OpenLayers.Control.MousePosition(),
new OpenLayers.Control.KeyboardDefaults()
]
};
map = new OpenLayers.Map("basicMap",options);
var newL = new OpenLayers.Layer.OSM("Default", "/osm_tiles2/${z}/$
{x}/${y}.png", {numZoomLevels: 19});
map.addLayer(newL);
map.zoomIn();
}
</script>
</head>
<body onload="init();">
<div id="basicMap"></div>
</body>
</html>
Start renderd :
$cd ~/src/mod_tile
$./renderd
23
25. BAB III Nominatim sebagai search engine OSM
3.1 Installasi Nominatim
Download file NPI dan build Nominatim :
$svn co http://svn.openstreetmap.org/applications/utils/nominatim/
$cd nominatim/nominatim
$./autogen.sh
$./configure
$make
Buat database :
$ ../utils/setup.php --create-db --create-functions –create-minimal-tables
Download dan import file NPI planet terbaru :
$wget http://open.mapquestapi.com/npi/planet/latest.npi.bz2
Import file preindexed :
$./nominatim -I -F latest.npi.bz2 -T ../settings/partitionedtags.def
Proses diatas memakan waktu lebih yang lama tergntung pada performance server yang dipakai
Buat website html :
$../setup.php --create-website /var/www/html
25
26. BAB IV Membangun Routing engine di dalam tile server
4.1 Pengertian Routing
Layanan service untuk membantu orang mencari suatu tempat atau peta search engine. Dan
layanan penghitungan rute berserta informasinya berdasarkan data spasial OSM melalui media web
atau antarmuka HTTP dengan menggunakan API penghitungan rute . Routing Service Server yang
diberi nama YOURS menghasilkan pencarian berdasarkan jalur tercepat atau terpendek dan yang
digunakan pada aplikasi SIG ini yaitu pencarian jalur terpendek.
4.2 Installasi Routing
Checkout source yours :
$svn co http://svn.openstreetmap.org/applications/routing/yours/branches/version1.0via
Checkout source gosmore :
$svn co http://svn.openstreetmap.org/applications/rendering/gosmore
Compile gosmore :
$cd gosmore
$./configure
$sudo make
Download prebuilt map dari http://dev.openstreetmap.de/gosmore/, pilih map Indonesia
Copy file .pak yang telah di download ke dalam folder gosmore
Edit file gosmore.php sesuaikan variable $www_dir dan $yours_dir dengan sistem anda :
$www_dir='[DocumentRoot dari Yours anda]';
$yours_dir='[Folder tempat Gosmore]';
26
27. Cari code di bawah ini :
//Decide which routing definition file is going to be used
/*switch ($layer) {
case 'cn':
$gosmore = '/normal';
$style = 'cyclestyles.xml';
break;
case 'test':
$gosmore = '/test';
$style = 'elemstyles.xml';
break;
default:
$gosmore = '/normal';
$style = 'genericstyles.xml';
break;
}
$dir = $yours_dir.$gosmore;
*/
Lalu beri komentar untuk bagian tersebut agar tidak di eksekusi oleh gosmore, menjadi :
//Decide which routing definition file is going to be used
/*switch ($layer) {
case 'cn':
$gosmore = '/normal';
$style = 'cyclestyles.xml';
break;
case 'test':
$gosmore = '/test';
$style = 'elemstyles.xml';
break;
default:
$gosmore = '/normal';
$style = 'genericstyles.xml';
break;
}
$dir = $yours_dir.$gosmore;
27
28. */
Copy {YOURS}/www ke dalam /var/www :
$sudo cp [YOURS]/www /var/www
Restart Apache2 dengan perintah :
$sudo /etc/init.d/apache2 restart
Cek browser anda dengan mengakses http://localhost :
28
29. PENUTUP
Segala puji bagi Tuhan Yang Maha Esa pemilik mata air cinta yang tiada pernah kering
karena dengan aliran kasih sayangnya penulis bisa menyelesaikan dokumentasi ini dengan
kesabaran dan kebahagiaan. Semoga dengan hasil ini bisa memberikan gambaran yang jelas
tentang kondisi nyata mahasiswa dalam kegiatan proses belajar dan dunia bisnis.
Dalam penyusunan dokumentasi ini, penulis menyadari masih banyak kesalahan dan
kekurangan. Maka dari itu kritik dan saran yang membangun dari pembaca merupakan modal
utama kami untuk meraih tangga kesuksesan.
Akhirnya tiada kata yang paling indah kecuali puji syukur pada pemilik kasih sayang sempurna
atas berjuta nikmat yang tercurah.
Akhirnya segala sesuatu tidak akan menjadi kenyataan sebelum kita mengalami sendiri,
demikian juga kreasi dan inovasi akan menjadi coretan tidak bermakna diatas kertas sebelum
direalisasikan didunia nyata.
29
30. DAFTAR PUSTAKA
http://weait.com/content/build-your-own-openstreetmap-server
http://wiki.openstreetmap.org/wiki/HowTo_mod_tile
https://github.com/openstreetmap/mod_tile
http://www.kelvinism.com/howtos/revised-mod_tile-howto/
http://forum.openstreetmap.org/
http://yournavigation.org/
30