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

=== ~ - ~ Υπό κατασκευή... ~ - ~ Under construction... ~ - ~ ===
----
Αυτή η σελίδα περιγράφει βήμα προς βήμα την εγκατάσταση ανοιχτού κώδικα εφαρμογών διαχείρισης γεωχωρικών δεδομένων. Οι οδηγίες αφορούν στην εγκατάσταση των εφαρμογών χρησιμοποιώντας τον πηγαίο κώδικα.
* Τι είναι ο πηγαίος κώδικας;
* Μεταγλώττιση. Δηλαδή;
 * Γλώσσα προγραμματισμού υψηλού επιπέδου
 * Γλώσσα μηχανής
* Ποια είναι τα βήματα της μεταγλώττισης του πηγαίου κώδικα
 * Λήψη πηγαίου κώδικα
 * Ρύθμιση/προετοιμασία
 * Μεταγλώττιση
* Πλεονεκτήματα και μειονεκτήματα χρήσης του πηγαίου κώδικα
 + 
 +
 +
 - Χρονοβόρα διαδικασία
 - 
----
== Γενικά ==
* Για πρακτικούς λόγους δημιουργηθεί ένας κεντρικός κατάλογος στον οποίο θα συγκεντρωθούν ο πηγαίος κώδικας των εφαρμογών που πρόκειται να μεταγγλωτιστούν.
* ...
* ...
* Αναφορά του καταλόγου /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-gdal \
 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
== Βασικά πακέτα υποστήριξης των εφαρμογών διαχείρισης γεωχωρικών δεδομένων ==
• PROJ4
Χαρτογραφικές προβολές
* Λήψη των συμπιεσμένων αρχείων που περιέχουν τις χαρτογραφικές προβολές proj-4.6.1.tar.gz και proj-datumgrid-1.4.tar.gz από http://trac.osgeo.org/proj
* Μετακίνηση στον κατάλογο /usr/local/src και αποσυμπίεση ## Ο πηγαίος κώδικας μπορεί να τοποθετηθεί και σε αλλο κατάλογο αρκεί να του δοθούν τα απαραίτητα δικαιώματα εγγραφής-ανάγνωσης-εκτέλεσης.
 tar xzvf proj-4.6.1.tar.gz
* Μετακίνηση του αρχείου proj-datumgrid-1.3.tar.gz στον κατάλογο proj/nad και αποσυμπίεση
 cd /usr/local/src/proj/nad
 tar xzvf proj-datumgrid-1.3.tar.gz
* Προετοιμασία ( Ρύθμιση;)
 ./configure
* Μεταγλώττιση
 make
* Εγκατάσταση
 sudo make install
• GEOS
* Λήψη του πηγαίου κώδικα (αρχείο geos-3.0.0.tar.bz2)
* Μετακίνηση στον "κεντρικό κατάλογο" και αποσυμπίεση
 bunzip geos-3.0.0.tar.bz2
 tar xvf geos-3.0.0.tar
* Προετοιμασία
 ./configure
* Μεταγλώττιση
 make
* Εγκατάσταση
 sudo make install
* Εκτέλεση του προγράμματος /sbin/ldconfig με δικαώματα υπερχρήστη
 sudo ldconfig
== BELOW ALL TO BE TRANSLATED/FORMATTED ==
• GDAL
*** Πρέπει να μεταγλωττιστεί χωρίς υποστήριξη για γεωχωρικά δεδομένα του GRASS-GIS ***
 # Download with svn ## or update with "svn up"
 
 # πλοήγηση στον κατάλογο gdal_stable ο οποίος περιέχει τον πηγαίο κώδικα
 cd /usr/local/src/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
* Εκτέλεση του προγράμματος /sbin/ldconfig με δικαώματα υπερχρήστη
 sudo ldconfig
Troubleshooting
All stuff installed but QGIS doesn't see GRASS or r.out.gdal doesn't work? 
* Check if GDAL finds the plugin: 
 gdal_translate --formats | grep -i grass
 GRASS (ro): GRASS Database Rasters (5.7+)
* 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?): 
 ldd /usr/lib/gdalplugins/gdal_GRASS.so
 ldd /usr/lib/gdalplugins/ogr_GRASS.so
* Check if the GRASS plugins are in the right directory (check the 'Auto register' directory reported in the output): 
 # 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
== Εφαρμογές διαχείρισης γεωχωρικών δεδομένων ==
• GRASS
* Λήψη του πηγαίου κώδικα χρησιμοποιώντας το svn
* Configure:
 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
• GDAL-GRASS-plugin
 # create grass6.conf or add in ld.so.conf the "GRASS library path"
 # configure ## point to grass installation as needed
 ./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" 
 #compilation
 make
 #installation
 sudo make install
• QGIS
 # Compile qgis source code following steps described in the wiki
 # Get qgis from svn under the desired folder (I use /usr/local/src)
 sudo apt-get install svn
 svn co https://svn.osgeo.org/qgis/trunk/qgis qgis
 # Install some dependencies
 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
 ### This step is required if two versions of qt are there!
 #/usr/bin/qmake -> /etc/alternatives/qmake
 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
 # some tip to speed-up compilation as suggested in qgis wiki
 cd /usr/local/bin
 sudo ln -s /usr/bin/ccache gcc
 sudo ln -s /usr/bin/ccache g++
 # configure - compile - install
 cd /usr/local/src/qgis/
 mkdir build
 cd build
 ccmake ..
 make
 sudo make install
 # launch qgis
 qgis
 # install r, rpy, numpy
 sudo apt-get install r-base
 sudo apt-get install python-rpy
 sudo apt-get install python-numpy
• Starspan
 #download and prepare
 tar zxf starspan-XXXX.tar.gz
 cd starspan-XXXX
 #configure
 ./configure --with-grass=/usr/local/grass-6.4.svn
 #compile
 make
 #install
 make install