ปรับปรุง P.Mapper ให้เข้ากับงาน

24 11 2008

การแก้ไข ให้ p.mapper ใช้งานได้ กับงานของคุณ

ยกตัวอย่างเป็น การแสดงข้อมูลวัดในอำเภอ โขงเจียม จังหวัด อุบลราชธานี

ข้อมูล อยู่ใน c:\ms4w\Apache\htdocs\wat
(เอาอย่างง่ายก่อน เดี๋ยวค่อยปรับปรุง) สำเนาจาก p.mapper demo มาไว้ แล้ว เปลี่ยนชื่อ

ตัวข้อมูลแผนที่ อยู่ใน c:\ms4w\Apache\htdocs\wat\data\

ขั้นตอนการแก้ไข

  1. สร้าง หรือแก้ไข mapfile ให้เป็นข้อมูล ที่ต้องการแสดงผล ในที่นี้ ใช้ ชื่อ wat.map
  2. นำ wat.map ไปไว้ ใน c:\ms4w\Apache\htdocs\wat\config\default\wat.map
  3. แก้ไขไฟล์ c:\ms4w\Apache\htdocs\wat\config\config.ini
    แก้ไขชื่อ Mapfile ใน บรรทัดที่ 83-86 โดยประมาณ เปลี่ยนจาก pmapper_demo.map เป็น wat.map
    แก้ไขชื่อ Layer ในบรรทัด ที่ 120-135 ในหัวข้อ  LAYERS/GROUPS DEFINED MANUALLY บรรทัด ที่ขึ้นต้นด้วย
    allGroups = countries, cities, dem, rivers, jpl_wms_global_mosaic แก้เป็น Layer ที่อยู่ใน wat.map
    allGroups = province, kongjeam, roads, village, temple
  4. แก้ไขไฟล์ c:\ms4w\Apache\hidocs\wat\config\default\php_config.php
    ส่วนนี้เป็นการให้ แสดง Layer ให้เลือก ได้ บน web เลือกแบบ TOC
    แก้ไขในบรรทัดที่ 6-14 ในหัวข้อ *  Definition of categories for legend/TOC แก้เป็น
    /**
    * Definition of categories for legend/TOC
    */
    $categories[‘cat_admin’]  = array(“province”, “kongjeam”, “roads”, “village”);
    $categories[‘cat_temple’] = array(“temple”);
    $categories[‘cat_raster’] = array(“dem”, “jpl_wms_global_mosaic”, “wmstest”);

    $_SESSION[‘categories’] = $categories;


    เซฟไฟล์ แล้ว ลองรันใน browser

  5. cat_temple ยังไม่ได้ เพิ่มในข้อมูล ต้องไปเพิ่ม
    แก้ไขไฟล์ \wat\incpho\locale\language_en.php
  6. เพิ่ม $_sl[‘cat_temple’] = ‘Temple data’; เข้าไป บันทึก และทดสอบ

____


Actions

Information

15 responses

3 03 2009
mrter2000

เยี่ยมมากเลยครับ ผมอยากจะขอความรู้เรื่อง mapserver ด้วยจังเลยครับ
พอจะให้คำปรึกษาหน่อยนะครับตอนนี้กำลังศึกษาอยู่ครับ

23 04 2009
enumap

ได้ครับผม ยินดีช่วยครับ

26 07 2009
w

กำลังสนใจเว็บแมบตัวนี้ครับ พอจะมี paper ใหอ่านหรือมีคำแนะนำบ้างไหมครับ

28 07 2009
enumap

ผมว่า paper ตรงๆ เนี้ยะคงไม่มีหรอกครับ
ส่วนของผมนี่ก็น่าจะช่วยให้ติดตั้งได้แล้ว
ที่เหลือก็ลองเปลี่ยนข้อมูลของเรามาใส่แทน
แรกๆ อาจใช้ชื่อเดียวกับของเค้าไปก่อน พอภาพออกมาได้แล้ว

ก็ศึกษาเพิ่มเติมจากใน help กับ Document ของ P.Mapper เองนั่นแหละครับ

13 01 2012
lekgis

ลองแก้แล้วแต่เหมือนว่าระบบพิกัดเดิมยังเป็น lat/long อยู่จะไปแก้ตรงไหนหรือคับ

13 01 2012
lekgis

ถ้าหากเปลี่ยนแผนที่จาก demo มาเป็นแผนที่แถวประเทศไทย หน้าแผนที่จะเป็นสีขาวหมดเลยคับ ต้องไปเปลี่ยนระบบพิกัดในไฟล์ pmapper_demo.map คับ
ที่บรรทัดแรกเลย อยู่ท้ายสุด

แก้จาก “init=epsg:3035” “+proj=laea +lat_0=52 +lon_0=10 +x_0=4321000 +y_0=3210000 +ellps=GRS80 +units=m +no_defs no_defs”

เป็น “init=epsg:32647″# Projection UTM Zone 47 END

15 01 2012
enumap

การกำหนดระบบพิกัดเป็นการบอกกับ pmapper ว่าเราต้องการให้แสดงผลอยู่ในระบบพิกัดอะไร ถ้าระบบพิกัดที่ระบุตรงกับระบบพิกัดของข้อมูลที่มีก็จะไม่มีการแปลงระบบพิกัดอัตโนมัติ(Projection on the fly) EPSG:32647 คือ UTM zone 47 บน WGS84 หากพื้นที่อยู่ใน zone 48 ก็จะเป็น EPSG:32648 ถ้าต้องการแสดงผลเป็น lat/lon/WGS84 ก็ใช้ EPSG:4326
ในประเทศไทยนิยมใช้ระบบพิกัดอยู่ 6 อย่าง ดูระบบพิกัดและรหัสได้จาก http://sawarino.blogspot.com/2009/08/blog-post.html

13 09 2012
Naykuk

อยากทราบว่าจะต้องทำยังไงให้ พิมพ์ภาษาไทย อ่านไทย ได้ใน pmapper ครับ

13 09 2012
enumap

ภาษาไทยในส่วนของ HTML คงไม่น่ามีปัญหาเพื่อเป็นเรื่องทั่วไป

ส่วนภาษาไทยที่ต้องการให้แสดงบนแผนที่นั้น
ต้องกำหนดโค้ดการแสดงผลตั้งแต่ตอนทำข้อมูลจะง่ายกว่า กำหนดให้เป็น UTF-8 ตั้งแต่แรก ถ้าไม่ได้ทำลองกำหนดใน p.mapper ให้เป็น TIS-620 ดูครับ

20 09 2012
anchy

ถ้าต้องการ language_th ของ pmapper สามารถหาดาวห์โหลดได้จากที่ไหนบ้างค่ะ

21 09 2012
enumap

ไม่รู้เหมือนกันครับไม่ได้ใช้ pmapper มาสามปีแล้ว
เมื่อก่อนเคยคิดจะแปลเหมือนกัน โดยการนำ language_en มาแล้วก็แปลทำได้ไม่เท่าไหร่ก็รู้ว่า ภาษาอังกฤษของเราห่วย
ก็เลยใช้ภาษาอังกฤษต่อไป
เคยแปลเล็กน้อยโดยการเทียบใช้เฉพาะบางคำเท่านั้นครับ

ถ้าจำไม่ผิดมีหน้าที่เค้าให้เราแก้เองนี่ครับ แก้ไ้ด้ดีแล้วอ่านรู้เรื่องแล้วก็ส่งกลับไปให้เค้าด้วย
เป็น excel หรือไงเนี้ยะ มีให้ในเว็บของ pmapper เลย

ส่วนตัว ผมว่าให้แสดงผลภาษาไทยได้มีความสำคัญมากกว่าเมนูครับ

22 09 2012
anchy

ถ้าหากต้องการนำภาพถ่ายดาวเทียมที่เป็นไฟล์ raster แสดงใน pmapper ต้องเขียน code แบบไหนค่ะ
ลองเขียนตามรูปแบบที่เค้าให้มาแล้วก็ปรับแก้ zone เรียบร้อยแล้ว แต่ภาพก็ยังไม่โชว์ค่ะ

22 09 2012
enumap

มาถึงยุคนี้ต้องยอมรับว่า geoserver กับ openlayer มาแรง ถ้าไม่ติดว่าคนสอนใช้ pmapper ลองเปลี่ยนไปใช้ openlayer ดูไหมครับตัวอย่างเยอะพอสมควรลอกตามได้ง่าย

ตอนแรกๆ ที่ลองใช้ pmapper ก็เจอปัญหานี้เหมือนกันทำถูกทุกอย่างแต่ว่าภาพไม่ออก
คำว่าไม่ออกนี้ไม่ได้หมายความว่า ภาพไม่มา ภาพมาแต่ไม่ใช่พื้นที่ที่เราต้องการ ออกมาแต่สีขาวๆ หรือเหมือนไม่มีอะไรออกมาแต่ไม่แสดง error

อันดับแรกต้องเช็คก่อนว่า mapfile ที่เขียนนั้นแสดงภาพที่ต้องการได้หรือไม่ โดยการเรียกผ่าน cgi
http:\\127.0.0.1\cgi-bin\mapserv.exe? map=c:\ms4w\Apache\htdocs\wat\config\default\wat.map&mode=map ตามตัวอย่างข้างบน
ถ้าไม่แสดง error และไม่แสดงภาพ แสดงว่าต้องสั่งอะไรในmapfile ให้มันแสดงออกมาหรือถ้าแสดง error ก็แก้ไขให้ถูกต้องก่อนจนกระทั่งแสดงภาพออกมา

จากนั้นก็ลองทำตามข้อ 3,4,5 และ 6 ที่เขียนไว้แล้ว

22 09 2012
พีระพงศ์

ต่อ จากข้อ 7 นะครับ คือ มันขึ้นแล้วนะคับ แต่ zoom in โหลดไม่ไปเลยคับ คือภาพนี้ เป็น .tif ขนาด 1.3 GB พอจะมีวิธีปรัย มะคับ ขอบคุณคับ

29 10 2012
enumap

ไม่ลองทำ pyramid หรือทำ tiling ก่อนหละครับ

Leave a Reply

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 / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s




%d bloggers like this: