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

GeoTools

GeoTools เป็นชุดเครื่องมือจัดการและประมวลผลข้อมูลภูมิสารสนเทศที่ได้รับความนิยมอีก ตัวหนึ่ง โดยเฉพาะในกลุ่มผู้พัฒนาซอฟต์แวร์ด้วยโปรแกรมภาษา Java ซึ่งเป็นกลุ่มหลักหนึ่งในกลุ่มผู้พัฒนาซอฟต์แวร์และชุดเครื่องมือรหัสเปิด ซอฟต์แวร์ด้านการจัดการเชิงพื้นที่รหัสเปิดต่างๆ ที่พัฒนาด้วยโปรแกรมภาษา Java มักจะใช้ GeoTools เป็นเครื่องมือประมวลผลหลัก ข้อดีหนึ่งของ GeoTools คือแนวคิดและโครงสร้างของการพัฒนาชุดเครื่องมือจะอ้างอิงกับมาตรฐาน OGC เป็นส่วนใหญ่ ซึ่งทำให้ผู้พัฒนาระบบฯ ที่เริ่มต้นจากกรอบแนวคิดและแบบจาลองต่างๆ ของ OGC ทำความเข้าใจในการใช้เครื่องมือได้อย่างรวดเร็ว ตัวอย่างของซอฟต์แวร์รหัสเปิดที่ใช้ GeoTools เป็นเครื่องมือประมวลหลัก เช่น GeoServer, GeoNetwork, gvSIG และ uDig เป็นต้น  GeoTools เริ่มต้นการพัฒนาเมื่อปี พ.ศ.2539 และมีการปรับปรุงทั้งกรอบแนวคิด เครื่องมือและประสิทธิภาพต่างๆ อย่างต่อเนื่อง จนถึงเวอร์ชั่นหลัก 2.6 ในปัจจุบัน รายละเอียดการวิวัฒนาการของ GeoTools แสดงดังตาราง
ตารางวิวัฒนาการของ GeoTools (จาก http://docs.codehaus.org/display/ GEOTOOLS/History)

GeoTools เริ่มต้นการพัฒนาเมื่อปี พ.ศ.2539 และมีการปรับปรุงทั้งกรอบแนวคิด เครื่องมือและประสิทธิภาพต่างๆ อย่างต่อเนื่อง จนถึงเวอร์ชั่นหลัก 2.6 ในปัจจุบัน 
ความ สามารถของ GeoTools มีค่อนข้างหลากหลายในส่วนของงานประมวลผลข้อมูลภูมิสารสนเทศ และการรองรับการทำงานตามมาตรฐาน OGC ตัวอย่างเช่น  
-        การเชื่อมต่อเพื่อเข้าถึงฐานข้อมูลภูมิสารสนเทศ 
-        การเชื่อมต่อเข้าถึงแหล่งไฟล์ข้อมูลรูปแบบต่างๆ  
-        การแปลงระบบพิกัดของข้อมูลภูมิสารสนเทศ 
-        การใช้งาน OGC Styled Layer Descriptor เพื่อกาหนดสัญลักษณ์แผนที่ 
-        การประมวลผลข้อมูลในรูปแบบ GML  
-        การประมวลผล OGC Grid Coverage  
-        การทำงานตามมาตรฐาน OGC Filter Encoding  
-        การประมวลผล Graph และ Network
-        การประมวลผล Java Topology Suite (JTS)
รูป แบบข้อมูลเวกเตอร์ที่รองรับประกอบด้วย Esri Shapefile, GML, WFS, PostGIS, Oracle Spatial, ArcSDE และ MySQL เป็นต้น สำหรับข้อมูลราสเตอร์ประกอบด้วย ArcGrid, GeoTIFF, WMS และ Image World File เป็นต้น

เนื่องจากโปรแกรมภาษาที่ใช้พัฒนาเป็น Java ผลลัพธ์ที่ได้จึงสำมารถนาไปใช้งานได้ในทุกระบบปฏิบัติการ ตัวชี้วัดถึงความสามารถและความสำเร็จของ GeoTools ที่เด่นชัด คือการนำไปเป็นส่วนประมวลผลข้อมูลหลักใน Desktop GIS เช่น uDig และ gvSIG และ GIS Server เช่น GeoServer และ GeoNetwork ซึ่งซอฟต์แวร์เหล่านี้นาไปประยุกต์ใช้งานจริงในระบบระดับองค์กร
อย่าง ไรก็ตาม GeoTools ถูกออกแบบและพัฒนามาสำหรับการนำไปพัฒนาต่อยอด ผู้ใช้งานจำเป็นต้องมีความรู้ โดยเฉพาะเรื่องการเขียนโปรแกรมด้วยภาษา Java และสำหรับแนวคิดการจัดการข้อมูลภูมิสารสนเทศ ถ้ามีความรู้ความเข้าใจในข้อกำหนดและมาตรฐานของ OGC ก็จะทำความเข้าใจกับการใช้งาน API ต่างๆ หรือในทางกลับกันผู้ใช้งาน GeoTools เมื่อไปศึกษาข้อกาหนดมาตรฐานต่างๆ ของ OGC จะทำให้อ่านและเข้าใจได้อย่างรวดเร็ว

GDAL/OGR

GDAL/OGR เป็นชุดเครื่องมือจัดการและประมวลผลข้อมูลราสเตอร์และเวกเตอร์ พัฒนาขึ้นด้วยภาษา C / C++ มีความสามารถรองรับและสนับสนุนรูปแบบของข้อมูลภูมิสารสนเทศทั้งเวกเตอร์และ ราสเตอร์หลายรูปแบบทั้งการอ่าน/แก้ไข/และการเขียน ปัจจุบันมีผู้นำ GDAL/OGR ไปใช้ในซอฟต์แวร์ประยุกต์สำหรับประมวลผลภูมิสารสนเทศทั้งในซอฟต์แวร์เชิง พาณิชย์ เช่น ArcGIS, MapGuide, Google Earth, Cadcorp SIS, FME และซอฟต์แวร์รหัสเปิด เช่น GRASS, QGIS, GeoServer และ OpenEV เป็นต้น และยังได้มีการพัฒนาขยายขีดความสามารถให้นำไปใช้ได้กว้างขวางขึ้นโดยใช้ร่วม กับภาษาอื่นในลักษณะ Binding เช่น ใช้ได้กับภาษา Python, Java, C#, Ruby, VB6 และ Perl สถานะของชุดเครื่องมือเป็นโปรแกรมรหัสเปิด อนุญาตให้ใช้ตามสัญญา X/MIT 

GDAL/OGR แบ่งออกเป็น2 ส่วน ส่วนแรกคือ GDAL (Geo-spatial Data Abstraction Library) มีขีดความสามารถครอบคลุมด้านการประมวลผลข้อมูลราสเตอร์ ส่วนที่สองคือOGR library ครอบคลุมการใช้งานกับข้อมูลเวกเตอร์ ทั้งสองส่วนเมื่อผนวกกันไว้ ทำให้เป็นชุดเครื่องมือระดับแกนกลางที่นักพัฒนาโปรแกรมประยุกต์สามารถนาไป ใช้ประโยชน์ได้เป็นอย่างดีการเรียกขานชื่อ GDAL/OGR เนื่องจากในระยะต้นเป็นเพียงชุดเครื่องมือด้านข้อมูลราสเตอร์เพียงอย่าง เดียว เป็นที่รู้จักในชื่อGDAL หลังจากได้รวมเอาส่วนของOGR ไว้ด้วย จึงเรียกว่า GDAL/OGR แต่ถ้าเจาะจงใช้ชื่อGDAL ให้หมายถึงกรณีที่กล่าวถึงบริบทที่เป็นเรื่องการทำงานกับข้อมูลแบบราสเตอร์ และในทำนองเดียวกัน เมื่อกล่าวถึงชื่อ OGR ก็ให้หมายถึงบริบทของการทำงานกับข้อมูลแบบเวกเตอร์
ชุด เครื่องมือ GDAL/OGR จะประกอบด้วย Library ของเครื่องมือต่างๆ ในรูปแบบของภาษา C/C++ ส่วนดังกล่าวนี้เองที่ผู้พัฒนาโปรแกรมสามารถนาไปใช้เป็นเครื่องมือประมวล หลักต่างๆ ในซอฟต์แวร์หรือโปรแกรมประยุกต์ของตนเอง ดังเห็นได้จาก GDAL/OGR ถูกนำไปใช้เป็นเครื่องมือประมวลผลของซอฟต์แวร์ต่างๆ ไม่ว่าจะเป็นซอฟต์แวร์เชิงพาณิชย์และซอฟต์แวร์รหัสเปิดดังที่กล่าวข้างต้น นอกเหนือจากการนำไปใช้โดยตรง มีกลุ่มผู้พัฒนาโปรแกรมหลายกลุ่มได้พัฒนา GDAL/OGR ให้สามารถใช้ได้กับโปรแกรมภาษาอื่นๆ โดยเรียกใช้จากสภาพแวดล้อมของการทำงานของโปรแกรมภาษานั้นๆ ด้วยการเขียนโปรแกรมครอบตัวเครื่องมือคำสั่งหลักของ GDAL/OGR อีกชั้นหนึ่ง เช่น Python, Java, C#, Ruby, VB6 และ Perl สิ่งนี้เองทำให้สามารถขยายการใช้งานจากกลุ่มนักพัฒนาโปรแกรมภาษา C/C++ ไปยังกลุ่มผู้พัฒนาด้วยโปรแกรมภาษาอื่นๆ ได้เป็นอย่างดีการใช้งาน GDAL/OGR ทำได้อีกลักษณะสำหรับผู้ใช้งานทั่วไป คือการพิมพ์คำสั่งเรียกใช้เครื่องมือต่างๆ ที่มีของ GDAL/OGR ในลักษณะของการพิมพ์คำสั่ง (Command Line) โดยที่ GDAL/OGR ได้ทำการคอมไพล์ชุดเครื่องมือหลักขึ้นจานวนหนึ่งเป็นไฟล์ที่สามารถสั่งทำงาน ได้ทันที (Executable File) โดยแบ่งเป็นชุดเครื่องมือ
GDAL และ OGR ทั้ง 2 ส่วนจะประกอบด้วยเครื่องมือการแปลงรูปแบบไฟล์ข้อมูลจากรูปแบบหนึ่งไปอีกรูป แบบหนึ่ง ซึ่งชนิดของรูปแบบข้อมูลมีการสนับสนุนอยู่เป็นจำนวนมาก ทั้งราสเตอร์และเวกเตอร์ นอกจากนี้ยังสนับสนุนการแปลงค่าระบบพิกัดต่างๆ ตามมาตรฐานสากลที่มีอยู่ หรือจากการกำหนดค่าพารามิเตอร์เฉพาะตามแต่พื้นที่ได้เอง ด้วยความสามารถและการใช้งานในลักษณะนี้ จึงเพิ่มความสะดวกให้กับผู้ใช้งานทั่วไปที่ต้องการแปลงข้อมูลไปสู่รูปแบบ ต่างๆ รวมถึงการปรับค่าระบบพิกัดได้ด้วยตนเอง ด้วยการพิมพ์คำสั่งที่มีอยู่ ตามความต้องการของผู้ใช้งาน อย่างไรก็ตามการใช้งานดังกล่าวเป็นลักษณะของการพิมพ์คำสั่ง ผู้ใช้ต้องจำคำสั่งได้หรือสามารถเรียกดูข้อแนะนำการใช้งานของแต่ละโปรแกรม ได้เอง ซึ่งไม่มีลักษณะการทำงานแบบเมนูให้ไว้ ดังนั้นผู้ใช้งานที่ต้องการใช้ผ่านทางเมนูจึงต้องหาซอฟต์แวร์ที่มีเครื่อง มือดังกล่าวเรียกใช้งานเอง เช่น QGIS เป็นต้น

วันพฤหัสบดีที่ 4 ตุลาคม พ.ศ. 2555

เพิ่มความเร็ว map server ด้วย tile caching

คัดลอกจาก : http://thaigeospatial.blogspot.com/2010/07/map-server-tile-caching.html

คงจะเป็นมาตรฐานการพัฒนา map service ไปซะแล้ว หากมีข้อมูลแรสเตอร์ และ เวกเตอร์ ควรจะเตรียมภาพ แรสเตอร์ความละเอียดต่างๆ พร้อมให้มีขนาดไทล์เล็กๆ ที่เหมาะสม รอ map application ฝั่ง client เรียกใช้อย่างเร็ว OGC ได้กำหนดมาตรฐานแล้วชื่อว่า WMTS "Web Map Tile Service" แต่ยังไม่เห็นมีใครรองรับได้

____เท่าที่มีซอฟต์แวร์ปัจจุบันได้แก่
1) TileCache -- Web Map Tile Caching โดย
2) GeoWebCache http://geowebcache.org/trac
และน้องใหม่ล่าสุด
3) MapProxy -- http://mapproxy.org/

น่าสนใจ แต่ไม่ค่อยได้พัฒนาอะไรเป็นชิ้นเป็นอัน developer อยากฟังผู้รู้อธิบายให้ฟังจังว่าต่างกันอย่างไร ในทางปฏิบัติ

Tile map Service

คัดลอกจาก : http://emap.wordpress.com/2009/05/05/tile-map-service1/

tile-caching แนวคิดแบบนี้ไม่ใช่เรื่องใหม่ แต่กลายเป็นเรื่องจริงเมื่อ webmapping สมัยใหม่มีการนำเทคนิค tile-caching มาใช้ในการนำเสนอข้อมูล gis ผ่่่านอินเตอร์เน็ต โดยเฉพาะกลุ่มที่เป็น mush up api เช่น  Google Map/Google Earth, Virtual Earth, Multimap เป็นต้น

       Tile Cache เน้นที่ประสิทธฺภาพการแสดงผล กล่าวคือเป็นการแสดงผลข้อมูลแผนทีประเภทบิตแมปได้อย่างรวดเร็ว โดยหลักการง่ายๆก็คือการแบ่งข้อมูลออกเป็นส่วนๆแล้วส่งมาแสดงผลยังเครื่อง ลูกข่าย ซึ่งไฟล์แต่ละอันจะมีขนาดเล็กลดการใช้แบนวิดและเวลาในการโหลดข้อมูลจากแม่ ข่ายลง ที่สำคัญซอฟท์แวร์ประมวลผลยังสามารถแคชไฟล์ที่เคยโหลดมาแล้วได้ด้วย โดยลดภาระในการที่ต้องโหลดข้อมูลซ้ำซ้อน ถ้ามองในมุมมองของผู้ให้บริการหรือ server ปลายทางการเสียเวลาในการจัดเตรียมภาพในรูปแบบโครงสร้างของ tile และ tree-level ใ นตอนแ รกเป็นการลงทุนที่คุ้มเพื่อลดโหลดในการประมวลผลข้อมูลภาพในทุกๆ request เช่นระบบ mapservice แบบเดิม ทำให้การเรียกข้อมูลแผนที่มาแสดงผลยังปลายทางก็เปรียบเสมือนกับการดาวน์โหลด ภาพ แต่แน่นอนว่า client software ย่้อมต้องมีความสามารถในการจัดการกับข้อมูลแบบ tile image ด้วยเช่นกัน

       ปัจจุบันแนวคิดนี้่ค่อนข้างจะเป็นที่แพร่หลายซอฟต์แวร์ internet gis หลายเจ้ารองรับและมีฟีเจอร์นี้ รวมไปถึง oSGEO ได้มีการคิดและพัฒนาโปรโตคอลมาตรฐาน Tile Map Service Specification 1.0 (อ่านรายละเอียดจาก http://wiki.osgeo.org/wiki/Tile_Map_Service_Specification) ออกมาและมีการ พยายามปรับปรุง WMS ในเวอร์ชั่นใหม่WMS-C/TMS server ให้มีโหมดการทำงานแบบ tile-caching อีกด้วย

 
 รูปแบบโครงสร้างของ Tile reference

3 
ตัวอย่างข้อมูลภาพ ortho ที่ทำการ process เพื่อจัดแบ่งเป็น tile และจัดเก็บเป็น pyramid index แล้ว

1 
 ตัวอย่าง xml file ที่ใช้ config ข้อมูลโดยอ้างอิง Tile-Caching Specification

        ระบบพิกัดภูมิศาสตร์ที่ใช้ใน TileCache MapService ส่วนมากที่ใช้งานกันทั้งใน Google Map Google Earth หรือตัวอื่นๆไม่ใช้ Geodetic Coordinate Sytem หรือที่ีรู้จักกันในนาม EPSG 4326 แต่เป็น Mercator map projection
OSGEO:41001 PROJCS["WGS84 / Simple Mercator", GEOGCS["WGS 84", DATUM["WGS_1984", SPHEROID["WGS_1984",6378137,298.257223563]], PRIMEM["Greenwich",0], UNIT["Decimal_Degree", 0.0174532925199433]], PROJECTION["Mercator_1SP"], PARAMETER["central_meridian",0], PARAMETER["false_easting",0], PARAMETER["false_northing",0], UNIT["Meter",1]]
        แต่ถ้าไม่คิดเรื่องความถูกต้องมากมายนัก(ยอมรับระดับเ มตร)  ท่านก็สามารถใช้ WGS84 geodetic coordinates ได้ 
      ควาวนี้มาลงรายละเอียดคราวๆเรื่องการปรับแต่ Server ว่าทำไม TMS ถึงได้ดีกว่า Mapserver แบบเดิม(CGI/PHP Mode) เพราะว่าเราสามารถใช้โมดูลบน Http ในการช่วยเพิ่มประสิทธิภาพในการบริการข้อมูล โดยตัวหลักๆที่นิยมใช้งานกันคือ HTTP MOD_CACH ซึ่งเกี่ยวกับการเพิ่มความสามารถในการ caching ไฟล์ http://httpd.apache.org/docs/2.0/mod/mod_cache.html) และอีกตัวหนึ่งคือ Http compress ผ่าน mod_gzip http://schroepl.net/projekte/mod_gzip/config.htm)

วันพุธที่ 12 กันยายน พ.ศ. 2555

ภาพออร์โธบางส่วนถูกลบขณะทำ ImageMosaic

หลังจากที่ create layer บน GeoServer เมื่อ Preview ดู พบว่าภาพออร์โธ


ภาพออร์โธที่ได้รับมา ได้ถูกลบภาพเป็นบางส่วน โดยส่วนที่ถูกลบ จะเป็นพื้นที่สีดำ เมื่อเปิดดูด้วย Global Mapper จะเห็นว่า

เมื่อ

ฟหกดฟห

ฟหกด

ฟหกดฟหกด

ฟหกด

วันจันทร์ที่ 6 สิงหาคม พ.ศ. 2555

SLD VendorOption

<VendorOption name="maxDisplacement">10</VendorOption>
<VendorOption name="repeat">100</VendorOption>
<VendorOption name="labelAllGroup">true</VendorOption>
<VendorOption name="maxAngleDelta">15</VendorOption>
<VendorOption name="autoWrap">50</VendorOption>
<VendorOption name="forceLeftToRight">false</VendorOption>
<VendorOption name="conflictResolution">false</VendorOption>
       

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

MapServer CGI view

http://mapserver.org/tutorial/example1-1.html

URL :
http://localhost/cgi-bin/mapserv.exe?map=/ms4w/apps/gis/mf/cgi.map&layer=INDEX50000&mode=map

Mapfile : cgi.map


MAP
     IMAGETYPE PNG
     EXTENT 314979.951833 608304.741335 1228819.576993 2267530.270792
     SIZE 400 500
     SHAPEPATH "/ms4w/apps/gis/shp/index"
     IMAGECOLOR 240 240 240
     LAYER
          NAME "INDEX50000"
          DATA "index50k"
          STATUS ON
          TYPE POLYGON
               CLASS
                    NAME ""
                    OUTLINECOLOR 60 60 60
                    COLOR 255 255 0
                    SYMBOL 0
               END
     END
END


วันศุกร์ที่ 29 มิถุนายน พ.ศ. 2555

เกิดภาพสีเทาจาง render image mosaic

เนื่องจากพบ error หรือการเกิดภาพสีเทาจางๆ ในกระบวนการ GEN หรือตอน render ภาพ อันเกิดจากขั้นตอน ImageMosaic (การต่อภาพบน GeoServer) ซึ่งคิดว่า GeoServer อ่านค่าภาพถ่ายที่ได้จากกระบวนการต่อภาพจากค่า Map Extent หรือขอบเขตภาพถ่ายทั้งหมด ซึ่ง boundary ที่ได้จะเป็นพื้นที่สี่เหลี่ยม ครอบคลุม boundary ตามค่า  minX minY maxX maxY

การทำ ImageMasaic โดยที่มีภาพถ่ายแปะไม่เต็ม Map Extent


เมื่อ GEN เสร็จเรียบร้อย และนำขึ้นระบบ อาจเกิดภาพสีเทาจางๆ เกิดขึ้นบริเวณพื้นที่ว่าง ภายใน Map Extent


เมื่อเข้าไปดูใน Folder ที่ GEN ภาพถ่าย จะพบว่าเกิดภาพ error อยู่ด้วย


วิธีแก้ไข
การทำ ImageMosaic ควรทำให้เต็มกรอบสี่เหลี่ยมในแต่ละ layer และส่ง GEN ทีละ layer หรือทำเป็น layergroup แต่ภาพถ่ายบางประเภทพบว่า เมื่อมีการทำ layergroup สีภาพจะซีดจางลงกว่าเดิม ซึ่งยังไม่ทราบสาเหตุ
 

วันพุธที่ 14 มีนาคม พ.ศ. 2555

ภาพไม่ render บน GeoWebCache

วันนี้เจอปัญหาการแสดงผลภาพแผนที่บน GeoWebCache  คือ

เมื่อ preview ดูด้วย openlayer ก็สามารถ preview ได้ ตามปกติ
แต่เมื่อ preview บน GeoWebCache สามารถแสดงภาพได้เพียงบางส่วนหรือในบาง scale ดังรูปข้างล่าง


































ปัญหาเช่นนี้มาจากหลายสาเหตุ แต่กรณีนี้เกิดจากการเขียน style ไม่ถูกต้องตาม syntax ของมัน ซึ่งปัญหาของ case นี้เกิดขึ้นจากการครอบ <FeatureTypeStyle>...</FeatureTypeStyle> Tag ไม่ถูกต้อง ดัง code ข้างล่าง
 
            <FeatureTypeStyle>
                <Rule>
                    <Name>Class 1</Name>
                    <ogc:Filter>
                        <ogc:PropertyIsEqualTo>
                        <ogc:PropertyName>fc</ogc:PropertyName>
                        <ogc:Literal>1</ogc:Literal>
                        </ogc:PropertyIsEqualTo>
                    </ogc:Filter>
                    <MinScaleDenominator>9000001</MinScaleDenominator>
                    <MaxScaleDenominator>20000000</MaxScaleDenominator>
                    <LineSymbolizer>
                        <Stroke>
                            <CssParameter name="stroke">#f5ef78</CssParameter>
                            <CssParameter name="stroke-width">.1</CssParameter>
                            <CssParameter name="stroke-linejoin">round</CssParameter>
                            <CssParameter name="stroke-linecap">round</CssParameter>
                        </Stroke>
                    </LineSymbolizer>
                </Rule>
            </FeatureTypeStyle>
          
            <FeatureTypeStyle>
                <Rule>
                    <Name>Class 2</Name>
                    <ogc:Filter>
                        <ogc:PropertyIsEqualTo>
                        <ogc:PropertyName>fc</ogc:PropertyName>
                        <ogc:Literal>2</ogc:Literal>
                        </ogc:PropertyIsEqualTo>
                    </ogc:Filter>
                    <MinScaleDenominator>5000001</MinScaleDenominator>
                    <MaxScaleDenominator>9000000</MaxScaleDenominator>
                    <LineSymbolizer>
                        <Stroke>
                            <CssParameter name="stroke">#efe979</CssParameter>
                            <CssParameter name="stroke-width">.2</CssParameter>
                            <CssParameter name="stroke-linejoin">round</CssParameter>
                            <CssParameter name="stroke-linecap">round</CssParameter>
                        </Stroke>
                    </LineSymbolizer>
                </Rule>
            </FeatureTypeStyle>

<FeatureTypeStyle>...</FeatureTypeStyle> Tag ใช้สำหรับการ render features ที่มีความแตกต่างกัน เช่น point line polygon แต่จากตัวอย่างข้างบน  feature เป็น line เหมือนกัน ฉะนั้น จะต้องครอบ FeatureTypeStyle Tag ไว้ดังนี้

            <FeatureTypeStyle>

                <Rule>
                    <Name>Class 1</Name>
                    <ogc:Filter>
                        <ogc:PropertyIsEqualTo>
                        <ogc:PropertyName>fc</ogc:PropertyName>
                        <ogc:Literal>1</ogc:Literal>
                        </ogc:PropertyIsEqualTo>
                    </ogc:Filter>
                    <MinScaleDenominator>9000001</MinScaleDenominator>
                    <MaxScaleDenominator>20000000</MaxScaleDenominator>
                    <LineSymbolizer>
                        <Stroke>
                            <CssParameter name="stroke">#f5ef78</CssParameter>
                            <CssParameter name="stroke-width">.1</CssParameter>
                            <CssParameter name="stroke-linejoin">round</CssParameter>
                            <CssParameter name="stroke-linecap">round</CssParameter>
                        </Stroke>
                    </LineSymbolizer>
                </Rule>

                <Rule>
                    <Name>Class 2</Name>
                    <ogc:Filter>
                        <ogc:PropertyIsEqualTo>
                        <ogc:PropertyName>fc</ogc:PropertyName>
                        <ogc:Literal>2</ogc:Literal>
                        </ogc:PropertyIsEqualTo>
                    </ogc:Filter>
                    <MinScaleDenominator>5000001</MinScaleDenominator>
                    <MaxScaleDenominator>9000000</MaxScaleDenominator>
                    <LineSymbolizer>
                        <Stroke>
                            <CssParameter name="stroke">#efe979</CssParameter>
                            <CssParameter name="stroke-width">.2</CssParameter>
                            <CssParameter name="stroke-linejoin">round</CssParameter>
                            <CssParameter name="stroke-linecap">round</CssParameter>
                        </Stroke>
                    </LineSymbolizer>
                </Rule>

            </FeatureTypeStyle>

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

Geospatial แปลว่าอะไร?

Geo หมายถึง เกี่ยวกับภูมิ หรืออะไรที่เกี่ยวข้องกับภูมิศาสตร์พื้นแผ่นดินโลก

spatial หมายถึง เกี่ยวกับตำแหน่งบนพื้นผิวโลก ที่มีการอ้างอิงพิกัดภูมิศาสตร์ หากเขียนเป็นศัพท์เชิงวิชาการก็คือ ตำแหน่งเชิงพื้นที่

Geospatial จึงหมายถึง ภูมิสารสนเทศเชิงพื้นที่ ตัวอย่างเช่น แผนที่จราจร ก็จัดว่าเป็น geospatial เพราะเป็นข้อมูล (สารสนเทศ , data , information) ที่มีการอ้างอิงตำแหน่งบนพื้นผิวโลก หรือ พิกัดภูมิศาสตร์

อธิบายจากความเข้าใจการทำงานด้าน geospatial 18ปี มิได้อ้างอิงจากบทความวิชาการ เพื่อการอ้างอิงแหล่งที่มาได้อย่างถูกต้อง