วันจันทร์ที่ 13 กุมภาพันธ์ พ.ศ. 2560

ตั้งค่า MS4W 3.2.0 ให้สามารถติดตั้ง PHP Composer

1. ติดตั้ง ms4w ดาวน์โหลดได้จาก http://ms4w.com/index.html


2. ดาวน์โหลด PHP 5.6.30 ที่ http://windows.php.net/downloads/releases/php-5.6.30-Win32-VC11-x86.zip (เนื่องจาก ms4w ใช้ php เวอร์ชั่นนี้ในการใช้งาน ดังนั้นจึงต้องโหลดเวอร์ชั่นนี้เพื่อที่จะเอาไฟล์ php.exe)



3. คลาย zip file php-5.6.30-Win32-VC11-x86.zip  ที่โหลดมา แล้ว copy ไฟล์ php.exe ไปว่าที่ ms4w/Apache/cgi-bin


4. สร้างไฟล์ phpinfo.php ด้วย editor สามารถไป copy script ได้ที่ http://php.net/manual/en/function.phpinfo.php



5. ดาวน์โหลด https://getcomposer.org/download/ (เลือกโหลดแบบ Composer-Setup.exe) และติดตั้ง Composer


6. ทดสอบ composer ด้วย command line (cmd) แล้วพิมพ์ composer



วันศุกร์ที่ 3 กุมภาพันธ์ พ.ศ. 2560

การคำนวณเนื้อที่ไร่ งาน และตารางวา ในโปรแกรม QGIS

1. create field rai ngan and sqrwa in QGIS
  * rai type integer length 5
  * ngan type integer length 5
  * sqrwa type double length 10,2
  
2. calculate field rai in QGIS

    floor($area/1600)

3. calculate field ngan in QGIS

    floor((($area/1600)-"rai")*4)
 
4. calculate field sqrwa in QGIS

     (((($area/1600)-"rai")*4)-"ngan")*100
 

Click to see: https://gist.github.com/chingchai/2ebde82a5544e70f678f5a8f4e703caf

วันพุธที่ 1 กุมภาพันธ์ พ.ศ. 2560

ติดตั้งปลั๊กอิน MapSwipe Tool ในโปรแกรม QGIS

_______สวัสดีครับ ห่างหายไปนานกับการเขียน blog มีอะไรหลายอย่างที่ต้องทำเต็มไปหมด เลยไม่ค่อยได้นั่งเขียนเลยครับ ถ้าท่านไหนที่ติดปัญหาเกี่ยวกับการใช้ QGIS ก็สามารถไปเข้าร่วมและสอบถามในกลุ่ม QGIS Thailand Community ได้นะครับ วันนี้ผมจะมาสอนติดตั้งปลั๊กอินตัวนึงที่ชื่อว่า "MapSwipe Tool" ซึ่งมีเพื่อนๆ ถามมาหลายท่านเลยว่าติดตั้งยังไง จริงๆ แล้วปลั๊กอินตัวนี้ก็สามารถติดตั้งได้ปกติทั่วไปครับ หรืออีกวิธีนึงก็ติดตั้งแบบออฟไลน์นั่นเอง

วิธีที่ 1 แบบปกติทั่วไป
1. ไปที่ เมนู Plugins >> Manage and Install Plugins...
2. จากนั้นให้ทำการ enable experimental plugins เนื่องจากว่าปลั๊กอินนี้อยู่ในระหว่างการพัฒนาและทดลอง โดยไปที่ Settings > และติกกากบากที่ Show also experimental plugins


3. จากนั้นก็สามารถติดตั้งไปปกติครับ


Note: ปลั๊กอินนี้ support QGIS version 2.8.0 ขึ้นไปครับ

วิธีที่ 2  แบบออฟไลน์ (ไม่รู้เรียกว่าอะไร เอาชื่อนี้ละกันนะครับ)
1. ไปดาวน์โหลด Source code ที่ https://plugins.qgis.org/plugins/mapswipetool_plugin/
2. เลือกแถบ Versions ดูว่าจะเอาเวอร์ชั่นไหน แล้วคลิกโหลดที่ตัวเลขของเวอร์ชั่นได้เลย (ส่วนตัวผมเอาล่าสุดเลยละกันครับ แต่ถ้ามันใช้งานไม่ได้ก็ถอยไปโหลดเวอร์ชั่นต่ำลงไปนะครับ)


3. เมื่อโหลดมาแล้วก็มาคลาย ZIP ไฟล์ แล้ว copy ทั้งโฟลเดอร์ไปวางไว้ที่ C:\Users\(ชื่อเครื่องเราเอง)\.qgis2\python\plugins ดังภาพครับ


4. ตัวอย่างการใช้งาน MapSwipe Tool



เขียนโดย: ชิงชัย หุมห้อง (1 กุมภาพันธ์ 2560)

วันศุกร์ที่ 16 ธันวาคม พ.ศ. 2559

วิธีเรียก Service จาก ArcGIS Server โดยใช้โปรแกรม QGIS แบบที่ 2

ก่อนหน้านี้ผมเคยเขียนวิธีการเรียก service จาก ArcGIS Server เข้ามาในโปรแกรม QGIS แต่ขั้นตอนมันจะซับซ้อนนิดหน่อย ดูวิธีที่ 1 และหลังจากนั้นผมก็เขียนปลั๊กอินเข้ามาใช้เองและคิดว่ามันน่าจะมีปุ่มเพิ่มให้ในโปรแกรมเองเลย ซึ่งเห็นใน mailing list เขาคุยกันพักนึง แล้วก็มีปุ่มนี้ขึ้นมาให้เราใช้แล้ว :)

ซึ่งตัวอย่างของผมนี้ ได้ลองเรียก service จาก ArcGIS Server ของกรมพัฒนาที่ดิน ซึ่งเป็นชั้นข้อมูลภาพถ่ายออร์โธสี ที่มีให้บริการผ่านเครือข่ายอินเตอร์เน็ต

http://eis.ldd.go.th/lddeis/PLM.aspx

1. ไปที่เมนู Layer > Add Layer > Add ArcGIS MapServer Layers...

2. คลิกปุ่ม New และระบุดังนี้ แล้วคลิก OK
2.1 Name: ldd ortho (ตั้งชื่อ อะไรก็ได้)
2.2 URL: http://eis.ldd.go.th/ArcGIS/rest/services/LDD_RASTER_WM_CACHE/MapServer



 3. คลิก Connect และเลือก Layer และคลิกปุ่ม Add

 4. จะได้ดังภาพด้านล่าง

*** ขอขอบคุณ service จากกรมพัฒนาที่ดิน มา ณ ที่นี้ด้วยครับ

วันพุธที่ 19 ตุลาคม พ.ศ. 2559

Geoserver with Image mosaicking plugin

_______สำหรับผู้ที่สนใจในงานด้าน Internet GIS หลายคนคงเคยคิดว่าจะทำอย่างไรดี จะให้ข้อมูลที่เป็น basemap อย่างเช่น ข้อมูลภาพดาวเทียม ภาพถ่ายทางอากาศ ทั่วทั้งพื้นที่ที่เราต้องการ เพราะว่าไฟล์ขนาดใหญ่มากจึงทำให้มีปัญหาในการต่อภาพ (mosaic) ดังนั้นผมจึงแนะนำอีกวิธีหนึ่งที่ง่ายในการทำโดยใช้ "Image mosaicking plugin" ของ GeoServer โดยการทำดังต่อไปนี้

1. เตรียมข้อมูลภาพที่ต้องการจะแสดงผล และจะเปิดข้อมูลนั้นด้วย QGIS :)

2. Copy Data ไปยัง dir ของ Geoserver

3. ทำการสร้าง Layers >> โดยใช้ ImageMosaic

4. ทำการ Publish

5. Click Layer Preview


Download Data Example : Click
Reference:http://docs.geoserver.org/latest/en/user/tutorials/image_mosaic_plugin/imagemosaic.html

วันอังคารที่ 18 ตุลาคม พ.ศ. 2559

วิธีเรียก Service จาก ArcGIS Server โดยใช้โปรแกรม QGIS

_______หลายๆ คนเคยอยากที่จะต้องการเรียก service จาก arcgis server หรือ arcgis onine บนโปรแกรม QGIS ซึ่งเราก็สามารถทำได้ 2 วิธีโดยใช้ Python Console และอีกแบบก็จะใช้ GDAL/OGR ครับ
วิธีที่ 1 Python Console
1. In the QGIS Python console ไปที่ Plugins >> Python console
2. จากนั้นก็พิมพ์ qgis.utils.iface.addRasterLayer("http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer?f=json&pretty=true","esriLayer")


วิธีที่ 2 GDAL/OGR (gdal_translate)
1.ก็พิมพ์ลงใน terminal => gdal_translate "http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer?f=json&pretty=true" esriStreetLayer.xml -of WMS
2.จากนั้นจะได้ xml มาก็ให้ลากใส่ใน QGIS ได้เลยครับ



Reference : http://hub.qgis.org/wiki/quantum-gis/Arcgis_rest

วันศุกร์ที่ 14 ตุลาคม พ.ศ. 2559

การแสดงข้อมูลแผนที่จาก PostGIS เป็น GeoJSON บน Leaflet

_______การแสดงข้อมูลแผนที่บน Leaflet นั้น ข้อมูลส่วนใหญ่จะอยู่ในรูปแบบ GeoJSON แต่ทีนี้ข้อมูลของผมเองนี้ดันอยู่ในรูปแบบของ Database ที่เป็นแบบ PostGIS ซึ่งข้อมูลจะเป็นลักษณะของตารางและเก็บค่า Geometry ไว้ อ้าวแล้วยังงี้จะต้องทำอย่างไรถึงจะแสดงบน Leaflet ได้หล่ะ ไม่ยากเลยครับเราเพียงแค่ใช้ PHP แปลงข้อมูลของเราให้อยู่ในรูปแบบ GeoJSON เท่านั้นเอง สามารถเข้าไปดูได้ที่ GitHub ของผมเองได้ครับ ไปดูกันเลยว่าทำอย่างไร

ตัวอย่างจาก GitHub ดัง URL ด้านล่าง
https://gist.github.com/sanchangon/24058c407ab051dc5f72fa5fdbadc0ac

1. ไฟล์ healthcenter.html ที่ใช้แสดงแผนที่
<html>
<!--
 * Name: Leafletjs connect php-geojson through postgis spatial database   
 * Purpose: GIST@NU (www.cgistln.nu.ac.th)
 * Date: 2016/10/13
 * Author: Chingchai Humhong (chingchaih@nu.ac.th)
 * Acknowledgement: 
 !-->
<head>
<link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.css"/>
<script src="http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.js"></script>
<script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
</head>
<body>
<div id="map" style="width: 100%; height: 800px;"></div>
<script type="text/javascript">
var map = L.map('map');
var OpenStreetMap_BlackAndWhite = L.tileLayer('http://{s}.tiles.wmflabs.org/bw-mapnik/{z}/{x}/{y}.png', {
maxZoom: 18,
attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'
});
    
OpenStreetMap_BlackAndWhite.addTo(map);
map.setView([17.05, 100.25], 9);
function addDataToMap(data, map) {
    var dataLayer = L.geoJson(data, {
        onEachFeature: function(feature, layer) {
            var popupText = "hospital name: " + feature.properties.name
                + "<br>hospital code: " + feature.properties.maincode;
                //+ "<br><a href='" + feature.properties.url + "'>More info</a>";
            layer.bindPopup(popupText); }
        });
    dataLayer.addTo(map);
}
$.getJSON("healthcenter.php", function(data) { addDataToMap(data,map); });
</script>
</body>
</html>

2. ไฟล์ healthcenter.php ที่ใช้ในการแปลงเป็น GeoJSON
<?php
//-------------------------------------------------------------
// * Name: PHP-PostGIS2GeoJSON  
// * Purpose: GIST@NU (www.cgistln.nu.ac.th)
// * Date: 2016/10/13
// * Author: Chingchai Humhong (chingchaih@nu.ac.th)
// * Acknowledgement: 
//-------------------------------------------------------------
   // Database connection settings
  define("PG_DB"  , "database");
  define("PG_HOST", "localhost"); 
  define("PG_USER", "postgres");
  define("PG_PORT", "port"); 
  define("PG_PASS", "password"); 
  define("TABLE",   "table");
  
    // Retrieve start point
    // Connect to database
    $con = pg_connect("dbname=".PG_DB." host=".PG_HOST." port=".PG_PORT." password=".PG_PASS." user=".PG_USER);
    $sql = "select  gid, provcode, maincode, bed, name, lat, lon, typecode, ST_AsGeoJSON(geom) AS geojson from ".TABLE." WHERE provcode = 65; ";
    
   // Perform database query
   $query = pg_query($con,$sql);   
   //echo $sql;
    // Return route as GeoJSON
   $geojson = array(
      'type'      => 'FeatureCollection',
      'features'  => array()
   ); 
  
   // Add geom to GeoJSON array
   while($edge=pg_fetch_assoc($query)) {  
      $feature = array(
         'type' => 'Feature',
         'geometry' => json_decode($edge['geojson'], true),
         'crs' => array(
            'type' => 'EPSG',
            'properties' => array('code' => '4326')
         ),
            'properties' => array(
'gid' => $edge['gid'],
            'provcode' => $edge['provcode'],
            'maincode' => $edge['maincode'],
            'bed' => $edge['bed'],
            'name' => $edge['name'],
            'lat' => $edge['lat'],
            'lon' => $edge['lon'],
            'typecode' => $edge['typecode']
         )
      );
      
      // Add feature array to feature collection array
      array_push($geojson['features'], $feature);
   }
   // Close database connection
   pg_close($con);
   // Return routing result
   // header('Content-type: application/json',true);
  echo json_encode($geojson);
?>

เขียนโดย: ชิงชัย หุมห้อง (14 ตุลาคม 2559)
Reference: https://github.com/sanchangon/leaflet-phpgeojson

ซอฟต์แวร์รหัสเปิด (Open Source Software)

       ซอฟต์แวร์รหัสเปิด (Open Source Software) เป็นซอฟต์แวร์ที่มีการเปิดเผยวิธีการทำงานให้ผู้อื่น (นอกเหนือจากผู้พัฒนาซอฟต์แวร์) ได้รับทราบ ทำให้ผู้ใช้งานสามารถเรียนรู้วิธีการทำงานของซอฟต์แวร์ และปรับปรุงแก้ไขได้ด้วยต้นเอง รวมถึงการเผยแพร่ซอร์ซโค้ดได้อย่างสะดวก ภายใต้ข้อตกลงกฎหมายหรือสัญญา ซอฟต์แวร์รหัสเปิดมีการพัฒนาตั้งแต่โปรแกรมอำนวยความสะดวกขนาดเล็กไปจนถึงระบบปฏิบัติการที่มีประสิทธิภาพสูง หลายโปรแกรมได้รับการพัฒนาจนมีคุณภาพสูงทั้งในด้านของประสิทธิภาพ และความน่าเชื่อถือจนได้รับความนิยมอย่างสูง และมีการนำไปประยุกต์ใช้งาน อย่างข้อดีที่สำคัญของซอฟต์แวร์รหัสเปิด คือ ความสามารถที่จะนำซอฟต์แวร์ไปใช้งาน การศึกษา แก้ไข และเผยแพร่ได้อย่างเสรี ทำให้คำว่า ซอฟต์แวร์รหัสเปิด ซอฟต์แวร์โอเพนซอร์ซ (การเขียนแบบทับศัพท์เป็นคำไทย) และซอฟต์แวร์เสรี นั้นมีความหมายในทางเดียวกันหรือสามารถใช้แทนกันได้ จากภาพที่ 6 ซึ่งผู้วิจัยได้ให้คำจำกัดความของซอฟต์แวร์เสรี (Freedom of Software) อยู่ 4 คำดังนี้

1. มีความเสรีในการใช้งาน (Freedom of use)

2. มีความเสรีในการแจกจ่าย (Freedom of redistribute)

3. มีความเสรีในการคัดลอก (Freedom of copy)

  4. มีความเสรีในการดัดแปลง (Freedom of modify)

คำจำกัดความของซอฟต์แวร์เสรี (OSS)
(ดัดแปลงจาก Sanghee Shin, 2015)

เขียนโดย: ชิงชัย หุมห้อง (14 ตุลาคม 2559)

วันอังคารที่ 11 ตุลาคม พ.ศ. 2559

GRASS GIS: โปรแกรมที่รู้จักกันมากที่สุดของฟรีแวร์ทางด้านระบบสารสนเทศภูมิศาสตร์ (GIS)

     

      GRASS GIS  มี ชื่ อ เต็ ม ว่ า “ Geographic Resources Analysis Support System” เป็นหนึ่งในโปรแกรมที่รู้จักกันมากที่สุดของฟรีแวร์ทางด้านระบบสารสนเทศภูมิศาสตร์ (GIS) ซึ่งเป็นโครงการภายใต้อนุญาติสัญญา GNU General Public License (GPL) เป็นเครื่องมือที่มี ประสิทธิภาพที่สามารถจัดการได้ทั งข้อมูลราสเตอร์ ข้อมูลเวกเตอร์ และเครื่องมือประมวลผลเชิงพื้นที่ ซึ่งรวบรวมชุดคำสั่งการวิเคราะห์ไว้อยู่ในชุดเดียวกันโดยครอบคลุมชุดคำสั่งด้านการวิเคราะห์เชิงพื้นที่ แบบจำลองเชิงพื้นที่ การประมวลผลข้อมูลภาพ และการแสดงผลข้อมูลเชิงพื้นที่ GRASS ได้รับการพัฒนาขึ้นในปี ค.ศ. 1982 – 1995 โดยกองทัพสหรัฐอเมริกา (USACE) ใน หน่วยของ U.S. Army Construction Engineering Research Laboratory (CERL) เพื่อใช้ในการ จัดการที่ดินสำหรับตั้งฐานทัพ และต่อมา CERL ได้ปล่อยให้ใช้งานดาวน์โหลด Source Code ทางอินเตอร์เน็ต ทำให้มีกลุ่มผู้ใช้งานขยายออกไปทั่วโลก และในปี ค.ศ. 1995 CERL ก็ได้ถอนตัวออกจาก การพัฒนา ในปี ค.ศ. 1997 หลังจากนั้น GRASS 4.2 ได้ถูกเผยแพร่โดย Baylor University และ GRASS เวอร์ชั่น 4.2.1 ก็ถูกเผยแพร่ในปี ค.ศ. 1998 เช่นกัน การพัฒนาของ GRASS เวอร์ชั่น 5.0 เริ่มเปิดตัวในปี ค.ศ. 1999 และตั้งแต่ปีค.ศ. 2001 ที่ GRASS Development Team มีสำนักงานใหญ่อยู่ที่ ITC-irst (Centro per la Ricerca Scientificae Tecnologica) ตั้งอยู่เมืองเตรนโต ประเทศอิตาลี GRASS 5.0.0 ได้รับการเปิดตัวอย่างเป็นทางการในปีค.ศ. 2002 ซึ่งมีการปรับปรุงข้อผิดพลาดต่างๆ ของโปรแกรมมาตลอดตั้งแต่เวอร์ชั่น GRASS 4.x รวมทั้งสนับสนุนเครื่องมือใหม่ๆ เช่นการแสดงผลข้อมูลในรูปแบบ 3 มิติ และโมดูลการวิเคราะห์ทางด้านสิ่งแวดล้อมเชิงพื้นที่ เป็นต้น โดยปัจจุบัน GRASS อยู่ในเวอร์ชั่น 7.0.5
ภาพตัวอย่าง



เขียนโดย: ชิงชัย หุมห้อง (11 ตุลาคม 2559)
Reference: https://grass.osgeo.org

วันจันทร์ที่ 10 ตุลาคม พ.ศ. 2559

ZOO-Project: Open WPS platform

     

       ZOO-Project  คือแพลตฟอร์มการบริการประมวลผลบนเว็บแบบรหัสเปิด (open source) ที่ริเริ่มโดย GeoLab และดูแลโดยเครือข่ายชุมชนผู้ใช้งานและนักพัฒนาทางด้านภูมิสารสนเทศทั่วโลก โดยมีประธานของโครงการคือ Gérald FENOY โปรแกรมเมอร์ชาวฝรั่งเศส และยังมีคณะกรรมในการพัฒนาโครงการนี้อยู่ทั่วโลก อาทิเช่น Nicolas BOZON (ฝรั่งเศส), Maria BROVELLI (อิตาลี), Massimilano CANNATA (สวิสเซอร์แลนด์), Hirofumi HAYASHI (ญี่ปุ่น), Daniel KASTL (เยอรมัน), Jeff McKENNA (แคนาดา), Markus NETELER (เยอรมัน), Venkatesh RAGHAVAN (ญี่ปุ่น) และ Angelos TZOTSOS (กรีซ) ซึ่ง ZOO-Project จะประกอบด้วย 4 ส่วนหลัก ๆ นับตั้งแต่การสร้างซึ่งจะได้แก่ ZOO-Kernel, ZOO-Services, ZOO-API และ ZOO-Client
ZOO-Kernel คือ WPS เซิร์ฟเวอร์ และเป็นหัวใจของ ZOO-Project ซึ่งดำเนินงานตามข้อกำหนดของ OGC WPS 1.0.0 ที่เขียนด้วยภาษา C สามารถทำงานบน Linux, Mac OSX และวินโดว์ ซึ่งมีลักษณะเหมือนกับโปรแกรม CGI ซึ่งทำงานร่วมกับเว็บเซิร์ฟเวอร์ เช่น Apache หรือ IIS โดย ZOO-Kernel จะทำหน้าในการประมวลผลข้อมูลเชิงพื้นที่ สามารถจัดการและ WPS ห่วงโซ่บริการโดยการโหลด libraries และ code ที่เขียนในภาษาการเขียนโปรแกรมที่แตกต่างกันแบบไดนามิกได้ จึงทำให้ ZOO-Kernel สามารถดำเนินการ WPS Services ที่เขียนได้หลากหลายภาษา เช่น C/C++, Fortran 77/90, Ruby, Perl, Java, PHP, Python หรือ JavaScript. ZOO Service จะทำงานร่วมกันกับ ZOO-Kernel บนพื้นฐานของ Library เช่น GDAL, GRASS GIS, OrfeoToolbox (OTB), SAGA GIS และ CGAL โดยนำเอาโมดูลของแต่ละ Library มาพัฒนาให้อยู่ในมาตรฐาน WPS
ZOO-Services เป็นเครื่องมือที่สามารถนำมาพัฒนาและเรียนใช้สำหรับพัฒนาเป็นเซอร์วิสที่สามารถพร้อมใช้งานบริการการประมวลผลเว็บที่สร้างขึ้นโดยการเรียกใช้ไลบรารี่แบบรหัสเปิดซึ่งแหล่งที่มาที่สามารถเชื่อถือได้ เช่น GDAL, GRASS GIS, OrfeoToolbox (OTB), CGAL และ SAGA GIS
ZOO-API เป็น JavaScript API ที่รันบนฝั่งเซิร์ฟเวอร์สำหรับการสร้างหรือผูกมัด (chaining) และกำกับการผูกมัด (orchestrating) ของการให้บริการ WPS ได้ และสามารถสร้าง web application ที่ง่ายแต่มีประสิทธิภาพ และปริมาณ code ที่น้อยเพื่อลดความซับซ้อนของ code ให้น้อยที่สุด
ZOO-Client เป็นฝั่งผู้ใช้งานโดยเรียกใช้ JavaScript API สำหรับการโต้ตอบกับ WPS เซิร์ฟเวอร์ และการดำเนินการร้องขอบริการตามมาตรฐาน OGC จาก web application

เขียนโดย: ชิงชัย หุมห้อง (10 ตุลาคม 2559)
Reference: http://zoo-project.org

วันจันทร์ที่ 13 มิถุนายน พ.ศ. 2559

Web Processing Service (WPS) บน GeoServer

______วันนี้ได้มีโอกาสทดสอบ WPS ที่อยู่ใน GeoServer การการที่จะใช้ WPS ได้นั้นจะต้องทำการติดตั้งปลั๊กอินก่อน ตามเว็บนี้ WPS Plugin เรามาดูกันเลยครับ

1. Buffer




2. Extract Contour from DEM




วันจันทร์ที่ 16 พฤศจิกายน พ.ศ. 2558

วิธีแก้ไข QGIS Crash Dump


เข้าไปลบโฟลเดอร์ .qgis2 ที่ C:\Users\chingchai\.qgis2 ทิ้งไป แล้วเปิดโปรแกรม QGIS ใหม่
ซึ่งปัญหามาจาก previewImages

วันอาทิตย์ที่ 26 กรกฎาคม พ.ศ. 2558

วิธีการแก้ไขปัญหาปลั๊กอิน Photo2Shape ใน QGIS ใช้งานไม่ได้บนระบบปฏิบัติการ Ubuntu

______มีหลายท่านที่อยากจะใช้ปลั๊กอิน Photo2Shape ซึ่งเมื่อเราติดตั้งปลั๊กอินนี้ไปแล้วไม่สามารถเรียกใช้งานได้ เนื่องจาก Module Exifread หายไป มีวิธีการแก้ไขอยู่หลายวิธีเหมือนกัน เช่น การเปลี่ยนไปใช้ปลั๊กอินตัวใหม่ที่ชื่อว่า Geotag and Import Photos แต่ปลั๊กอินนี้ก็จะต้อง config path exif tool เหมือนกัน ซึ่งถ้าท่านไหนใช้ QGIS ในระบบปฏิบัติการ Windows สามารถเข้าไปแก้ปัญหานี้ได้ http://learn.gistda.or.th/photo2shape-fix/ โดยทางคุณธัญลักษณ์  เอี่ยมณรงค์ฤทธิ์ และคุณอาทิตย์ สมวาที ได้เขียนไว้ แต่ก็มีหลายๆท่านที่ใช้ระบบปฏิบัติการ Ubuntu ซึ่งก็เจอปัญหานี้เหมือนกัน วันนี้เลยมานำเสนอวิธีการแก้ไขปัญหาครับ

1. เมื่อเราลงปลั๊กอิน Photo2Shape ก็จะเจอปํญหานี้ ให้คลิกปุ่ม Yes ไปก่อน

2. จากนั้นเปิด Terminal ขึ้นมาแล้วพิมพ์คำสั่ง
$ sudo apt-get install python-pip



3. พิมพ์คำสั่งติดตั้ง exifread
$ sudo pip install exifread 



4. ติดตั้ง exifread เสร็จแล้ว



5. sudo apt-get update อีกครั้ง



6. จากนั้นก็ติดตั้งปลั๊กอิน Photo2Shape ได้ปกติ



7. ตัวอย่างการใช้งานเมื่อติดตั้งได้แล้วให้ไปที่เมนู Vector >> Photo2Shape >> Photo2Shape



8. เลือก Directory โฟลเดอร์รูปภาพที่เก็บมา และเลือกที่เก็บ Shapefile แล้วคลิก OK

9. ผลที่ได้ ดังภาพ

**หมายเหตุ ถ้ายังใช้งานไม่ได้ให้ลองปิดโปรแกรม QGIS แล้วเปิดขึ้นมาใหม่อีกครั้ง

เขียนโดย: ชิงชัย หุมห้อง (Chingchai Humhong)


วันพฤหัสบดีที่ 16 กรกฎาคม พ.ศ. 2558

การเปิดข้อมูล ESRI Personal GeoDatabase (*.mdb files) ผ่านโปรแกรม QGIS

_______หลายคนเคยเพิ่มชั้นข้อมูลแบบ ESRI Shapefile เข้าไปในโปรแกรม QGIS หรือรู้ไม่ว่าโปรแกรม QGIS เองนั่นสามารถเปิดข้อมูล GIS ได้หลากหลายรูปแบบนามสกุล เช่น GeoJSON, GML, KML หรืออื่นๆ ที่ไฟล์นั่นมีการรองรับของ OGR ซึ่งวันนี้ผมก็จะขอยกตัวอย่างการเปิดข้อมูลแบบ ESRI Personal GeoDatabase กันดูครับว่ามีวิธีการอย่างไร


1.เพิ่มชั้นข้อมูลแบบ Vector Layers เลือกแบบ File


2. จากนั้นก็เข้าไปยังไฟล์ ESRI Personal GeoDatabase ที่เราเก็บไว้ แล้วเลือก File type เป็นแบบ ESRI Personal GeoDatabase ดังภาพ


3. เมื่อเพิ่มเข้ามาแล้วก็จะมีหน้าต่างปรากฏขึ้นมาให้เราเลือกข้อมูลที่เราสนใจ แล้วแต่ว่าเราจะเลือกหมดก็ได้ขึ้นอยู่ที่เราเอง ซึ่งไฟล์ mdb เองนั้นสามารถเก็บประเภอของข้อมูลได้หลายประเภท



4. ผลลัพธ์ที่ได้ ดังภาพ