RSS

Konversi Shapefile (ArcView) ke Database MySQL (MapServer)

17 Apr

MapServer merupakan tools yang saat ini sedang cukup populer sebagai SIG berbasis web. MapServer dibuat untuk memudahkan dalam membangun SIG yang handal dan mudah, hal ini karena fitur-fitur MapServer cukup beragam dan dapat diintegrasikan dengan framework SIG seperti Chameleon dan GMap. Bahasa pemrograman pokok dari MapServer yaitu PHP yang cukup populer dan familiar di telinga web programer, ditambah kemampuannya mengolah database pasangannya PHP yaitu MySQL sehingga tidak mengherankan kalau MapServer sekarang sedang digandrungi para web-based GIS mania.
Arcview merupakan aplikasi pengolah data spasial yang cukup terkenal. Ketika proyek yang dibuat di dalam Arcview versi 3.x telah selesai, kita bisa melihat hasil tampilannya secara langsung. Namun apa jadinya kalau kita ingin menampilkannya pada situs web. Tentu hal ini akan merepotkan karena file data spasial (Shapefile) milik Arcview tidak bisa di-load pada browser secara mudah, meskipun secara umum shapefile tersebut dapat ditampilkan pada browser melalui MapServer namun tampilannya sangat statis dan kita tidak bisa melakukan operasi insert, update, delete secara mudah pada objek yang ditampilkan.

Oleh karena itu, sebaiknya shapefile dari ArcView tersebut dikonversi ke basis data MySQL. Namun yang perlu diingat, hasil konversi ke basis data MySQL ini tidak bisa digunakan oleh SIG model SVG, karena hasil koordinat data spasialnya akan diubah ke tipe data Geometry. Sehingga hasil konversi ini hanya cocok untuk model SIG seperti MapServer.

Bukankah pada ArcView versi 3.x sudah ada konverternya dari shapefile ke database MySQL ? Ya, kalau Anda telah menambahkan modul ekstensi file tambahannya, namun hasil dari konversi tersebut tidak bisa digunakan oleh SIG model MapServer. Karena MapServer membutuhkan data (field) khusus yang bertipe Geometry, sedangkan hasil dari konversi tersebut berupa pasangan koordinat X,Y non Geometry.

Sebelum melakukan konversi silakkan download dahulu MS4W versi terbarunya, kalo tidak salah ada di situs MapTools.org. MS4W (MapServer for Windows) merupakan paket aplikasi lengkap dari MapServer. Di dalamnya sudah tersedia tools untuk konversi, informasi data, dan server apache khusus untuk SIG.
File-file utama untuk konversi ada di folder gdal-ogr (ms4w/tools/gdal-ogr), namun karena file utama tersebut membutuhkan file-file library yang tidak terdapat dalam satu folder, maka file-file library (*.dll) yang berada pada folder cgi-bin (ms4w/Apache/cgi-bin) perlu di-copy ke dalam folder gdal-ogr tadi. Cukup copy semua file yang berekstensi .dll saja pada folder cgi-bin (ms4w/Apache/cgi-bin) ke folder gdal-ogr (ms4w/tools/gdal-ogr).

Setelah file-file library tersebut di-copy, kemudian letakkan seluruh shapefiles meliputi file dengan ekstensi : .shp; .shx; .sbx; .sbn; .dbf; .prj; dari proyek SIG yang telah Anda buat ke dalam folder gdal-ogr (ms4w/tools/gdal-ogr).
Karena hasil konversi nantinya akan menjadi database MySQL, buatkan dahulu database baru yang kosong pada MySQL Server, misalnya dengan nama websig.
Setelah database dibuat, sekarang saatnya melakukan konversi. Buka Command Prompt Windows, caranya klik Start -> Run -> cmd. Atau Start -> All Programs -> Accessories -> Command Prompt. Setelah itu pindahkan direktori pada command prompt ke folder gdal-ogr tadi. Caranya ketik cd c:\ms4w\tools\gdal-ogr
File utama untuk melakukan konversi adalah ogr2ogr.exe
Setelah masuk ke folder gdal-ogr, sekarang lakukan konversi dengan mengetik perintah berikut pada command prompt:

ogr2ogr -f MySQL MySQL:websig,user=root,password=pass -lco GEOMETRY_NAME=nama_field nama_file.shp

Perhatian ! : antara kata ‘websig,‘ dengan kata ‘user‘ dan juga antara kata ‘root,‘ dengan kata ‘password‘ TIDAK ada spasi, begitu juga dengan kata di antara tanda sama dengan (=). Jadi tulislah format penulisannya persis seperti di atas.

Keterangan :
websig, merupakan nama database.
root, merupakan nama pengguna MySQL Server (defaultnya root).
pass, kalau MySQL Server Anda diberi password, tuliskan password tersebut. Defaultnya kosong.
nama_field, merupakan nama field database yang nantinya bertipe geometry.
nama_file.shp, merupakan nama shapefile dari proyek yang Anda buat pada ArcView.
Nama tabel dari hasil konversi tersebut sama persis dengan nama shapefile yang dikonversi.

Catatan :
Apabila Anda membuat proyek pada ArcView yang memiliki beberapa shapefile yang saling terkait antara satu shapefile lainnya misalnya shapefile batas_kab.shp dan shapefile batas_kec.shp, kemudian ingin keduanya dikonversi ke database, maka ulangi perintah konversi di atas, namun hanya nama filenya saja yang dirubah.
Contoh :

ogr2ogr -f MySQL MySQL:websig,user=root,password= -lco GEOMETRY_NAME=nama_field batas_kab.shp
ogr2ogr -f MySQL MySQL:websig,user=root,password= -lco GEOMETRY_NAME=nama_field batas_kec.shp

Berikut contoh tampilan ketika terjadi konversi :

Untuk melihat data hasil konversi yang baru dilakukan dapat dilakukan melalui file ogrinfo.exe.
Berikut perintahnya :

ogrinfo MySQL:websig,user=root,password=pass nama_tabel -so

Contoh tampilan dari perintah tersebut adalah:

Untuk lebih jelasnya bisa lihat di https://arifin01.wordpress.com/2012/06/07/tutorial-konversi-shp-ke-database-mysql/

 
28 Komentar

Ditulis oleh pada 17 April, 2011 in Database Spasial, SIG

 

28 responses to “Konversi Shapefile (ArcView) ke Database MySQL (MapServer)

  1. maria

    11 Juli, 2011 at 11:27 am

    makasi buat infonya..

    mau nnya..saya udah coba cara diatas..koordinat yg diinsertkan dr web nya berhasil masuk ke dalam database..tp gak muncul di dalam petanya..
    kalo masalahnya seperti itu kenapa yaa??
    minta tolong solusinya jg dong..
    terima kasih..

     
  2. zaki

    27 Juli, 2011 at 2:42 am

    klo export data dari Mysql ke shp atau yang lain bagaimana pak?thanks sebelumnya

     
    • arifin01

      2 Agustus, 2011 at 4:48 am

      MySQL udah mendukung database spatial.

       
  3. Arizal

    1 November, 2011 at 4:23 pm

    Mas sya mau tanya gimana cara coding vb nya untuk menampilkan gambar yang ada arcview !
    kalo mas punya tutorialnya mohon bantuannya mas .

    Ini E-mail saya ; revolution_rere@yahoo.com

     
    • arifin01

      4 November, 2011 at 10:25 am

      kalau pakai vb kurang tau.

       
  4. loekman

    4 November, 2011 at 7:12 am

    knp ya muncul psan runtime library error saat menggunakan ogr2ogr…

     
    • arifin01

      4 November, 2011 at 10:24 am

      errornya seperti apa?

       
      • hans nst

        4 Agustus, 2012 at 1:29 pm

        mau tanya mas, selain mengguanakan mapserver, gimana cara mengkoneksikan arcview ke MySql?? tolong ya mas….

         
      • arifin01

        10 Agustus, 2012 at 7:47 am

        kalau yang lain saya ndak tau.

         
  5. aryspusoko

    12 November, 2011 at 6:38 am

    pak arif,murid anda juga punya wap pak, armej.jw.lt

     
  6. Chandra

    3 Februari, 2012 at 1:25 am

    Oke gan thanks infonya, nanti saya coba.

     
  7. sundy

    12 Februari, 2012 at 6:40 pm

    gan setelah shp di konvert ke sql, knp sql nya g mau diload ke database??
    mohon bantuannya

    klu ada tutorialnya mohon dikirim
    email :: sunries82@yahoo.com

     
    • arifin01

      16 Februari, 2012 at 3:33 am

      kalau konversi diatas secara otomatis database yang dari shp akan langsung di load ke mysqlnya.

       
  8. sundy

    15 Februari, 2012 at 9:09 am

    kenapa waktu database saya error ketika dijalankan??

    NOTICE: CREATE TABLE will create implicit sequence “streettm_gid_seq1” for serial column “streettm.gid”
    ERROR: relation “streettm” already exists

    ********** Error **********

    ERROR: relation “streettm” already exists
    SQL state: 42P07

     
  9. arifin01

    16 Februari, 2012 at 3:47 am

    streettm itu apa ya?

     
    • sundy

      18 Februari, 2012 at 3:23 pm

      streettm itu nama tabel yang saya import dr street.sql

      tolong dong pak jelasin step by step webgis… coz saya pemula jd bingung

       
  10. john

    16 Februari, 2012 at 12:56 pm

    kalo gmaps gmn?

     
    • arifin01

      22 Februari, 2012 at 2:08 am

      Bisa

       
  11. sundy

    17 Februari, 2012 at 12:47 pm

    berarti semua file shp dicopy ke (ms4w/tools/gdal-org) bersamaan dg file dll,
    masalahnya difile sy g ad (ms4w/tools/gdal-org) tp (ms4w/tools/org-utils)

    koneksi database apa bisa pake selain postgre??

     
    • ko2herv

      22 Februari, 2012 at 6:45 pm

      bisa bro sundy gdal-ogr kayaknya support jg ntuk postgresql..

       
  12. dinan

    7 Juni, 2012 at 8:44 am

    mas kok pesan error saya seperti ogr2ogf is not recognized as an internal or external command

     
  13. anggun

    7 Agustus, 2012 at 12:05 pm

    mas masih gk ngerti yg Geometry_name itu kok muncul pesan
    “Unable to open datasource `GEOMETRY_NAME=geo_batas’ with the following drivers.”

     
    • arifin01

      10 Agustus, 2012 at 7:49 am

      pesan error yg lengkapnya seperti apa?

       
  14. wahyu

    23 Agustus, 2013 at 8:17 am

    salam kenal mas,
    saya udah convert semua file shp saya ke mysql
    lalu saya coba tampilka di web tapi gk muncul
    saya pakek koneksi tipe ogr ke mysql nya

    ini script file.map saya :

    # PetaDasar Kabupaten Banyuwangi
    # berupa batas kecamatan desa jalan terminal bandara dll
    #
    MAP
    NAME “BANYUWANGI”
    IMAGETYPE JPEG
    EXTENT 812316.035000 9027640.578351 896766.183853 9126979.666365 # B1,L1; B2,L2
    STATUS ON
    UNITS DD
    SIZE 800 600
    IMAGECOLOR 255 255 255

    SYMBOLSET “C:\ms4w\apps\banyuwangigis\etc\symbols.sym”
    FONTSET “C:\ms4w\apps\banyuwangigis\etc\fonts.txt”
    #
    # Definisi layer :
    #
    LAYER
    NAME “Kecamatan”
    TYPE POLYGON
    STATUS DEFAULT
    CONNECTIONTYPE OGR
    CONNECTION “MySQL:banyuwangigis,user=root,port=3306”
    DATA “SELECT BatasAdmin,kecamatan from batasadmin”
    CLASS
    NAME “Kecamatan”
    STYLE
    COLOR 100 255 100
    OUTLINECOLOR 199 255 199
    END
    END
    END
    #

    #
    LAYER
    NAME “sungaibesar”
    STATUS DEFAULT
    TYPE LINE
    SIZEUNITS PIXELS
    CONNECTIONTYPE OGR
    CONNECTION “MySQL:banyuwangigis,user=root,port=3306”
    DATA “SELECT sungaibesar from sungaibesar”
    CLASS
    STYLE
    SYMBOL ‘garis’
    WIDTH 2
    COLOR 100 100 255
    END
    END
    END
    #
    END # akhir map

    saya buka di web browser gk muncul petanya
    turs saya coba buka gmbar peta nya di new tab muncul error seperti ini

    Laman web ini tidak ditemukan
    Tidak ada laman web yang ditemukan untuk alamat web:http://localhost/cgi-bin/mapserv.exe?map=C:/ms4w/apps/banyuwangigis/petadasar.map&mode=map
    Kesalahan 6net::ERR_FILE_NOT_FOUND: File atau direktori tidak ditemukan.

    salah nya dimana ya ???
    mohon bantuannya mas
    terima kasih … ^_^ v

     
    • arifin01

      22 September, 2013 at 10:36 am

      coba priksa lagi penempatan filenya…

       

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

 
%d blogger menyukai ini: