Pada tiga penjelasan sebelumnya, kita sudah berkenalan dengan jenis data spatial di SQL Server 2008. Topik berikunya mengenai load data spatial jenis shapefile(shp) ke dalam table SQL Server 2008.

Mengapa saya memilih menyimpannya di SQL Server 2008 dibandingkan dengan penyimpanan format flat file macam shapefile (shp,idx,dbf) ? Berdasar pengalaman, data dalam bentuk tabular lebih mudah untuk di ‘manage’ walaupun tentunya terjadi sedikit penurunan dari segi performance.

Untuk menguji kehandalan tipe data spatial SQL Server 2008, saya akan mencobanya dengan load data besar berupa line (770 ribu line / 240 MB) dan polygon (1,7 juta polygon/ 560 MB) . Load data dilakukan dengan tools ‘Shape2SQL‘ ciptaan Morten Nielsen, best and simpliest tools so far.., and it is free. Jangan lupa untuk menghilangkan ‘tick’ create spatial index. pada beberapa shapefile akan mengakibatkan gagal load ke tabel SQL Server

Setelah menunggu selama 2 jam (heh..lama juga ya!), akhirnya data polygon dan line itu “mampet” semuanya ke tabel SQL Server 2008, tentunya dengan skip beberapa polygon yang rusak.

langkah berikutnya adalah melakukan preview di SQL Server Management Studio (SSMS). UNION kan preview dua tabel tersebut..

shape2sql 19-10-2010 10-10-15 - 3

Dan ini lah hasilnya:

shape2sql 19-10-2010 10-10-15 - 2

Pada posting berikutnya akan saya bagikan pengalaman membaca data spatial di SQl server 2008 tersebut melalui NET component

4 Comments Step 4: Extraction, Loading SPATIAL Data Type

  1. kiki wisaka

    Artikel bagus mas.
    Saya kan lagi bikin webform untuk penambahan data/record. Nanti user men-digit point/polygon dan memasukan data atributnya, dan begitu button save di klik kok muncul error:
    “A .NET Framework error occurred during execution of user-defined routine or aggregate “geometry”:
    System.FormatException: One of the identified items was in an invalid format.
    System.FormatException:
    at Microsoft.SqlServer.Types.GeoData.Read(BinaryReader r)
    at SqlGeometry::.DeserializeValidate(IntPtr , Int32 , CClrLobContext* )
    .
    The statement has been terminated.”
    Saya menggunakan AspMap. Saya gunakan sistem koordinat wgs84 dengan tipe geografis. Dan nama field yg menampung data spasialnya bernama shapedata yg bertipe geometry. Nah kira2 salahnya dimana ya mas? Mohon pencerahannya mas. Kalo berkenan juga boleh dikirim ke e-mail juga. 🙂 Terimakasih..

    Salam,
    Kiki

    Reply
  2. kiki wisaka

    Sample bawaan AspMap sudah saya coba dan berhasil mas. Nah permasalahannya kan , data2 yang lain menggunakan SQL Server. Karena sample bawaannya menggunakan Access dan field yg menampung data spasialnya bertipe Ole Object, jadi saya coba untuk menggunakan SQL Server dan saya kasih tipe data geometry/geography untuk field yang menampung data digitasinya (spasial). Nah sampai sekarang kendala yang saya temui masih sama seperti yang di atas mas. O iya mas saya juga coba untuk membuat point maupun polygon tapi hasilnya masih sama.

    Reply
  3. diditho

    seingat saya, harus ada ‘method’ yang ditambahkan. maaf suadah lama tidak ‘megang’ lagi aspmap.
    tapi kalo beli license dari vdstech, bisa cari atau bertanya di forumnya

    Reply

Leave A Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.