Monthly Archives: September 2009

Boundary Selection di MapXtreme

Di mapxtreme kita bisa melakukan seleksi objek-objek yang ada dalam batas tertentu. Misalnya melakukan seleksi objek di suatu propinsi. Pada contoh kali ini, akan dilakukan seleksi objek jalan yang ada di propinsi. Pada peta jalan tidak ada informasi atribut yang menunjukkan lokasi jalan. Karena itu untuk melakukan seleksi kita menggunakan peta propinsi sebagai filter.

Pertama kita melakukan seleksi propinsi dari peta propinsi (INDONESIA_PROVINSI). Peta propinsi ini mempunyai kolom atribut “PROVINSI”.

MICom.CommandText = "select mi_geometry from INDONESIA_PROVINSI 
                     where PROVINSI = 'BALI’";

hasilnya dikonversi sebagai feature geometry.

Feature geometry ini digunakan sebagai parameter dari methoe SearchWithinGeometry.

Contoh kode selengkapnya:

Map peta = MapInfo.Engine.Session.Current.MapFactory[0];
MapInfo.Data.IResultSetFeatureCollection irfc = null;
MapInfo.Data.MIConnection micon = new MapInfo.Data.MIConnection();
MapInfo.Data.MICommand MICom = micon.CreateCommand();

//ambil batas provinsi dari peta provinsi
MICom.CommandText = "select mi_geometry from INDONESIA_PROVINSI where PROVINSI = 'BALI’";
micon.Open();
FeatureGeometry fg = MICom.ExecuteScalar() as FeatureGeometry;

//batas provinsi dijadikan batas geometri di peta jalan
MapInfo.Data.SearchInfo si = MapInfo.Data.SearchInfoFactory.SearchWithinGeometry(fg,
MapInfo.Data.ContainsType.Centroid);
irfc = micon.Catalog.Search("INDONESIA_STREET", si);

//ambil batas provinsi dari peta provinsi
MapInfo.Engine.Session.Current.Selections.DefaultSelection.Add(irfc);
//zoom ke provinsi yang di pilih
peta.SetView(fg);

Happy Coding!

Iklan

Membuat Tool Untuk Mendapatkan Koordinat Lokasi

Di artikel sebelumnya telah dibahas bagaimana membuat tool sendiri di mapxtreme sesuai kebutuhan. Tool default dari mapxtreme, diubah fungsi dan cara kerjanya. Untuk membuat tool yang berfungsi mendapatkan koordinat lokasi yang di klik pada peta, digunakan centertool atau pointselectiontool.

Seperti diketahui, peta yang ditampilkan mapxtreme berbentuk image (png, gif). Ketika melakukan klik di peta, yang diperoleh adalah koordinat image. Kemudian koordinat image ini di konversi menjadi koordinat geografis. Semua proses ini terjadi di server,  dan didefiniskan di class. Setelah semua proses selesai, class akan mengirim informasi ke client.

Proses di client dijabarkan menggunakan code javascript. Bagaimana infomasi akan ditampilkan di browser, semuanya dibuat menggunakan javascript.
Read the rest of this entry

Membuat Tool Sendiri di MapXtreme Web

Tool standard dari MapXtreme web

Tool standard dari MapXtreme web

Sebagai software untuk membuat aplikasi mapxtreme menyediakan beberapa tool standard baik untuk aplikasi web maupun desktop. Tool-tool yang tersedia di mapxtreme dapat dilihat di gambar sebelah.  Lalu bagaimana jika kita ingin membuat tool yang mempunyai fungsi yang berbeda dari biasanya?

Ada beberapa hal yang perlu dilakukan ketika membuat tool

  1. Menentukan client interaction. Client interaction ini untuk menentukan bagaimana interaksi yang dilakukan user terhadap peta. misal: poin klik, klik dan drag atau poligon klik.
  2. Membuat class turunan dari class MapBaseCommand. Class ini berisi semua fungsi dan proses yang harus dijalankan tool di sisi server. Apa yang harus dilakukan tool ketika tool diaktifkan semuanya didefinisikan di class ini.
  3. Definisikan file class ini di event Page load agar sistem mengetahui adanya tool baru.
  4. Buat file javascript. File ini berisi semua fungsi dan proses yang harus dijalankan tool di sisi client. Ketika class (no 2) telah selesai melakukan tugasnya, hasilnya akan di kirim ke client dan javascript ini yang bertugas menampilkan informasi tersebut ke client.
  5. Ubah property di button tool. Isi nama fungsi javascript (4) di property  ClientCommand, dan nama class (2) di property Command.
property tool

Tool property panel

Perhatikan gambar diatas. Secara default tool diatas adalah CenterTool. Kemudian property ClientCommand diganti menjadi getKoordinat dan property Command diganti menjadi ClsCoordinat. Hasilnya, tool ini tidak lagi berfungsi memindahkan posisi pusat peta ke lokasi klik, tapi berfungsi untuk memperoleh koordinat titik yang diklik.

Semoga bisa membantu, Happy Coding

Menampilkan Virtual Earth di ASP.net

Windows Live merupakan kumpulan servis dan software dari Microsoft terutama untuk aplikasi web. Untuk menambahkan dan menggunakan Windows Live ke aplikasi ASP.NET bisa digunakan Windows Live™ Tools for Microsoft® Visual Studio® 2008. Salah satu kontrol yang tersedia di Windows Live tools adalah Virtual Earth tool. Kontrol ini memungkinkan programer ASP.NET menambahkan peta dari Virtual Earth tanpa menggunakan javascript sedikitpun. Dan peta yang dihasilkan tetap dapat berinteraksi di client berkat dukungan AJAX.

Read the rest of this entry

Bagian 3: Proses dari mapcontrol ke layercontrol

Ini merupakan artikel ketiga tentang pembuatan layercontrol di MapXtreme.

  1. artikel pertama membahas pembuatan desain layercontrol
  2. artikel kedua membahas tentang proses dari layercontrol ke mapcontrol.

Untuk artikel ketiga ini akan dibahas mengenai proses yang terjadi dari mapcontrol ke layercontrol. Ketika mapcontrol mengalami perubahan, misal akibat zoom in/out, layer-layer tertentu mungkin akan berubah visibilitynya. Ketika terjadi perubahan tersebut maka secara otomatis layercontrol harus merubah informasi layer di dalamnya.

Read the rest of this entry

Bagian 2: Proses dari layercontrol ke mapcontrol

Seri kedua artikel yang membahas pembuatan layer kontrol di mapxtreme.

Di artikel sebelumnya, dibahas bagaimana membuat tampilan layercontrol menggunakan gridview dan sebuah button. Dibagian kedua ini, dibahas bagaimana proses yang terjadi ketika button di klik, bagaimana melakukan perubahan di mapcontrol sesuai dengan perubahan di layercontrol.

Read the rest of this entry

Bagian 1: membuat desain tampilan layercontrol

Di artikel sebelumnya telah dijelaskan. Disini akan dijelaskan cara membuat desain layercontrol mapxtreem sesuai dengan tampilan layercontrol di aplikasi SISN.

Layercontrol untuk MapXtreme kita buat menggunakan gridview. Kolom pertama merupakan nama-nama layer, kolom kedua menunjukkan visibility, kolom ketiga menunjukkan label layer. Daftar nama layer bisa ditulis secara manual di gridview atau disimpan di database. Tidak semua layer di MWS dimasukkan ke database, layer yang disimpan di database hanya layer yang akan ditampilkan di layer kontrol. Menggunakan database lebih memudahkan pengkodean dan editing, apabila ada layer yang ditambahkan atau dihapus.

Read the rest of this entry