MapServer 5.6 New>>>

_______วันนี้นำข่าวการเปลี่ยนแปลงหนึ่งมาฝาก ท่านที่ใช้ MapServer ในการพัฒนาระบบ ตอนนี้ Umn Map Server ออกเวอร์ชั่นล่าสุดคือ MapServer 5.6 ที่มาพร้อมกับการเปลี่ยนแปลงขนานใหญ่ สิ่งหนึ่งที่เปลี่ยนแปลงคือเรื่องของ MapFile ในเวอร์ชั่น 5.6 MapServer เปลี่ยนจาก Mapfile ที่เป็น text-based ให้เป็น XML ตามคำเรียกร้องของนักพัฒนาหลายกลุ่มที่ต้องการความหยืดหยุ่นจากการใช้ XML ผสานกับเทคโนโลยี web 2.0 หลายคนยิ้มแป้น หลายคนอมทุกข์ เพราะนั้นหมายถึงการที่ต้อง Upgrade ระบบใหม่ แต่ถ้าถามผมผมกับรู้สึกชอบมากกว่า เนื่องจาก XML เป็นอะไรที่ยืดหยุ่นมากกว่า text file และสะดวกเมื่องเราต้องการทำ on the fly process

_____สำหรับการแปลง mapfile แบบเดิม *.map มาเป็น xml ก็ง่ายใช้ xslt ของ mapserver ทำได้เลย โดยดาวน์โหลด xsd สำหรับการแปลงตัวอย่าง

xmlstarlet val -e --xsd mapfile.xsd my-new-mapfile.xml

แปลงกลับจาก xml > .map
xsltproc mapfile.xsl my-new-mapfile.xml > /tmp/my-regular-mapfile.map

ตัวอย่างผลลัพธ์ครับ

<?xml version=”1.0″ encoding=”UTF-8″?>
<Map name=”GMAP-DEMO” version=”5.6.0″ status=”ON” xmlns=”http://www.mapserver.org/mapserver&#8221; xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance&#8221; xsi:schemaLocation=”http://www.mapserver.org/mapserver”&gt;
<extent>-2200000 -712631 3072800 3840000</extent>
<fontSet>../etc/fonts.txt</fontSet>
<imageColor red=”255″ green=”255″ blue=”255″/>
<Layer name=”bathymetry” type=”RASTER” status=”ON”>
<data>bath_mapserver.tif</data>
<Metadata>
<item name=”DESCRIPTION”>Elevation/Bathymetry</item>
</Metadata>
</Layer>
<Layer name=”popplace” type=”POINT” status=”ON”>
<Class name=”Cities”>
<color red=”0″ green=”0″ blue=”0″/>
<expression>1</expression>
<Label type=”TRUETYPE”>
<align>LEFT</align>
<color red=”255″ green=”0″ blue=”0″/>
<font>sans-italic</font>
<outlineColor red=”255″ green=”255″ blue=”255″/>
<partials>FALSE</partials>
<position>AUTO</position>
<size>8</size>
</Label>
<outlineColor red=”255″ green=”255″ blue=”255″/>
<size>8</size>
<symbol>2</symbol>
<template>ttt_query.html</template>
</Class>
<Class name=”Cities”>
<color red=”110″ green=”0″ blue=”0″/>
<expression>/2|3/</expression>
<Label type=”TRUETYPE”>
<align>LEFT</align>
<color red=”0″ green=”0″ blue=”0″/>
<font>sans</font>
<outlineColor red=”255″ green=”255″ blue=”255″/>
<partials>FALSE</partials>
<position>AUTO</position>
<size>8</size>
</Label>
<outlineColor red=”255″ green=”255″ blue=”255″/>
<size>6</size>
<symbol>7</symbol>
<template>ttt_query.html</template>
</Class>
<classItem>Capital</classItem>
<data>popplace</data>
<labelItem>Name</labelItem>
<Metadata>
<item name=”DESCRIPTION”>Cities</item>
<item name=”DESCRIPTION”>NAME</item>
</Metadata>
<tolerance>5</tolerance>
</Layer>
<Legend status=”ON”>
<keySize x=”18″ y=”12″/>
<Label type=”BITMAP”>
<align>RIGHT</align>
<color red=”255″ green=”255″ blue=”255″/>
<size>MEDIUM</size>
</Label>
</Legend>
<OutputFormat name=”AGG/PNG”>
<driver>AGG/PNG</driver>
<extension>png</extension>
<imageMode>RGB</imageMode>
<mimeType>image/png</mimeType>
<transparent>OFF</transparent>
</OutputFormat>
<QueryMap>
<color red=”255″ green=”0″ blue=”0″/>
<style>HILITE</style>
</QueryMap>
<Reference status=”ON”>
<color red=”-1″ green=”-1″ blue=”-1″/>
<extent>-2200000 -712631 3072800 3840000</extent>
<image>images/keymap.png</image>
<outlineColor red=”244″ green=”43″ blue=”22″/>
<size x=”120″ y=”90″/>
</Reference>
<ScaleBar status=”ON”>
<align>CENTER</align>
<backgroundColor red=”0″ green=”0″ blue=”0″/>
<color red=”255″ green=”255″ blue=”255″/>
<imageColor red=”255″ green=”255″ blue=”255″/>
<intervals>5</intervals>
<Label type=”TRUETYPE”>
<align>CENTER</align>
<color red=”0″ green=”0″ blue=”0″/>
<outlineColor red=”244″ green=”43″ blue=”22″/>
<size>SMALL</size>
</Label>
<outlineColor red=”0″ green=”0″ blue=”0″/>
<size x=”150″ y=”5″/>
<units>KILOMETERS</units>
</ScaleBar>
<shapePath>../data</shapePath>
<size x=”400″ y=”300″/>
<symbolSet>../etc/symbols.sym</symbolSet>
<units>METERS</units>
<Web>
<imagePath>/tmp/ms_tmp/</imagePath>
<imageUrl>/ms_tmp/</imageUrl>
<log>tmp/gmap.log</log>
<maxScaleDenom>50000000</maxScaleDenom>
<minScaleDenom>2000000</minScaleDenom>
</Web>
</Map>
_____นอกจากนี้ 5.6 ยังแก้ bug และเพิ่มประสิทธิภาพในการเข้าถึงข้อมูล เช่นการ Query แบบ ne-pass query processing เพิ่มประสิทธภาพของการกำหนดขนาด resolution รวมไปถึงการแสดง label แบบหลายบรรทัดและการเขียนทับ เป็นต้นแวะไปดาวน์โหลดมาใช้งานได้ที่ http://mapserver.org/download.html#download

Advertisements

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s

สร้างเว็บไซต์หรือบล็อกฟรีที่ WordPress.com.

Up ↑

%d bloggers like this: