Γεωχωρικές Εφαρμογές Ανοιχτού Κώδικα υπό το Ubuntu-Linux (8.04)

~ - ~  Υπό κατασκευή...   ~ - ~   Under construction...   ~ - ~
Αυτή η σελίδα περιγράφει βήμα προς βήμα την εγκατάσταση ανοιχτού κώδικα εφαρμογών διαχείρισης γεωχωρικών δεδομένων. Οι οδηγίες αφορούν στην εγκατάσταση των εφαρμογών χρησιμοποιώντας τον πηγαίο κώδικα.

* Γλώσσα προγραμματισμού υψηλού επιπέδου * Γλώσσα μηχανής
 * Τι είναι ο πηγαίος κώδικας;
 * Μεταγλώττιση. Δηλαδή;

* Λήψη πηγαίου κώδικα * Ρύθμιση/προετοιμασία * Μεταγλώττιση
 * Ποια είναι τα βήματα της μεταγλώττισης του πηγαίου κώδικα

+ + + - Χρονοβόρα διαδικασία -
 * Πλεονεκτήματα και μειονεκτήματα χρήσης του πηγαίου κώδικα

Γενικά

 * Για πρακτικούς λόγους δημιουργηθεί ένας κεντρικός κατάλογος στον οποίο θα συγκεντρωθούν ο πηγαίος κώδικας των εφαρμογών που πρόκειται να μεταγγλωτιστούν.
 * Αναφορά του καταλόγου /usr/local/lib στο αρχείο /etc/ld.so.conf
 * Αναφορά του καταλόγου /usr/local/lib στο αρχείο /etc/ld.so.conf
 * Αναφορά του καταλόγου /usr/local/lib στο αρχείο /etc/ld.so.conf

Εγκατάσταση πακέτων υποστήριξης της μεταγλώττισης πηγαίου κώδικα
sudo apt-get install \ build-essential \ make \ flex \ bison \ gcc \ libgcc1 \ g++ \ cmake \ ccache \ swig swig1.3 \ python python-dev \ python3 python3-dev \ python-qt4 python-qt4-dev \ sip4 \ python-sip4 python-sip4-dev \ python-opengl \ libgsl0-dev \ python-wxversion python-wxtools \ python-wxgtk2.8 \ wx2.8-headers wx-common \ libwxgtk2.8-dev libwxgtk2.8-dbg \ libwxbase2.8-dev libwxbase2.8-dbg \ ruby \ libncurses5-dev \ zlib1g-dev \ libjpeg62-dev \ libtiff4-dev \ libpngwriter-dev \ libhdf4g-dev libhdf4g-run \ tcl8.4-dev tk8.4-dev \ libcairo libcairo-dev \ sqlite3 libsqlite3-dev \ libpq-dev \ libreadline5 libreadline5-dev libfreetype6-dev \ txt2tags \ fftw3 fftw3-dev \ libqt4-core libqt4-dbg libqt4-dev libqt4-gui libqt4-sql libqt4-qt3support \ lsb-qt4 qt4-designer qt4-dev-tools qt4-doc qt4-qtconfig \ libapt-pkg-perl resolvconf \ libjasper-dev \ subversion
 * 1) python-gdal \

Βασικά πακέτα υποστήριξης των εφαρμογών διαχείρισης γεωχωρικών δεδομένων
• PROJ4

Χαρτογραφικές προβολές


 * Λήψη των συμπιεσμένων αρχείων που περιέχουν τις χαρτογραφικές προβολές proj-4.6.1.tar.gz και proj-datumgrid-1.4.tar.gz από http://trac.osgeo.org/proj

tar xzvf proj-4.6.1.tar.gz
 * Μετακίνηση στον κατάλογο /usr/local/src και αποσυμπίεση ## Ο πηγαίος κώδικας μπορεί να τοποθετηθεί και σε αλλο κατάλογο αρκεί να του δοθούν τα απαραίτητα δικαιώματα εγγραφής-ανάγνωσης-εκτέλεσης.

cd /usr/local/src/proj/nad tar xzvf proj-datumgrid-1.3.tar.gz
 * Μετακίνηση του αρχείου proj-datumgrid-1.3.tar.gz στον κατάλογο proj/nad και αποσυμπίεση

./configure
 * Προετοιμασία ( Ρύθμιση;)

make
 * Μεταγλώττιση

sudo make install
 * Εγκατάσταση

• GEOS

bunzip geos-3.0.0.tar.bz2 tar xvf geos-3.0.0.tar
 * Λήψη του πηγαίου κώδικα (αρχείο geos-3.0.0.tar.bz2)
 * Μετακίνηση στον "κεντρικό κατάλογο" και αποσυμπίεση

./configure
 * Προετοιμασία

make
 * Μεταγλώττιση

sudo make install
 * Εγκατάσταση

sudo ldconfig
 * Εκτέλεση του προγράμματος /sbin/ldconfig με δικαώματα υπερχρήστη

== BELOW ALL TO BE TRANSLATED/FORMATTED ==

• GDAL


 * Πρέπει να μεταγλωττιστεί χωρίς υποστήριξη για γεωχωρικά δεδομένα του GRASS-GIS ***

cd /usr/local/src/gdal_stable
 * 1) Download with svn ## or update with "svn up"
 * 1) πλοήγηση στον κατάλογο gdal_stable ο οποίος περιέχει τον πηγαίο κώδικα

CFLAGS="-g -Wall" LDFLAGS="-s" ./configure --with-png=internal  --with-libtiff=internal  --with-geotiff=internal  --with-jpeg=internal  --with-gif=internal  --with-ecw=yes  --with-expat=yes  --with-expat-inc=/usr/include/  --with-expat-lib=/usr/lib  --with-sqlite3=yes  --with-geos=yes  --with-python  --with-libz=internal  --with-netcdf  --with-sqlite  --with-threads=yes  --without-grass   --without-ogdi  --with-pg=/usr/bin/pg_config  --with-xerces=yes
 * Προετοιμασία

make
 * Μεταγλώττιση

sudo make install
 * Εγκατάσταση

sudo ldconfig
 * Εκτέλεση του προγράμματος /sbin/ldconfig με δικαώματα υπερχρήστη

Troubleshooting

All stuff installed but QGIS doesn't see GRASS or r.out.gdal doesn't work? gdal_translate --formats | grep -i grass GRASS (ro): GRASS Database Rasters (5.7+) ldd /usr/lib/gdalplugins/gdal_GRASS.so       ldd /usr/lib/gdalplugins/ogr_GRASS.so        # remember that you have to specify the absolute path: export CPL_DEBUG=on gdalinfo /home/neteler/grassdata/spearfish60/PERMANENT/cellhd/roads ogrinfo -summary $HOME/grassdata/spearfish60/PERMANENT/vector/roads/head
 * Check if GDAL finds the plugin:
 * Check if the GRASS libs are found by the plugin. All libraries should be found (maybe you forgot to run 'ldconfig' if you didn't install from RPMs?):
 * Check if the GRASS plugins are in the right directory (check the 'Auto register' directory reported in the output):

Εφαρμογές διαχείρισης γεωχωρικών δεδομένων
• GRASS


 * Λήψη του πηγαίου κώδικα χρησιμοποιώντας το svn

CFLAGS="-g -Wall" LDFLAGS="-s" ./configure \ --enable-64bit \ --with-libs=/usr/lib64 \ --with-cxx \ --with-freetype=yes \ --with-freetype-includes="/usr/include/freetype2/" \ --with-postgres=no \ --with-sqlite=yes \ --enable-largefile=yes \ --with-tcltk-includes="/usr/include/tcl8.4/" \ --with-freetype-includes=/usr/include/freetype2 \ --with-opengl-libs=/usr/include/GL \ --with-readline \ --with-python=yes \ --with-proj-share=/usr/share/proj/ \ --with-wxwidgets \ --with-cairo
 * Configure:

• GDAL-GRASS-plugin


 * 1) create grass6.conf or add in ld.so.conf the "GRASS library path"

./configure --prefix=/usr/local --with-gdal=/usr/local/bin/gdal-config --with-grass=/usr/local/grass-6.4.svn/ --with-autoload="/usr/local/lib/gdalplugins/" --with-ld-shared="g++ -shared"
 * 1) configure ## point to grass installation as needed

make
 * 1) compilation

sudo make install
 * 1) installation

• QGIS


 * 1) Compile qgis source code following steps described in the wiki

sudo apt-get install svn
 * 1) Get qgis from svn under the desired folder (I use /usr/local/src)

svn co https://svn.osgeo.org/qgis/trunk/qgis qgis

sudo apt-get install libqt4-core libqt4-debug libqt4-debug-dev libqt4-dev libqt4-gui libqt4-qt3support libqt4-sql lsb-qt4 qt4-designer qt4-dev-tools qt4-doc qt4-qtconfig uim-qt gcc libapt-pkg-perl resolvconf
 * 1) Install some dependencies

sudo update-alternatives --config qmake sudo update-alternatives --config uic sudo update-alternatives --config designer sudo update-alternatives --config assistant sudo update-alternatives --config qtconfig sudo update-alternatives --config moc sudo update-alternatives --config lupdate sudo update-alternatives --config lrelease sudo update-alternatives --config linguist
 * 1) This step is required if two versions of qt are there!
 * 2) /usr/bin/qmake -> /etc/alternatives/qmake

cd /usr/local/bin sudo ln -s /usr/bin/ccache gcc sudo ln -s /usr/bin/ccache g++
 * 1) some tip to speed-up compilation as suggested in qgis wiki

cd /usr/local/src/qgis/
 * 1) configure - compile - install

mkdir build

cd build

ccmake ..

make

sudo make install

qgis
 * 1) launch qgis

sudo apt-get install r-base sudo apt-get install python-rpy sudo apt-get install python-numpy
 * 1) install r, rpy, numpy

• Starspan

tar zxf starspan-XXXX.tar.gz cd starspan-XXXX
 * 1) download and prepare

./configure --with-grass=/usr/local/grass-6.4.svn
 * 1) configure

make
 * 1) compile

make install
 * 1) install