Utilisation de GDAL et OGR pour convertir vos données pour une utilisation dans GeoNode¶
GeoNode supporte la charge des données dans des fichiers de formes, GeoTiff, csv et les formats de fichier KML (pour les deux derniers formats que si vous utilisez le backend geonode.importer dans la variable de téléchargement dans settings.py). Si vos données sont dans d’autres formats, vous aurez besoin pour le convertir en l’un de ces formats pour une utilisation dans GeoNode. Cette section vous guidera à travers les étapes nécessaires pour convertir vos données dans des formats appropriés pour le téléchargement en GeoNode.
Vous devrez vous assurer que vous disposez de la bibliothèque GDAL installé sur votre système. Sur Ubuntu, vous pouvez installer ce paquet avec la commande suivante
$ sudo apt-get install gdal-bin
OGR (données vectorielles)¶
OGR est utilisé pour manipuler des données vectorielles. Dans cet exemple, nous allons utiliser les fichiers MapInfo de les convertir en fichiers de formes avec la commande ogr2ogr. Nous allons utiliser des fichiers MapInfo échantillons à partir du site lié ci-dessous.
http://services.land.vic.gov.au/landchannel/content/help?name=sampledata
Vous pouvez télécharger l’ Admin;(Postcode) couche en lançant la commande suivante
$ wget http://services.land.vic.gov.au/sampledata/mif/admin_postcode_vm.zip
Vous aurez besoin de décompresser ce jeu de données en exécutant la commande suivante
$ unzip admin_postcode_vm.zip
Cela vous laisse avec les fichiers suivants dans le répertoire où vous avez exécuté les commandes ci-dessus
|-- ANZVI0803003025.htm
|-- DSE_Data_Access_Licence.pdf
|-- VMADMIN.POSTCODE_POLYGON.xml
|-- admin_postcode_vm.zip
--- vicgrid94
--- mif
--- lga_polygon
--- macedon\ ranges
|-- EXTRACT_POLYGON.mid
|-- EXTRACT_POLYGON.mif
--- VMADMIN
|-- POSTCODE_POLYGON.mid
--- POSTCODE_POLYGON.mif
D’abord, permet d’inspecter cet ensemble de fichiers en utilisant la commande suivante
$ ogrinfo -so vicgrid94/mif/lga_polygon/macedon\ ranges/VMADMIN/POSTCODE_POLYGON.mid POSTCODE_POLYGON
La sortie ressemblera à ce qui suit
Had to open data source read-only.
INFO: Open of `vicgrid94/mif/lga_polygon/macedon ranges/VMADMIN/POSTCODE_POLYGON.mid'
using driver `MapInfo File' successful.
Layer name: POSTCODE_POLYGON
Geometry: 3D Unknown (any)
Feature Count: 26
Extent: (2413931.249367, 2400162.366186) - (2508952.174431, 2512183.046927)
Layer SRS WKT:
PROJCS["unnamed",
GEOGCS["unnamed",
DATUM["GDA94",
SPHEROID["GRS 80",6378137,298.257222101],
TOWGS84[0,0,0,-0,-0,-0,0]],
PRIMEM["Greenwich",0],
UNIT["degree",0.0174532925199433]],
PROJECTION["Lambert_Conformal_Conic_2SP"],
PARAMETER["standard_parallel_1",-36],
PARAMETER["standard_parallel_2",-38],
PARAMETER["latitude_of_origin",-37],
PARAMETER["central_meridian",145],
PARAMETER["false_easting",2500000],
PARAMETER["false_northing",2500000],
UNIT["Meter",1]]
PFI: String (10.0)
POSTCODE: String (4.0)
FEATURE_TYPE: String (6.0)
FEATURE_QUALITY_ID: String (20.0)
PFI_CREATED: Date (10.0)
UFI: Real (12.0)
UFI_CREATED: Date (10.0)
UFI_OLD: Real (12.0)
Cela vous donne des informations sur le nombre de fonctionnalités, la mesure, la projection et les attributs de cette couche.
Ensuite, permet d’aller de l’avant et convertir cette couche dans un fichier de formes en tapant la commande suivante
$ ogr2ogr -t_srs EPSG:4326 postcode_polygon.shp vicgrid94/mif/lga_polygon/macedon\ ranges/VMADMIN/POSTCODE_POLYGON.mid POSTCODE_POLYGON
Notez que nous avons également reprojetées la couche au système de référence WGS84 spatiale avec les -t_srs ogr2ogr option.
La sortie de cette commande va ressembler à la suivante
Warning 6: Normalized/laundered field name: 'FEATURE_TYPE' to 'FEATURE_TY'
Warning 6: Normalized/laundered field name: 'FEATURE_QUALITY_ID' to 'FEATURE_QU'
Warning 6: Normalized/laundered field name: 'PFI_CREATED' to 'PFI_CREATE'
Warning 6: Normalized/laundered field name: 'UFI_CREATED' to 'UFI_CREATE'
Cette sortie indique que certains des noms de champs ont été tronquées pour tenir dans la contrainte que les attributs de fichiers de formes sont seulement 10 caractères de long.
Vous allez maintenant avoir un ensemble de fichiers qui composent l’ensemble postcode_polygon.shp shapefile. Nous pouvons les inspecter en exécutant la commande suivante
$ ogrinfo -so postcode_polygon.shp postcode_polygon
Le résultat ressemblera à la sortie, nous avons vu ci-dessus lorsque nous avons inspecté le fichier MapInfo nous avons converti à partir
INFO: Open of `postcode_polygon.shp'
using driver `ESRI Shapefile' successful.
Layer name: postcode_polygon
Geometry: Polygon
Feature Count: 26
Extent: (144.030296, -37.898156) - (145.101137, -36.888878)
Layer SRS WKT:
GEOGCS["GCS_WGS_1984",
DATUM["WGS_1984",
SPHEROID["WGS_84",6378137,298.257223563]],
PRIMEM["Greenwich",0],
UNIT["Degree",0.017453292519943295]]
PFI: String (10.0)
POSTCODE: String (4.0)
FEATURE_TY: String (6.0)
FEATURE_QU: String (20.0)
PFI_CREATE: Date (10.0)
UFI: Real (12.0)
UFI_CREATE: Date (10.0)
UFI_OLD: Real (12.0)
Ces fichiers peuvent maintenant être chargés dans votre instance de GeoNode via l’uploader normale.
Visitez la page de téléchargement de votre GeoNode, glisser et déposer les fichiers qui compose le fichier de formes que vous avez généré en utilisant la commande de GDAL ogr2ogr (postcode_polygon.dbf, postcode_polygon.prj, postcode_polygon.shp, postcode_polygon.shx). Donner les autorisations que nécessaire, puis cliquez sur le “Ajouter des fichiers” bouton.

Dès que le processus d’importation terminé, vous aurez la possibilité d’aller directement à la page d’info de couche (“Layer Info” bouton), ou de modifier les métadonnées pour que la couche (bouton “Modifier les métadonnées”), ou pour gérer les styles pour que la couche (“Gérer les styles”).

GDAL (données raster)¶
Maintenant que nous avons vu comment convertir couches vectorielles dans les fichiers de formes en utilisant ogr2ogr, nous marcherons à travers les étapes nécessaires pour effectuer la même opération avec des couches raster. Pour cet exemple, nous allons travailler avec Arc / Info Binary et les données de la grille ASCII et convertir en format GeoTiff pour une utilisation dans GeoNode.
Tout d’abord, vous devez télécharger les données d’échantillons de travailler avec elle. Vous pouvez le faire en exécutant la commande suivante
$ wget http://84.33.2.26/geonode/sample_asc.tar
Vous aurez besoin de décompresser ce fichier en exécutant cette commande
$ tar -xvf sample_asc.tar
Vous serez à gauche avec les fichiers suivants sur votre système de fichiers
|-- batemans_ele
| |-- dblbnd.adf
| |-- hdr.adf
| |-- metadata.xml
| |-- prj.adf
| |-- sta.adf
| |-- w001001.adf
| |-- w001001x.adf
|-- batemans_elevation.asc
Le batemans_elevation.asc de fichier est un fichier Arc / Info ASCII Grid et les fichiers dans le répertoire de batemans_ele sont un fichier Arc / Info Binary Grid.
Vous pouvez utiliser la commande gdalinfo d’inspecter ces deux fichiers en exécutant la commande suivante
$ gdalinfo batemans_elevation.asc
La sortie devrait ressembler à ce qui suit
Driver: AAIGrid/Arc/Info ASCII Grid
Files: batemans_elevation.asc
Size is 155, 142
Coordinate System is `'
Origin = (239681.000000000000000,6050551.000000000000000)
Pixel Size = (100.000000000000000,-100.000000000000000)
Corner Coordinates:
Upper Left ( 239681.000, 6050551.000)
Lower Left ( 239681.000, 6036351.000)
Upper Right ( 255181.000, 6050551.000)
Lower Right ( 255181.000, 6036351.000)
Center ( 247431.000, 6043451.000)
Band 1 Block=155x1 Type=Float32, ColorInterp=Undefined
NoData Value=-9999
Vous pouvez ensuite consulter les dossiers batemans_ele en exécutant la commande suivante
$ gdalinfo batemans_ele
Et cela devrait être la sortie correspondante
Driver: AIG/Arc/Info Binary Grid
Files: batemans_ele
batemans_ele/dblbnd.adf
batemans_ele/hdr.adf
batemans_ele/metadata.xml
batemans_ele/prj.adf
batemans_ele/sta.adf
batemans_ele/w001001.adf
batemans_ele/w001001x.adf
Size is 155, 142
Coordinate System is:
PROJCS["unnamed",
GEOGCS["GDA94",
DATUM["Geocentric_Datum_of_Australia_1994",
SPHEROID["GRS 1980",6378137,298.257222101,
AUTHORITY["EPSG","7019"]],
TOWGS84[0,0,0,0,0,0,0],
AUTHORITY["EPSG","6283"]],
PRIMEM["Greenwich",0,
AUTHORITY["EPSG","8901"]],
UNIT["degree",0.0174532925199433,
AUTHORITY["EPSG","9122"]],
AUTHORITY["EPSG","4283"]],
PROJECTION["Transverse_Mercator"],
PARAMETER["latitude_of_origin",0],
PARAMETER["central_meridian",153],
PARAMETER["scale_factor",0.9996],
PARAMETER["false_easting",500000],
PARAMETER["false_northing",10000000],
UNIT["METERS",1]]
Origin = (239681.000000000000000,6050551.000000000000000)
Pixel Size = (100.000000000000000,-100.000000000000000)
Corner Coordinates:
Upper Left ( 239681.000, 6050551.000) (150d 7'28.35"E, 35d39'16.56"S)
Lower Left ( 239681.000, 6036351.000) (150d 7'11.78"E, 35d46'56.89"S)
Upper Right ( 255181.000, 6050551.000) (150d17'44.07"E, 35d39'30.83"S)
Lower Right ( 255181.000, 6036351.000) (150d17'28.49"E, 35d47'11.23"S)
Center ( 247431.000, 6043451.000) (150d12'28.17"E, 35d43'13.99"S)
Band 1 Block=256x4 Type=Float32, ColorInterp=Undefined
Min=-62.102 Max=142.917
NoData Value=-3.4028234663852886e+38
Vous remarquerez que le fichier * batemans_elevation.asc ne pas contenir d’informations de projection tandis que le fichier batemans_ele fait. Pour cette raison, vous permet d’utiliser les fichiers de batemans_ele pour cet exercice et de les convertir à un GeoTiff pour une utilisation dans GeoNode. Nous allons également reprojeter ce fichier dans WGS84 dans le processus. Ceci peut être accompli avec la commande suivante.
$ gdalwarp -t_srs EPSG:4326 batemans_ele batemans_ele.tif
La sortie va vous montrer les progrès de la conversion et quand elle est terminée, vous sera laissé avec un fichier de batemans_ele.tif que vous pouvez télécharger sur votre GeoNode.
Vous pouvez inspecter ce fichier avec la commande gdalinfo
$ gdalinfo batemans_ele.tif
Qui va produire la sortie suivante
Driver: GTiff/GeoTIFF
Files: batemans_ele.tif
Size is 174, 130
Coordinate System is:
GEOGCS["WGS 84",
DATUM["WGS_1984",
SPHEROID["WGS 84",6378137,298.257223563,
AUTHORITY["EPSG","7030"]],
AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich",0],
UNIT["degree",0.0174532925199433],
AUTHORITY["EPSG","4326"]]
Origin = (150.119938943722502,-35.654598806259330)
Pixel Size = (0.001011114155919,-0.001011114155919)
Metadata:
AREA_OR_POINT=Area
Image Structure Metadata:
INTERLEAVE=BAND
Corner Coordinates:
Upper Left ( 150.1199389, -35.6545988) (150d 7'11.78"E, 35d39'16.56"S)
Lower Left ( 150.1199389, -35.7860436) (150d 7'11.78"E, 35d47' 9.76"S)
Upper Right ( 150.2958728, -35.6545988) (150d17'45.14"E, 35d39'16.56"S)
Lower Right ( 150.2958728, -35.7860436) (150d17'45.14"E, 35d47' 9.76"S)
Center ( 150.2079059, -35.7203212) (150d12'28.46"E, 35d43'13.16"S)
Band 1 Block=174x11 Type=Float32, ColorInterp=Gray
Vous pouvez ensuite suivre les mêmes étapes que nous avons utilisé ci-dessus pour télécharger le fichier GeoTiff nous avons créé dans le GeoNode, et vous verrez votre couche affiché dans la page d’informations du calque.

Maintenant que vous avez vu comment convertir couches à la fois avec OGR et GDAL, vous pouvez utiliser ces techniques pour travailler avec vos propres données et obtenir préparé pour inclusion dans votre propre GeoNode.