Suite

Erreur lors de la lecture du fichier ESRI ArcGrid à l'aide de GeoTools ?


J'ai un fichier raster au format ESRI ArcGrid (par exemple hdr.adf). Je voudrais effectuer une analyse à l'aide de GeoTools. Je n'ai jamais utilisé les classes de couverture auparavant et j'ai quelques problèmes au départ.

Je peux très bien instancier l'AIGReader et j'obtiens les valeurs correctes lorsque je vérifie les limites. Exemple:

Lecteur BaseGDALGridCoverage2DReader = new AIGReader(fichier); System.out.println(reader.getSource()); for (Couverture de chaîne : reader.getGridCoverageNames()){ System.out.println(coverage); } System.out.println(reader.getOriginalEnvelope()); System.out.println(reader.getOriginalGridRange()); System.out.println(reader.getCoordinateReferenceSystem());

Voici la sortie standard :

06 janvier 2015 18:38:09 it.geosolutions.imageio.gdalframework.GDALUtilities loadGDAL INFO: Bibliothèque native GDAL chargée (version: 1.11.1) 06 janvier 2015 18:38:09 org.geotools.coverageio.gdal .BaseGDALGridCoverage2DReader setCoverageProperties INFO : crs introuvable, en procédant avec crs par défaut K:LandscanLandScan_Archive_2000_2012LandScan2000lspop2000hdr.adf geotools_coverage GeneralEnvelope[(-18900.0, -90.0), (171999999999992) GridEnvelope, (1719999999999990)[(-18999999999990) D… 859,99999999998D] 0… 21119] LOCAL_CS["Wildcard 2D plan cartésien en unité métrique", LOCAL_DATUM["Inconnu", 0], UNIT["m", 1.0], AXIS["x", EAST], AXIS["y", NORD ], AUTORITÉ["EPSG","404000"]]

Lorsque j'appelle la méthode BaseGDALGridCoverage2DReader.read(), j'obtiens une exception de pointeur nul :

GridCoverage2D gc = (GridCoverage2D) reader.read(null);

La méthode read lève l'exception suivante :

Exception dans le thread "main" java.lang.NullPointerException à org.geotools.coverageio.RasterLayerRequest.setBaseParameters(RasterLayerRequest.java:902) à org.geotools.coverageio.RasterLayerRequest.(RasterLayerRequest.java:206) sur org.geotools.coverageio.BaseGridCoverage2DReader.read(BaseGridCoverage2DReader.java:400)

J'ai essayé de transmettre un tableau de GeneralParameterValue mais j'obtiens toujours une exception de pointeur null. Exemple:

ValeurParamètre policy = AbstractGridFormat.OVERVIEW_POLICY.createValue(); policy.setValue(OverviewPolicy.IGNORE); ValeurParamètre gridsize = AbstractGridFormat.SUGGESTED_TILE_SIZE.createValue(); ValeurParamètre useJaiRead = AbstractGridFormat.USE_JAI_IMAGEREAD.createValue(); useJaiRead.setValue(true); reader.read(new GeneralParameterValue[]{policy, gridsize, useJaiRead});

J'utilise Java 1.6 donc je suis bloqué avec GeoTools 10.8.

Aucune suggestion?

METTRE À JOUR

QGIS et GDAL peuvent ouvrir le fichier uniquement. Voici un rendu de QGIS.

Voici la sortie de gdalinfo. Comme vous pouvez le voir, la projection n'est pas définie. J'espère que ce n'est pas la cause. Si c'est le cas, existe-t-il un moyen de dire au lecteur quelle projection utiliser ?

Pilote : AIG/Arc/Info Fichiers de grille binaire : K:LandscanLandScan_Archive_2000_2012LandScan2000lspop2000 K:LandscanLandScan_Archive_2000_2012LandScan2000lspop2000.aux.xml K:Scan2012LandscanLandScan_Archive_2000_2012LandScan2000lspop2000.aux.xml K:Scan2012LandscanLandScan_Archive_2000 :LandscanLandScan_Archive_2000_2012LandScan2000lspop2000hdr.adf K:LandscanLandScan_Archive_2000_2012LandScan2000lspop2000log K:LandscanLandScan_Archive_2000_2012LandArchive_2000_2000_2012LandArchive2000lscan2000lspop2000log K:LandscanLandScan_Archive_2000_2000LandArchive_2000lscan2000lscan2000lscan sta.adf K:LandscanLandScan_Archive_2000_2012LandScan2000lspop2000vat.adf K:LandscanLandScan_Archive_2000_2012LandScan2000lspop2000w00001.adf K:LandscanLandScan_001LandScan_Archive_2000_2012LandScan2000lspop2000w00001.adf K:LandscanLandScan_00ll200LandScan_2000_2012 Le système de coordonnées est "Origine = (-180.00000000000000,85.999999999999999289) Taille de pixel = (0.0083333333333333, -0.0083333333333333) Coordonnées du coin : en haut à gauche (-180.0000000, 86.0000000) En bas à gauche (-180.0000000, -90.0000000) En haut à droite ( 180.0000000, 86.0000000) En bas à droite ( 180.0000000, -90.0000000) Centre ( -0.000000, -2.0000000) Bande 1 Bloc=256x4 Type=Int32, ColorInterp=Undefined Description = lspop2000 Min=0.000 Max=159004.000 Minimum=0,000, Maximum=35453.000, Moyenne =14.586, StdDev=221.326 NoData Value=-2147483647 Métadonnées : LAYER_TYPE=athematic STATISTICS_MAXIMUM=35453 STATISTICS_MEAN=14.58631887449 STATISTICS_MINIMUM=0 STATISTICS_STDDEV=221.32624697214

Bien que cela ne vous aide pas vraiment, je peux lire un fichier Grid en utilisant le code suivant :

Fichier raster = new File("… /… /data/nzdem/nzdem500/hdr.adf"); Format AbstractGridFormat = GridFormatFinder.findFormat(raster); Lecteur AbstractGridCoverage2DReader = format.getReader(raster); GridCoverage2D cov; try { cov = reader.read(null); } catch (IOException giveUp) { throw new RuntimeException(giveUp); }

J'obtiens les notes de fichier journal suivantes :

07 janvier 2015 10:06:10 it.geosolutions.imageio.gdalframework.GDALUtilities loadGDAL INFO : GDAL Native Library chargée (version : 1.9.2)

07 janvier 2015 10:06:10 org.geotools.coverageio.gdal.BaseGDALGridCoverage2DReader setCoverageProperties

INFO : crs introuvable, procéder avec les crs par défaut

Erreur : impossible de trouver les classes wrapper de l'accélérateur mediaLib. Continuer en mode Java pur. Se produit dans : com.sun.media.jai.mlib.MediaLibAccessor


Introduction aux SIG open source

Geos (moteur de géométrie open source) est une bibliothèque de classes pour l'analyse de la topologie spatiale basée sur C++ et est publiée selon le protocole lgpl. La bibliothèque de classes geos fournit une large gamme de fonctions d'opération de topologie spatiale pour déterminer les relations entre les objets géométriques et former de nouveaux objets géométriques après les opérations d'analyse spatiale. La relation entre les points, les lignes et les éléments de surface, y compris la cohérence, la séparation, l'intersection, la coïncidence, l'inclusion et les emplacements adjacents, vous pouvez utiliser les fonctions fournies dans la bibliothèque de classes geos pour l'analyse et le jugement. La bibliothèque de classes geos fournit des opérations d'analyse buffer, convexhull, intersection, union et difference ), couvertes par la théorie des ensembles, telles que symdifference.

Système SIG open source C++

Les projets SIG de bureau incluent Grass, Ossim et Quantum GIS.

Quantum GIS (qgis) est un projet qui a de nombreuses origines avec l'herbe. Il se concentre davantage sur l'identification d'interfaces graphiques et la visualisation de cartes.

Middleware SIG open source dans le camp Java

Geotools fournit une large gamme de bibliothèques de classes pour le traitement des données SIG et l'analyse spatiale. La couche sous-jacente utilise des JT (suite de topologie Java) pour implémenter des fonctions de topologie spatiale et d'analyse.

Système SIG open source Java

Refractions Research, un chef de file des SIG open source, a présidé au développement d'un certain nombre de projets SIG, notamment postgis, geotools et geoserver. udig est également un important projet de SIG de bureau open source.

Udig suit les normes OpenGIS et prend en charge les sources de données telles que postgis, DB2, ArcSDE et Oracle spatial. En termes de services SIG réseau, udig fournit un excellent support. Les services WMS et WFS des services de carte réseau peuvent être lus et affichés directement dans udig. De plus, udig intègre la fonction de recherche Web du service de carte. Vous pouvez interroger le service de carte associé sur le réseau et le faire glisser vers la couche pour l'afficher. Comme udig utilise la plate-forme RCP pour le développement, le style d'interface et la méthode de fonctionnement sont cohérents avec la disposition existante d'Eclipse, ce qui rend les utilisateurs habitués à Eclipse plus cordiaux.

Jump utilisant le protocole GPL est également développé sur la base de Java. Jump fournit également une conception de structure de plug-in flexible et prend en charge l'affichage, l'édition et la sortie de formats de données vectorielles et raster, ainsi que les opérations d'analyse spatiale courantes. Jump est largement utilisé dans l'enseignement et le développement rapide de prototypes. Les fans de saut ont également lancé des projets pilotes de saut connexes et leurs sous-projets, tels que openjump, qui ont fait beaucoup de travail utile pour étudier le saut.

Bibliothèque C++ de calcul géométrique cgal

Shapelib, une bibliothèque open source pour le traitement des fichiers vectoriels shapefile

Projection conversion proj.4

Catégorie Logiciel SIG open source Logiciel commercial SIG
Système de bureau SIG Udig, sauter, qgis ArcMAP, ArcGIS
Outils d'analyse SIG Herbe, ossim ArcInfo et arcgrid
Statistiques géographiques Gnur Analyste géostatistique ArcGIS
Terre virtuelle 3D Worldwing, earth3d, ossimplanet Arcglobal, Google Earth
Moteur de données spatiales Postgis ArcSDE, Oracle Spatial
Service de base de données relationnelle Pstgresql, MySQL, INGRES Oracle et DB2
Service de métadonnées Isite Service de métadonnées ArcIMS
Service de carte Mapserver, géoserveur ArcIMS, mapguide Entreprise
Bibliothèque vectorielle de grille Gdal, OGR
Projection de carte Proj.4

Gdal (raster)/OGR (vecteur) fournit différents types de support de lecture/écriture

Geos (moteur de géométrie open source) est une bibliothèque de classes pour l'analyse de la topologie spatiale basée sur C++ et est publiée selon le protocole lgpl. La bibliothèque de classes geos fournit une large gamme de fonctions d'opération de topologie spatiale pour déterminer les relations entre les objets géométriques et former de nouveaux objets géométriques après les opérations d'analyse spatiale. La relation entre les points, les lignes et les éléments de surface, y compris la cohérence, la séparation, l'intersection, la coïncidence, l'inclusion et les emplacements adjacents, vous pouvez utiliser les fonctions fournies dans la bibliothèque de classes geos pour l'analyse et le jugement. La bibliothèque de classes geos fournit des opérations d'analyse buffer, convexhull, intersection, union et difference ), couvertes par la théorie des ensembles, telles que symdifference.

Système SIG open source C++

Les projets SIG de bureau incluent Grass, Ossim et Quantum GIS.

Quantum GIS (qgis) est un projet qui a de nombreuses origines avec l'herbe. Il se concentre davantage sur l'identification d'interfaces graphiques et la visualisation de cartes.

Middleware SIG open source dans le camp Java

Geotools fournit une large gamme de bibliothèques de classes pour le traitement des données SIG et l'analyse spatiale. La couche sous-jacente utilise des JT (suite de topologie Java) pour mettre en œuvre des fonctions de topologie spatiale et d'analyse.

Système SIG open source Java

Refractions Research, un chef de file des SIG open source, a présidé au développement d'un certain nombre de projets SIG, notamment postgis, geotools et geoserver. udig est également un important projet SIG de bureau open source.

Udig suit les normes OpenGIS et prend en charge les sources de données telles que postgis, DB2, ArcSDE et Oracle spatial. En termes de services SIG réseau, udig fournit un excellent support. Les services WMS et WFS des services de carte réseau peuvent être lus et affichés directement dans udig. De plus, udig intègre la fonction de recherche Web du service de carte. Vous pouvez interroger le service de carte associé sur le réseau et le faire glisser vers la couche pour l'afficher. Comme udig utilise la plate-forme RCP pour le développement, le style d'interface et la méthode de fonctionnement sont cohérents avec la disposition existante d'Eclipse, ce qui rend les utilisateurs habitués à Eclipse plus cordiaux.

Jump utilisant le protocole GPL est également développé sur la base de Java. Jump fournit également une conception de structure de plug-in flexible et prend en charge l'affichage, l'édition et la sortie de formats de données vectorielles et raster, ainsi que les opérations d'analyse spatiale courantes. Jump est largement utilisé dans l'enseignement et le développement rapide de prototypes. Les fans de saut ont également lancé des projets pilotes de saut connexes et leurs sous-projets, tels que openjump, qui ont fait beaucoup de travail utile pour étudier le saut.


Contexte et résumé

Les ensembles de données présentés dans cet article ont été essentiellement générés dans le cadre d'un projet de recherche européen intitulé « EnviroGRIDS : Building Capacity for a Black Sea Catchment Observation and Assessment System support Sustainable Development » qui a eu lieu entre 2009 et 2013 avec la participation de plus de cent scientifiques de trente institutions partenaires différentes de quinze pays 1 .

Ce projet a abordé l'écart entre les informations scientifiques disponibles dans le bassin versant de la mer Noire (BSC) et les besoins en matière de politique environnementale de la Commission pour la protection de la mer Noire contre la pollution et de la Commission internationale pour la protection du Danube 2 . L'objectif principal du projet était de renforcer les capacités sur les nouvelles techniques d'observation de la Terre et le partage de données via des services Web en tant que contribution européenne au Système mondial de systèmes d'observation de la Terre (GEOSS) 3 . Afin de démontrer les avantages de l'interopérabilité des systèmes et du partage des données, le projet a développé un pipeline d'analyses qui ont produit de nombreux ensembles de données nouveaux et originaux pour la mer Noire (400 000 km 2 ) et l'ensemble de son bassin hydrologique (2,2 millions de km 2 ).

Le projet enviroGRIDS est ancré dans et tire son nom de l'utilisation prévue de la technologie des grilles informatiques pour traiter une grande quantité de données environnementales à travers des modèles complexes 4 . Ce traitement des données a suivi une suite logique d'analyses illustrée à la figure 1.

La première partie des analyses visait à planter le décor en termes de scénarios plausibles de changement climatique, démographique et d'utilisation des terres pour l'ensemble de la BSC jusqu'en 2050. Des scénarios régionalisés ont d'abord été développés pour définir quatre scénarios (BS-Hot, BS-Alone, BS-Coop , BS-Cool) en fonction de leur positionnement sur deux axes mondialisation-régionalisation d'une part, et libéralisation-contrôle des politiques d'autre part. Des scénarios climatiques ont été dérivés de la méthode Delta afin d'extrapoler la température et les précipitations selon différents scénarios du Groupe d'experts intergouvernemental sur l'évolution du climat (GIEC). Des scénarios démographiques ont été élaborés sur la base des données de recensement par extrapolation par unités politiques avec des modèles urbains et ruraux 5 . Enfin, le changement d'affectation des sols a été modélisé avec le logiciel Metronamica 6 avec un processus stochastique annuel itératif prenant en compte la probabilité de changement d'une utilisation des sols à une autre et l'accessibilité par les routes et les trains 7 .

La deuxième série d'analyses est liée aux modèles hydrologiques utilisant les outils d'évaluation des sols et des eaux (SWAT2009 réf. 8). Ce modèle a été utilisé pour modéliser et prédire le débit de la rivière et les charges en éléments nutritifs (NO3) dans la mer Noire.

Une troisième analyse indépendante a été effectuée sur les résultats du modèle SWAT qui ont été utilisés pour évaluer la vulnérabilité de l'eau agricole 9 et la rareté de l'eau bleue 10 .

Enfin, l'érosion des plages a été modélisée le long de tout le littoral de la mer Noire et dans six pays en numérisant d'abord manuellement chaque plage sur la base d'images satellites d'arrière-plan, puis en leur appliquant un ensemble de six modèles d'érosion 11 .

Cet ensemble cohérent d'ensembles de données géospatiales environnementales sur le BSC constitue une contribution régionale du projet enviroGRIDS au GEOSS. Ces ensembles de données et leurs métadonnées correspondantes sont disponibles gratuitement (1) par téléchargement direct, (2) sous forme de services Web et (3) sous forme de composition de carte pour faciliter la visualisation sur une plate-forme GeoNode (http://blacksea.grid.unep. ch) qui est une implémentation simple d'une infrastructure de données spatiales typique 4 . Des copies complètes de ces ensembles de données et métadonnées ont été téléchargées sur Dryad (Citation de données 1).


Voir la vidéo: شرح مقدمة برنامج ArcGIS الجزء الثاني (Octobre 2021).