VB.netでMapscriptを使ってみる

vb.net 2010での動作も確認できました。
昨日のC#でMapscriptを使ってみると同じようにdll類をセットアップして、
vb.netのformプロジェクトを作成します。

コードはこんな感じです。

Imports OSGeo.MapServer
Imports System
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Data
Imports System.Drawing
Imports System.IO
Imports System.Text
Imports System.Windows.Forms
 
Public Class MapForm
 
    Const MAP_FILE As String = "C:\world\myworld.map"
	Private m_map As New mapObj(MAP_FILE)
	Private m_fullExtent As rectObj
 
	Private Sub MapForm_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
		m_map.width = picMap.Width
		m_map.height = picMap.Height
		RedrawMap()
		m_fullExtent = New rectObj(m_map.extent.minx, m_map.extent.miny, m_map.extent.maxx, m_map.extent.maxy, 0)
 
	End Sub
 
	Private Sub RedrawMap()
		Dim Image As imageObj
		Dim ms As System.IO.MemoryStream
		Dim img As Byte()
 
		Image = m_map.draw()
		img = Image.getBytes()
		ms = New MemoryStream(img)
 
		picMap.Image = System.Drawing.Image.FromStream(ms)
 
	End Sub
End Class

なんと、簡単にできるのか。 本当にうれしくなってきますよ。vb.netで動作するということは、ASP.netでも動くということでしょうかね。
CentOSでmonoを使って、mapseverを動かすこともできるのでしょう。
Visual Studioの開発環境を使ったMapServerのアプリケーションを作成できるということですね。
これは、おもしろくなってきましたね。

表示しただけではつまらないので、こちらにちょっこっと機能を付け加えたものをアップしています。
ご自由にダウンロードしてください。

今後の追加機能としては、最低限

  • pan機能の拡張
  • rubber band rectangleで拡大
  • Identity
  • Attribute view
  • Attribute Query & Spatial Query

などでしょうか。
誰か、一緒に作らないかなぁ。。

  1. はじめまして、bugnaと申します。こちらのサイトでは、豊富な好奇心で様々な取り組みをされていて、参考になる記事がとても多くて勉強に成ります。
    私もかつて、この記事にあることを掘り下げて、バグな明保野というサイトで、MapScriptのAPI翻訳や、VB.netオンリーでデスクトップGIS構築に関する情報発信をしていました。FOSS4Gツール、オープンソースのツールは、素晴らしい!と、改めて思った次第です。
    興味の範囲が近いなと思い、コメントをつけさせてもらいました。それでは。

    • bugna 様

      コメントありがとうございます。
      つたないBlogですが、参考にしていただけると書いている本人としては、
      非常に励みになります。

      年度末で、なかなかBlogの更新がままならないのですが。
      年度開けには、色々と貯めたネタを書いていきます。

Reply to admin ¬
Cancel reply


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

 

WP-SpamFree by Pole Position Marketing

Social Widgets powered by AB-WebLog.com.