________วันอาทิตย์สุดสัปดาห์เลยได้โอกาสจัดการกับเครื่องโน๊ตบุคเก่าเป็นโน๊ตบุคตัวแรกยี่ห้อ Acer ที่ผมหาซื้อด้วยน้ำพักน้ำแรงจากการทำงานตั้งแต่สมันเรียน มาถึงตอนนี้ปู่ก็เฒ่าชะแรแก่ชราไปมากเหลือเกินครั้นจะทิ้ง ก็ไว้เปล่าก็เสียดายเลยจับ format และลง Linux ubuntu ซะเอาไว้ทำ server เล่นๆ Linux เป็นอะไรที่ง่ายดายกว่าอดีตเยอะมาแล้วครับใช้งานง่ายมี GUI ใช้คำสั่งไม่กี่คำสั่ง วันนี้ไหนต้องลงโปรแกรมแล้วก็ขอนำมาฝากพี่ๆน้องๆเผื่อว่าท่าใดอยากลองมาใช้ Ubuntu บ้างจะได้รู้ว่ามันไม่ได้ยากอย่างที่คิดเลย ผมนำตัวอย่างการลง Spatial Database ตัวเก่ง Postgresql + Postgis บน Ubuntu มาแนะนำครับ

Step I : Postgresql 8.3

1. เพื่อให้ง่ายก็ไม่ต้อง hardcore ไป compile เองครับเพราะจะเหนื่อยโดยใช่เหตุ ติดตั้งผ่าน apt-get ง่ายสุด

$ sudo apt-get install postgresql-8.3

2. ติดตั้งส่วนของ Database client คือ pgadmin

$ sudo apt-get install pgadmin3 

3. ทำการ reset ตัว password ของ postgresql ผ่าน psql กำหนด password ใหม่ลงไป

$ sudo su postgres -c psql template1

template1=# ALTER USER postgres with PASSWORD 'password';
template1=# \q

4.แก้ password บน postgres user ของ ubuntu ให้ตรงกับ database

$ sudo passwd -d postgres
$ sudo su postgres -c passwd

5. set up ตัว admin package

$ sudo su postgres -c psql < /usr/share/postgresql/8.3/contrib/adminpack.sql

6. เปิดตัว config ของ postgres เพื่อให้ IP อื่นจากภายนอกใช้งานได้

$ sudo gedit /etc/postgresql/8.3/main/postgresql.conf

แก้ ส่วนของ config

#listen_addresses = 'localhost' ไปเป็น
listen_addresses = '*'

7.แก้ส่วนของ pg_hba.config ปลด comment ออกจากสองบรรทัด

$ sudo gedit /etc/postgresql/8.3/main/pg_hba.conf
local all all ident sameuser
local all all md5

8. restart ตัว postgresql database server

$ sudo /etc/init.d/postgresql-8.3 restart

Step II : PostGIS

9. ลง Postgis ต่อเลย

$ sudo apt-get install postgis
$ sudo apt-get install postgresql-8.3-postgis

10. create postgis template

$ sudo su postgres
$ createdb postgistemplate
$ createlang plpgsql postgistemplate
$ psql -d postgistemplate -f /usr/share/postgresql-8.3-postgis/lwpostgis.sql
$ psql -d postgistemplate -f /usr/share/postgresql-8.3-postgis/spatial_ref_sys.sq

11. สร้าง Permission ให้กับ postgistemplate

$ psql -d postgistemplate
$ ALTER TABLE geometry_columns OWNER TO postgres;
$ ALTER TABLE spatial_ref_sys OWNER TO postgres;
$ CREATE SCHEMA gis_schema AUTHORIZATION postgres;

12. สร้าง Database ใหม่โดย inherit จาก Postgistemplate

$ createdb -T postgistemplate -O postgres spatialdb

13. โหลดไฟล์ข้อมูล GIS จาก shapefile เข้า postgresql

$ shp2pgsql -I -s 32647 Building.shp building > building.sql

14.  excute ตัว sql บน spatialdb

$ psql -d spatialdb -h localhost -U postgres -f building.sql

15. ทดลอง query ข้อมูล building

$ psql -d spatialdb -c "select * from building;"

Step III : QGIS

16. เพื่อให้สะดวก ติดตั้ง QGIS เพื่อทำการเรียกดูข้อมูลจาก database แบบ graphic

$ sudo apt-get install qgis

17. เปิด QGIS เพื่อเชื่อมต่อ ข้อมูลอาคารบน spatialdatabase

กรอกพารามิเตอร์ต่างๆเพื่อเชื่อมต่อ database

ตัวอย่างข้อมูล building จาก Spatial Database