Home Forum Download Account
สมาคมสำรวจระยะไกลและสารสนเทศภูมิศาสตร์แห่งประเทศไทย
เมนูหลัก
· เธซเธ™เน‰เธฒเนเธฃเธ
· กระดานข่าว
· ข้อมูลของสมาคมฯ
· ข่าวสารส่วนตัว
· ค้นหา
· ดาวน์โหลด
· แบบสำรวจ
· ปฏิทินกิจกรรมของสมาคมฯ
· เผยแพร่ข่าวสาร
· ยอดฮิตติดอันดับ
· เรื่องทั้งหมด
· เรื่องทั้งหมดสำหรับพิมพ์
· วารสาร
· สถิติการเข้าชม
· สมุดเยี่ยม
· หัวข้อเรื่อง
เลือกภาษา
เน€เธฅเธทเธญเธเธฃเธนเธ›เนเธšเธšเธ เธฒเธฉเธฒ:


เธ•เธดเธ”เธ›เธฃเธฐเธเธฒเธจ พฤหัสบดี 21 ส.ค. 08@ 10:25:40 ICT เน‚เธ”เธข admin
WMS mapserver กับ Openlayer
ข้อมูลด้านภูมิศาสตร์


พ.อ.ศุภฤกษ์ ชัยชนะ

การให้บริการ แผนที่ ผ่านทางระบบ internet ผมเคยเขียนลงในบทความ ที่ http://www.resgat.net/modules.php?name=News&file=article&sid=103 และก็ได้แนะนำว่า การจะเปิดข้อมูลการให้บริการแผนที่ ผ่านทางระบบ internet สามารถเปิดได้ใน เครื่องมือที่เรียกว่า QGIS แต่ก็มีปัญหาค้างคาอยู่ว่า ถ้าเราจะให้บริการ WMS บ้างด้วยชุดโปรแกรมของ Mapserver ของมหาวิทยาลัย Minnesota บ้างจะมีวิธีการอย่างใด และการเรียกใช้ WMS Mapserver ผ่านทาง web จะมีวิธีการใดที่ง่ายที่สุด

สำหรับคำถามข้อที่หนึ่ง ตอบได้ดังนี้

การทำ WMS ด้วย Mapserver ของมหาวิทยาลัย Minnesota จะต้องสร้าง Map file ที่มีคำอธิบายข้อมูลหรือ Metadata ด้วย โดยมีตัวแบบอย่างน้อยดังนี้

At the MAP level:

  • Map NAME
  • Map PROJECTION
  • Map Metadata (in the WEB Object):
    • wms_title
    • wms_onlineresource
    • wms_srs (unless PROJECTION object is defined using "init=epsg:...")

And for each LAYER:

  • Layer NAME
  • Layer PROJECTION
  • Layer METADATA
    • wms_title
    • wms_srs (optional since the layers inherit the map's SRS value)

และ function ในการเรียก map หรือตัวแผนที่คือ

GetCapabilities: เป็นการเรียก ข้อมูลที่ส่งมาเป็นแบบ XML

GetMap:เป็นการเรียก ข้อมูลที่เป็น ภาพแผนที่

รายละเีอียดหาอ่านได้จาก http://mapserver.gis.umn.edu/docs/howto/wms_server

คำถามข้อที่สองตอบได้ดังนี้

ผมลองใช้ ชุด script ของ Openlayer http://openlayers.org/ ลองทำการเรียกข้อมูลดู ปรากฎว่า ทำได้ง่าย อีกทั้งตัว Openlayer สามารถเรียกข้อมูลจาก แหล่ง WMS และ WFS ได้หลายแห่งไม่ว่า จะเป็นของ Googlemaps Yahoomap และ Ms virtual map ได้ด้วย ผมเขียน code ดังนี้ครับในการเรียก map จาก Mapserver ของมหาวิทยาลัย Minnesota

#<script src="http://127.0.0.1/OpenLayers.js"></script>
#<script type="text/javascript">
#var lon = 5;
#var lat = 40;
#var zoom = 5;
#var map, layer;

#function init(){
#map = new OpenLayers.Map( 'map' );
#layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
#"http://127.0.0.1/cgi-bin/mapserv.exe?map=/ms4w/apps/ms_ogc_workshop/service/config.map", {layers:'land_shallow_topo_2048,rivers' });
#map.addLayer(layer);

#map.setCenter(new OpenLayers.LonLat(lon, lat), zoom);
#map.addControl( new OpenLayers.Control.LayerSwitcher() );
#}
#</script>
#</head>
#<body onLoad="init()">
#<div id="map"></div>
#</body>
ในที่นี้ map file ผมคือ config.map ผลที่ได้ออกมาค่อนข้างน่าพอใจ และ เป็นเทคนิคที่ใช้ image tiling และเทคโนโลยี AJAX

คงเป็นตัวอย่างในการเรียกใช้ WMS ไม่มากก็น้อยนะครับ



 
_RELATED
· _MOREABOUT ข้อมูลด้านภูมิศาสตร์
· _NEWSBY admin


_MOSTREAD ข้อมูลด้านภูมิศาสตร์:
สองเท้าที่ก้าวย่าง บนภูหลวง

_RATEARTICLE
_AVERAGESCORE: 5
เธˆเธณเธ™เธงเธ™เธœเธนเน‰เธฅเธ‡เธ„เธฐเนเธ™เธ™: 1


_RATETHISARTICLE

_EXCELLENT
_VERYGOOD
_GOOD
_REGULAR
_BAD

_OPTIONS

 _PRINTER _PRINTER

 _FRIEND _FRIEND

"WMS mapserver กับ Openlayer" | _LOGINCREATE | 2 เธ‚เน‰เธญเธ„เธดเธ”เน€เธซเน‡เธ™เธ•เนˆเธฒเธ‡เน† | _SEARCHDIS
_COMMENTSWARNING

_NOANONCOMMENTS

Re: WMS mapserver กับ Openlayer (_SCORE 1)
เน‚เธ”เธข krit เน€เธกเธทเนˆเธญ ศุกร์ 21 พ.ค. 10@ 11:27:38 ICT
(_USERINFO | _SENDAMSG)
เรียน admin
ผมได้มาจับเรื่อง MapServer และ OpenLayer มาระยะหนึ่งแล้วครับ แต่มีปัญหาที่อยากจะขอคำปรึกษาดังนี้ครับ คือผมไม่รู้ว่าจะเขียน Code ใน html อย่างไร ในการเรียก Map file รวมไปถึงการอ้างอิง Path ใน Website จริง ๆ
ผมได้ดูตัวอย่างจากหลาย ๆ ที่เห็นเข้าเขียนว่า
var wms = new openlayers.Layer.WMS(
"Seguin Trail",
"้http://142.222.6.185/cgi-bin/mapserver.exe?map=/wwwroot/seguinTrail/seguin.map",
{'layer':'Seguin Trail','format':'png'},
{
'opacity':0.9,
'isBaseLayer':false,'wrapDateLine': true,singleTile:true
}
);
map.addLayers(wms);

ผมงงตรงการอ้างอิง map file ( map=/wwwroot/ ) ผมจะใส่ชื่อ web site เลยได้ไหมครับ และผมจะเขียนอ้างใน Map file อย่างไรครับถ้าผมเอาข้อมูลทั้งหมดขึ้น Website ด้วย (จากตัวอย่าง Map file เขาเขียนในส่วนของบรรทัด DATA ว่า DATA 'C:wwwrootf2007cl-jarkottdataorn_ORNUSER_ORN.shp' ครับ)
ขอรบกวนตอนคำถามผมหน่อยครับ
ด้วยความเคารพ