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!

About Yuniar

Penulis sekarang lebih banyak bekerja menggunakan teknologi Microsoft .NET secara umum dan TIDAK lagi menggunakan aplikasi MapXtreme.net dari MapInfo. Karena itu mohon maaf, jika pertanyaan-pertanyaan mengenai MapXtreme sudah tidak bisa saya jawab lagi.

Posted on 29 September 2009, in MapXtreme and tagged , , . Bookmark the permalink. 7 Komentar.

  1. mas saya mau nanya lagi nih,, gimana ya caranya menampilkan data-data feature/objek yang diselect dalam peta??
    thx..

    • Ini pertanyaan yang susah jawabnya…

      Di mapxtreme memang tidak ada tool yang secara khusus berfungsi untuk menampilkan data2 dari objek yang di select. Namun bukan berarti tidak bisa dilakukan, satu-satunya cara untuk melakukannya adalah membuat tool sendiri by code.
      Untuk membuatnya coba Bayu baca artikel saya yang bercerita tentang bagaimana membuat tool sendiri. Baca disini.

      Cara lebih mudah, Bayu buka projek sample bawaan mapxtreme, cari tentang “INFO TOOL”, Silahkan copy aja codingnya dari situ, tentang bagaimana settingnya, silahkan baca di artikel saya.

      Semoga berhasil

  2. Mas, kalo cara membuat fungsi search yg ketika user memasukan nama jalan dan kemudian hasilnya akan zoom in ke jalan yg dimasukan tadi itu gimana caranya ya mas? Saya sudah googling sana-sini tapi belum dapet referensinya. Mohon pencerahannya mas. Terimakasih.

    Salam,
    Kiki Wisaka

    • Bisa panjang jawabnya kalo ditulis disini.
      Saya pernah membuat class untuk melakukan pencarian objek seperti yang kiki mau lakukan.
      Di fungsi search nya (button klik atau apapun) tinggal di tulis kode ini. Ini bisa digunakan untuk pencarian objek-objek lainnya.

      Dim peta as Map = ...
      Dim sv As New ViewControler(peta)
      sv.SearchKey = "something" 'kata kunci yang mau dicari. Misal nama jalan.
      sv.TableName = "namapeta"  'nama peta dimana pencarian akan dilakukan. misal "petajalan"
      sa.ColumnKey = "namakolom" 'nama kolom di dalam tabel peta dimana searchkey akan dicari. misal 'kolomnamajalan'
      sv.SetViewMap() 'kalau ketemu langsung di zoom ke objeknya
      

      silahkan donwload filenya disini http://www.4shared.com/zip/_15On1ce/ViewControler.html .
      Boleh diubah/diotak-atik sesuai kebutuhan.

  3. Terimakasih mas ilmunya sangat berguna. Tapi belum bisa juga mas, hehehe… Alias masih belum dapet fungsi tersebut. Jadi sementara saya alihkan dulu ke pembuatan fungsi search…

  4. Siang mas,

    Satu lagi mas, saya kan sudah membuat fungsi searching dan ditampilkan pada grid view tapi belom zoom in to map. Nah saya ingin membuat fungsi zoom in to map, dimana ketika user mengklik salah satu data pada grid view, obyek yang ada pada data grid view tersebut langsung melakukan action zoom in to map.
    Mohon pencerahannya mas… Terimakasih

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: