Arsip Blog

MapXtreme: Too Many Constants in Subexpressions (Maximum is 255)

Beberapa waktu lalu, Mas Ndereklangkung mengalami error ini ketika membuat aplikasi mapxtreme. Dia mencoba melakukan query untuk mencari objek peta. Parameter yang digunakan diambil dari database, diubah jadi string dan dimasukkan dalam query mapinfo
“Select * from Jabodetabek_Sales_Customers where acc_id in (” & xx & “)”
Namun malah muncul error “Unable to parse statement: Select * from Jabodetabek_Sales_Customers where acc_id in (‘5300027541′,’5300058807′,’5300062475′,’…’). Too Many Constants in Subexpressions (Maximum is 255). Ternyata query ‘IN’ di mapinfo hanya mampu menerima 255 parameter. Lebih dari itu akan muncul error

Salah satu cara mengatasi ini adalah memecah queri menjadi beberapa bagian. String parameter yang akan digunakan dalam query, (di contoh ini diambil dari database), kita simpan dalam StringCollection untuk memudahkan mengetahui jumlah parameter dan memisahkannya. xx adalah variabel stringCollection yang akan digunakan.
Read the rest of this entry

MapXtreme: Membuat LayerControl Ver.2.0

Sebelumnya, saya telah menulis bagaimana membuat layercontrol di MXT. Versi 2 ini merupakan versi revisi dari versi 1 yang pernah saya tulis sebelumnya. Saya banyak mengalami kesulitan ketika menerapkan v.1. Karena itu saya memutuskan untuk melakukan perubahan kodenya. Apa yang saya catat disini, hanya bagian yang di ubah. Untuk membuat layercontrol secara lengkap, silahkan baca tulisan sebelumnya.

Kesulitan dari LayerControl v.1

  • Daftar layer tergantung pada data yang disiapkan di database. Baca Bagian 1. Sehingga ketika ada layer peta yang ditambahkan di Workspace manager, layer baru ini tidak secara otomatis ditambahkan ke LayerControl.
  • Di client (javascript), proses dari MapControl ke LayerControl (Baca Bagian 3), checkbox yang ada di layercontrol didefinisikan satu persatu, kita perlu tahu ClientID dari masing-masing checkbox. Jika layer peta ditambahkan di workspace manager, susunan layer akan berubah dan ini berarti harus merubah kode javascript secara manual.

Berdasarkan 2 hal di atas, saya membuat perubahan

  • Daftar layer tidak mengacu pada database yang telah disiapkan sebelumnya, tetapi langsung mengacu pada file MWS. Sehingga, jika ada layer baru ditambahkan di workspace manager, secara otomatis layer baru tersebut akan masuk di layercontrol.
  • Kode javascript untuk proses dari mapcontrol ke layercontrol tidak lagi secara manual. Kita tidak perlu tahu ClientID dari masing-masing checkbox, Javascript akan melakukan looping ke tiap baris di layercontrol dan akan menandai chekbox yang sesuai sesuai kondisi layer yang ada.

Read the rest of this entry

Menampilkan Peta Berbeda Dalam Satu Aplikasi MapXtreme

Menampilkan peta yang berbeda disini maksudnya adalah, jika kita mempunyai 2 atau lebih peta yang tidak terkait. Misal jika peta pertama tampil, maka peta kedua dihilangkan, atau jika peta kedua tampil maka peta pertama dihilangkan atau peta pertama menggunakan batas administrasi sedang peta kedua menggunakan batas yang lain sehingga kedua peta diperlakukan berbeda. Setidaknya ada 2 cara untuk membuat hal semacam ini

  • Membuat file MWS berbeda. Masing-masing peta dibuat MWS tersediri
  • Membuat 1 file MWS dengan beberapa Map alias.

Disini saya tulis mengenai cara kedua, Menggunakan 1 file MWS untuk beberapa peta.
Read the rest of this entry

Membuat LegendControl Alternatif di MapXtreme

Apa itu legenda peta? Legenda peta adalah kotak kecil yang biasanya berada di samping peta, berisi icon atau warna-warna tertentu yang menjelaskan informasi yang ada pada peta.  Legenda peta diperlukan agar pembaca memahami informasi simbol dan warna yang tersaji di peta. Legenda peta tidak pernah terlepas dari aplikasi GIS, karena legenda peta adalah kunci utama untuk memahami peta.

Read the rest of this entry

Menggabungkan Tabel Database dengan Tabel Atribut di MapXtreme

Biasanya, dalam pembuatan aplikasi GIS sering dipisahkan antara tabel data dan peta. Informasi statistik yang sangat banyak tidak disimpan dalam tabel atribut peta, tetapi disimpan dalam database. Tabel atribut peta hanya menyimpan ID  dan keterangan singkat dari objek. Lalu bagaimana menghubungkan tabel di database dengan tabel atribut peta? Ada satu kolom yang biasanya digunakan sebagai referensi, sebut saja kolom ID. Kolom ini terdapat di tabel atribut peta dan juga di tabel database. Kolom inilah menjadi kunci penghubung antara tabel atribut peta dan tabel database.

Peta tematik merupakan satu contoh penerapan dari penggabungan data dari database ke tabel atribut peta. Peta tematik terbentuk berdasarkan data yang ada di tabel atribut peta. Jika data ada di database, maka data harus dipindahkan dan digabungkan ke tabel atribut kemudian peta tematik dibuat. Di artikel kali ini, saya mencoba mengupas penggabungan data dari database SQL server ke tabel atribut peta.

Read the rest of this entry

Membuat Polygon Tool di MapXtreme

Polyon tool digunakan untuk menggambar polygon secara langsung pada peta. Untuk membuat tool ini, caranya sama dengan membuat Polyline tool maupun point tool. Yang membedakan hanyalah class yang digunakan untuk membuat objek. Jika polyline menggunakan class ‘MultiCurve’ maka polygon menggunakan class ‘MultiPolygon’.

Read the rest of this entry

Membuat Polyline Tool di MapXtreme

Jika anda biasa menggunakan software SIG semacam MapInfo, tentu anda mengenal dengan tool “Polyline”. Tool ini berfungsi untuk menggambar garis secara bebas di peta. Garis akan terbentuk menghubungkan titik-titik lokasi klik. Pada dasarnya, ini merupakan pengembangan dari apa yang telah saya tulis disini. Lalu diterapkan untuk membuat tool seperti yang saya tulis disini. Yang terpenting disini adalah, digunakannya polyline interaction untuk mendapatkan koordinat titik-titik yang di klik pada peta.

Tool Polyline di MapInfo

Read the rest of this entry