Linux GPS

Standard
วันนี้ทดลองเชื่อม GPS แบบ Real Time ครั้งแรก (ซึ่งจริง ๆ แล้วแม้กระทั่ง way point ก็ไม่เคยโหลดมาก่อนเลย)

พบความยุ่งยากนิดหน่อย เกี่ยวกับเรื่อง port ได้ข้อสรุป บางประการ

1. Garmin GPS ถ้าเลือกใช้ Garmin output จะได้เฉพาะ Serial port ไม่สามารถใช้ USB port ได้

2. /dev/ttyS0 นั้นสำหรับ Serial connect และ /dev/ttyUSB0 นั้นสำหรับ USB connect


วิธีโหลด way point ด้วย gpsbabel

gpsbabel -D9 -i garmin -f /dev/ttyS0 -o gpx -F foobar.gpx

-i garmin ใช้ได้แต่ลอง -i nmae มันไม่สำเหร็จ อะ

-o gpx หรือ kml ก็ได้

วิธีต่อแบบ real time ด้วย gpsdrive

ก่อนอื่นลองดูก่อนว่าข้อมูลนั้นเชื่อมเข้ามาไหมด้วย

gpsd -p /dev/ttyS0

แล้วก็ telnet localhost 2947

จากนั้นก็ กด R

ถ้าการเชื่อมต่อผ่านไปด้วยดีก็จะมี ข้อมูลพรุ่งพรวดมา เยอะแยะ

จากนั้นก็ลองเปิดโปรแกรม gpsdrive
แล้วเปลี่ยนค่าเชื่อมต่อเป็น /dev/ttyS0 แล้วเลือก ว่าเป็น serial connection












Powered by ScribeFire.

rpm ครั้งที่ 2

Standard
ครั้งนี้เอาแบบ น้อย ๆ แล้วจะมาเพ่ิมทีหลังแล้วกัน

-ในบางครั้งอาจจะพบเจอ การอ้างถึง variable แบบ %{php} ถ้าต้องการใช้ก็สามารถ Tag ที่มีอยู่ใน rpm แต่หากไม่มี define ก็สามารถ สร้างขึ้นมาเองได้เช่น

%define php php

เป็นต้น

- หากต้องการตรวจสอบค่าตัวแปรใน rpm ให้ใช้คำสั่ง

rpm –eval %{php} เป็นต้น

link อ้างอิงเพิ่มเติม

Link เพิ่มเติม 2

Powered by ScribeFire.

new QGIS 0.9.0 ด้วย ccmake installation

Standard
เพิ่งจะเสร็จสิ้นไปกับ qgis 0.8.1 ไม่กี่วัน มาใหม่อีกแหละ
สำหรับ version 0.9.0

ซึ่งในการ compile นั้นมีการเปลี่ยนเปลี่ยนนิดหน่อย โดยการที่ ใช้คำสั่ง

ccmake แทน

แล้วจะมีเมนู ให้เลือก ใส่ค่าต่างๆ นา ๆ มากมาย แล้วจึงให้สร้าง config ไฟล์ CMakeCache.txt

เมื่อต้องการสร้างก็

make

แล้วหากต้องการ install ก็

make install

และหากต้อง remove ก็

make uninstall



Powered by ScribeFire.

First time Ubuntu 7.1.0 server installation

Standard


กับการทดลอง install ubuntu ครั้งแรก ด้วยแผ่น Server
ขั้นตอนก็เหมือนกับ debian ทั่วไป แต่มีรายละเอียดเล็กน้อย ที่ทำให้มันดูจะง่ายขึ้น (หรือยุ่งยาก ขึ้นกันแน่นะ) แต่สำหรับคนมีประสบการณ์ ต้องบอกว่า มี tools ให้ช่วยมากกว่าการที่จะต้องลงมือด้วยวิธี manual

อย่างหนึ่งหลังจากทดลอง install แผ่น server ก็คือ มันจะไม่มี desktop หรือ x-windows ให้

วันนี้ก็มาเสนอ วิธีการ install x-windows ภายหลัง

ก็ใช้คำสั่ง

sudo apt-get install ubuntu-desktop

ก็จะได้ Gnome มา

แต่หากสนใจอยากได้ KDE เพิ่งเติมก็

sudo apt-get install kubuntu-desktop

แต่หากต้องการแค่ kde เท่านั้นไม่ได้ต้องการ sw อื่น ๆ เพิ่ม

sudo apt-get install kdebase kdm x-window-system-core




Powered by ScribeFire.

มาเริ่มสร้าง .deb กัน

Standard
หลังจากลอง rpm มานาน ก็ลองมาทดลองสร้าง .deb กันบ้าง ซึ่งที่มานั้นเริ่มมาจาก Debian แต่หลัง ๆ เริ่มได้ความนิยมอย่างจากกระแส ubuntu ที่มาแรง มาก

ก็ยังไม่เข้าใจแบบแท้จริงสักเท่าไร แต่ดูเหมือน ว่าก็ download src มาโดยคำสั่ง

apt-get source gdal

ถ้ามี lib ใด ที่ต้องใช้มันก็จะ download มาเพิ่มด้วยคำสั่งข้างล่าง

apt-get build-dep gdal

จากนั้นก็ทำการ recomplie โดย

cd gdal-1.4.2

debuild -us -uc

หากจะทำการแก้ไข make ไฟล์ให้แก้ที่

gdal-1.4.2/debian/control

จากนัั้นสามารถทำการ install ด้วยคำสั่ง

dpkg-buildpackage

ถ้าจะ install ก็ลองใช้คำสั่ง

dpkg –install gdal-1.4.3.deb

อีกหนึ่ง tools ที่เหมาะกับการทำ foss4g CD
โดยจะทำการรวบรวม .deb มาไว้ทั้งหมด แล้วทำเป็น repository ได้

AptonCD

link เพิ่มเติม

debian-admin เก่าไปหน่อย

UbuntuGIS more

DebianGIS


Technorati Tags: ,

Powered by ScribeFire.

The Change of Python 2.4 -> 2.5

Standard
ความงงงวดมาบังเกิด เมื่อ python code ที่เขียนมาอย่าง ยากลำบาก อยู่ดีๆ run ไม่ได้ จากการตรวจสอบจึงรู้ว่า ข้อแตกต่างคือ ได้มีการ upgrade python -> 2.5

การเปลี่ยนแปลง ครั้งใหญ่คือ Elementtree ได้รวมเข้าไปอยู่ใน python โดยตรง จากที่เมื่อก่อนต้องเรียกผ่าน cElementtree

ก็ลองต้องทำการเปลี่ยน code นิดหน่อย

python 2.4

from cElementTree import Element, SubElemet,ElementTree

python 2.5


from xml.etree import ElementTree
from xml.etree.cElementTree import Element, SubElement


ขั้นต้นในการ require

จุดหนึ่งที่สังเกตอีกอัน ก็ตอน write Elementtree



python 2.4


ElementTree(featureMember).write(self.fh,”utf-8″)


python 2.5



ee = ElementTree.ElementTree(featureMember)
ee.write(self.fh,”utf-8″)


เปลี่ยนตามข้างบน แต่น่าจะมี รายละเอียดหรือความแตกต่างเพิ่มเติมอีก

ข้อมูลเพิ่มเติม 2 3


Powered by ScribeFire.



Technorati Tags:

ความยุ่งยาก ในของ new postgis-jdbc

Standard
ดันไปปรับครั้งใหญ่ ย้ายจาก 2006 -> 2008

ตัวนี้มาพร้อมกับ Postgresql8.2.504

ปัญหามาเกิดตรงที่ การจะสร้าง postgis-jdbc จะต้องทำการ recomplie

แล้ว script postgis-jdbcdedectver.sh

#!/bin/bash
#JDBC_VERSION_RPM=`rpm -ql postgresql-jdbc| grep ‘jdbc2.jar$’|awk -F ‘/’ ‘{print $5}’`
JDBC_VERSION_RPM=’postgresql-8.2.504.jar’
sed ‘s/postgresql.jar/’${JDBC_VERSION_RPM}’/g’ $MAKEFILE_DIR/jdbc/Makefile > $MAKEFILE_DIR/Makefile.new

cp -f $MAKEFILE_DIR/Makefile.new $MAKEFILE_DIR/Makefile
cp -r $MAKEFILE_DIR/Makefile $MAKEFILE_DIR/jdbc/Makefile

ต้องทำการแก้ไข นิดหน่อยให้เป็นดังข้างต้น อย่างแรกเลย คือ grep มันดันหา jdbc2.jar ไม่เจอสะงั้น เพราะไฟล์มันเปลี่ยนไปเป็น

postgresql-8.2.504.jar ใน /usr/share/java/ ก็เลยใช้แบบ fix ไปก่อน




Powered by ScribeFire.

AJAX Cross-Domain Request

Standard
หลังจากที่ได้ลองทำ WPS Client/Server แล้วก็ได้รับรู้ว่ามันมีจำกัด ด้าน Cross-Domain Request ซึ่งเป็นข้อจำกัดของความปลอดภัย

ก็พยายามหาข้อมูลอยู่นาน ก็เพิ่งมาเจอ ประเด็นหลักที่ รับทราบก็คือต้องทำ proxy server ในการติดต่อกับ web service อีกทีหนึ่ง




รายละเอียดจะรายงาน คืบหน้าครั้งต่อไป

http://developer.yahoo.com/javascript/howto-proxy.html

http://www.xml.com/pub/a/2005/11/09/fixing-ajax-xmlhttprequest-considered-harmful.html?page=last


Powered by ScribeFire.

WPS-enabled Client

Standard

วันนี้มาจดบันทึกคร่าวๆ เพราะ เดี๋ยวทำไปนาน คงจะลืม

จะกล่าวถึงระบบ 2 ระบบคร่าว ๆ โดยมีแบบ Direct และ WMS

ในส่วน Direct ไฟล์ที่เกี่ยวข้องหลัก ๆ จะมี

- wpsprocess.js จัดกับ การ Execute Request และเมื่อเสร็จสิ้น ก็จะสั่งให้เริ่มทำการ render โดย function Calcuate();

- index.php นั้นเป็น interface หลักที่ใช้ อีกยังมี Calculate function อยู่ด้วย ซึ่งจะไปสั่งให้ refreash map โดยต้อง arg ที่จำเป็นไปที่ drawmap.php

- drawmap.php จะทำการรวบรวมค่าต่าง ๆที่จำเป็นในการที่จะใช้สร้าง map image ก่อนที่จะส่งต่อไปที่ restoreState ใน map_session อีกครั้ง

- map_session.php ก็จะทำการดำเนินจัดการ mapfile ให้สร้าง map ที่ต้องการ

ส่วนในกรณีของ WMS
- wpsprocess.js เหมือนกับใน แบบแรก

- indexwms.php ทำหน้าที่เหมือนกับ แบบแรกเช่นกัน แต่ ให้สนใจ การเรียงลำดับ layer ใน fucntion ChgLayer ด้วย เพราะมีความสำคัญกับลำดับ

- owsraster.php ทำหน้าที่คล้ายๆกับ drawmap.php และ map_session.php แต่ ไม่ยุ่งยากเท่า โดยจะเป็นการใช้คำสั่งของ ows WMS phpmapscript

Lilo Died

Standard

ได้ประสบพบเจอปัญหา อันน่าเศร้า เลยต้องมีการจดบันทึกสะหน่อย

เรื่องคือทำการแ้ก้ไข Lilo แล้วมันดันผิดพลาด ทำให้บูทไม่ได้นะสิ
โดยเมื่อบูทมาเจอข้อความว่า

Lilo keytable read/checksum error

วิธีการแก้ไข ก็มีวิธีดังข้างล่างนี้นะครับ

mkdir -p /mnt/system
mount /dev/hdaX /mnt/system
mount /dev/hdaY /mnt/system/boot (if you have a boot partition that is separate from your root partition)
cd /mnt/system
chroot /mnt/system /bin/bash
ldconfig
source /etc/profile
lilo
exit
reboot

และ link แนะนำสำหรับ การ recompile Kernel นะครับ
Kernel
และปัญหาด้าน SATA support
SATA