Εργαλεία Χρήστη

Εργαλεία ιστότοπου


geo-processing

Σύγκριση εκδόσεων

Εδώ βλέπετε τις διαφορές μεταξύ της επιλεγμένης έκδοσης και της τρέχουσας έκδοσης της σελίδας.

Σύνδεσμος σε αυτή την προβολή διαφορών.

Προηγούμενος έλεγχος και από τις δύο πλευρές Προηγούμενη αναθεώρηση
Επόμενη αναθεώρηση
Προηγούμενη αναθεώρηση
geo-processing [2010/03/12 08:22]
Sairin_Lote
geo-processing [2021/01/30 14:00] (τρέχουσα)
62.210.151.70 παλαιότερη έκδοση επαναφέρθηκε (2010/05/27 14:38)
Γραμμή 1: Γραμμή 1:
-======Απαιτούμενο υλικό======+======Εισαγωγή====== 
 +H GDAL (Geospatial Data Abstraction Library) είναι μια ελεύθερη βιβλιοθήκη (free software),που διαχειρίζεται γεωγραφικά δεδομένα. Η GDAL αποτελείται από δυο τμήματα: την GDAL που διαχειρίζεται raster δεδομένα και την OGR, η οποία διαχειρίζεται vector. Λόγω της ευρείας χρήσης της έχει μπει κάτω από την ομπρέλα του OSGeo (Open Source Geospatial Foundation). Η δύναμη της είναι τέτοια, που χρησιμοποιείται σε πολλά πακέτα GIS, τόσο ελέυθερου όσο και κλειστού/εμπορικού λογισμικού. Μερικά από αυτά είναι: Grass GIS, Quantum GIS, Google Earth, MapServer και ArcGIS.
  
-  * Python [[http://www.python.org/download/ | Get it!]] +Η βιβλιοθήκη είναι γραμμένη σε C, αλλά έχει μεταφερθεί και σε Python.
-  * GDAL library (περιέχει το GDAL module για raster και το OGR module για vector) [[http://trac.osgeo.org/gdal/wiki/DownloadingGdalBinaries | Get it!]]+
  
-Coming soon, stay tunned. 
  
-=====GDAL module=====+=====Εγκατάσταση σε Ubuntu 10.04===== 
 + 
 + 
 +Καλό θα είναι να εγκατασταθεί όλο το αποθετήριο του UbuntuGis που παρέχει άμεση πρόσβαση σε διάφορα προγράμματα γεωγραφικού ενδιαφέροντος. Για να γίνει αυτό ανοίξτε ένα terminal (Applications -> Accessories -> Terminal) και δώστε τις παρακάτω εντολές: 
 + 
 +    sudo add-apt-repository ppa:ubuntugis/ubuntugis-unstable 
 +    sudo apt-get update 
 + 
 +Από δω και στο εξείς μπορείτε να προσθέτετε πακέτα από το UbuntuGis κατευθείαν από τον Synaptic Package Manager. Για να προσθέσετε την GDAL ανίξτε το Synaptic Package Manager και ψάξτε το αρχείο gdal-bin. Επίσης για χρήση στην Python προσθέστε και το αρχείο python-gdal.  
 + 
 + 
 +======GDAL module======
  
 Όπως αναφέρθηκε, το module διαχειρίζεται raster αρχεία, δηλαδή με απλά λόγια είναι χρήσιμο για την Ψηφιακή Τηλεπισκόπηση! Τα είδη των αρχείων που υποστηρίζονται περιλαμβάνουν όλα τα γνωστά αρχεία εικόνα (TIFF, Erdas, ERmapper κ.λπ.) και πολλά άλλα! Μια πλήρη λίστα με αυτά υπάρχει [[http://www.gdal.org/formats_list.html | εδώ!]] Όπως αναφέρθηκε, το module διαχειρίζεται raster αρχεία, δηλαδή με απλά λόγια είναι χρήσιμο για την Ψηφιακή Τηλεπισκόπηση! Τα είδη των αρχείων που υποστηρίζονται περιλαμβάνουν όλα τα γνωστά αρχεία εικόνα (TIFF, Erdas, ERmapper κ.λπ.) και πολλά άλλα! Μια πλήρη λίστα με αυτά υπάρχει [[http://www.gdal.org/formats_list.html | εδώ!]]
Γραμμή 12: Γραμμή 22:
 Module στην Python δεν είναι τίποτα άλλο από ένα αρχείο .py (αρχείο Python δλδ), το οποίοι περιέχει μέσα έτοιμες συναρτήσεις και κλάσεις, οι οποίες καλώντας τες κάνουν χρησιμα πράγματα. Τα modules πρέπει να κλήθούν στην αρχή του κάθε προγράμματος ώστε να είναι διαθέσιμο το περιεχόμενό τους. Για παράδειγμα, το math είναι ένα μαθηματικό module της Python και έχει μέσα διάφορες συναρτήσεις, οι οποίες είναι έτοιμες για χρήση και μας γλιτώνουν από υπολογισμούς (πχ η μετατροπή από rad σε degrees γίνεται από την συνάρτηση degrees(x)). Module στην Python δεν είναι τίποτα άλλο από ένα αρχείο .py (αρχείο Python δλδ), το οποίοι περιέχει μέσα έτοιμες συναρτήσεις και κλάσεις, οι οποίες καλώντας τες κάνουν χρησιμα πράγματα. Τα modules πρέπει να κλήθούν στην αρχή του κάθε προγράμματος ώστε να είναι διαθέσιμο το περιεχόμενό τους. Για παράδειγμα, το math είναι ένα μαθηματικό module της Python και έχει μέσα διάφορες συναρτήσεις, οι οποίες είναι έτοιμες για χρήση και μας γλιτώνουν από υπολογισμούς (πχ η μετατροπή από rad σε degrees γίνεται από την συνάρτηση degrees(x)).
  
-Το GDAL module αρθρώνεται σε κάποιες χύμα συναρτήσεις και κάποιες κλάσεις, οι οποίες έχουν μέσα τους άλλες συνασρτήσεις. +Το GDAL module αρθρώνεται σε κάποιες αυτόνομες συναρτήσεις και κάποιες κλάσεις, οι οποίες έχουν μέσα τους άλλες συναρτήσεις. 
  
  
-====Άνοιγμα αρχείου====+ 
 +=====Άνοιγμα αρχείου=====
  
 Προχωράμε αμέσως στο άνοιγμα ενός αρχείου. Έστω ότι έχουμε μια εικόνα .ers (ERMapper format) στο '/home/user/Desktop' με ονομα 'image1.ers'. Αυτό γίνεται σε 3 στάδια: Προχωράμε αμέσως στο άνοιγμα ενός αρχείου. Έστω ότι έχουμε μια εικόνα .ers (ERMapper format) στο '/home/user/Desktop' με ονομα 'image1.ers'. Αυτό γίνεται σε 3 στάδια:
Γραμμή 32: Γραμμή 43:
     image=gdal.Open('/home/user/Desktop/image1.ers', GA_ReadOnly)     image=gdal.Open('/home/user/Desktop/image1.ers', GA_ReadOnly)
  
 +Στο συγκεκριμένο παράδειγμα επειδή δεν θέλουμε να επεξαργαστούμε την εικόνα αλλά μόνο να διαβάσουμε τα δεδομένα της χρησιμοποιήσαμε έναν driver-'μπαλαντέρ' (τον AllRegister()), ο οποίος ανοίγει όλες τις εικόνες, μόνο όμως για ανάγνωση.
  
-====Ανάκτηση Βασικών Δεδομένων====+Ορίζουμε στην μεταβλητή image την διαδικασία ανοίγματος της εικόνας. Η εικόνα ανοίγει χρησιμοποιώντας την μέθοδο Open() της κλάσσης gdal, η οποία δέχεται 2 arguments: το path της εικόνας και την κατάσταση ανοίγματος. 
 + 
 + 
 +=====Προσπέλαση Βασικών Δεδομένων=====
  
 Μπορούμε να πάρουμε κάποιες γενικές πληροφορίες για το αρχείο ως εξής: Μπορούμε να πάρουμε κάποιες γενικές πληροφορίες για το αρχείο ως εξής:
Γραμμή 62: Γραμμή 77:
     print 'Strofi kata X kai kata Y:', image.GetGeoTransform()[2],',',image.GetGeoTransform()[4]     print 'Strofi kata X kai kata Y:', image.GetGeoTransform()[2],',',image.GetGeoTransform()[4]
     print 'Diastaseis pixel kata X kai Y:', image.GetGeoTransform()[1],',',math.fabs(image.GetGeoTransform()[5])     print 'Diastaseis pixel kata X kai Y:', image.GetGeoTransform()[1],',',math.fabs(image.GetGeoTransform()[5])
 +
 +======OGR module======
 +
 +To OGR είναι το αντίστοιχο module διαχείρισης vector δεδομένων.
 +
 +
 +
 +=====Άνοιγμα αρχείου=====
 +
 +Το άνοιγμα αρχείων γίνεται σχεδόν όπως στην GDAL. Για παραδείγμα εδώ θα χρησιμοποιήσουμε ένα αρχείο Shapefile (.shp). Ο λόγος είναι ότι το shapefile είναι ένα από τα πιο διαδεδομένα αρχεία vector δεδομένων. Έστω λοιπόν ότι έχουμε ένα αρχείο test.shp. Αφήνω προς το παρόν την γεωμετρία του (point, line, polygon) φλου, επειδή θα αναφερθούμε σε εντολές που ισχύουν για όλα τα παραπάνω είδη. Έτσι έχουμε:
 +
 +    from osgeo import ogr
 +    driver=ogr.GetDriverByName('ESRI Shapefile')
 +    datasource=driver.Open('/home/user/Desktop/image1.ers', 0)
 +
 +=> Line 1 : καλώ το ogr module
 +
 +=> Line 2 : στην περίπτωση του ogr πρέπει να καλέσω συγκεκριμένο driver. O driver που καλώ είναι ο 'ESRI Shapefile' (προσοχή στα κεφαλαία/μικρά). Τον καλώ μέσω της μεθόδου GetDriverByName και τον αποθηκεύω στην μεταβλητή driver.
 +
 +=> Line 3 : ανοίγω το αρχείο όπως και στην περίπτωση της GDAL. Η μέθοδος Open() δέχεται εκτός από το path του αρχείου και μια τιμή, η οποία έιναι 0 ή 1. Το 0 χρησιμοποιείται για read-only άνοιγμα, ενώ το 1 σε περίπτωση που θέλουμε να 'πειράξουμε' το αρχείο.
 +
 +
  
geo-processing.1268382155.txt.gz · Τελευταία τροποποίηση: 2020/11/21 09:52 (εξωτερική τροποποίηση)