Suite

Taille et performances du géocodeur Postgis


J'ai installé Postgresql 9.3.5 et Postgis 2.1.2 sur un système Ubuntu 14.04 de 16 Go.

(1) Si je charge toutes les données TIGER des états, en utilisant les scripts fournis dans Postgis, quelle sera la taille de la base de données pour l'ensemble des États-Unis ?

J'ai actuellement installé uniquement les données TIGER pour la Californie (CA).

(2) Il faut environ une minute pour géocoder une adresse. J'ai lu les conseils de performances suggérés dans Comment améliorer les temps de performances médiocres pour PostGIS 2.1 Tiger Geocoder ? et j'ai essayé de définir la mémoire tampon partagée sur une valeur beaucoup plus grande. Je n'ai pas été en mesure d'améliorer le temps de performance de la requête.

Avez-vous des suggestions?


  1. La taille totale des données sera de 105 G. Cependant, vous avez besoin d'un espace temporaire pour télécharger et approvisionner la base de données. J'avais l'habitude d'utiliser un SSD 120G et il a été rempli avant la fin. Je lui ai attribué 180G en deuxième fois sans problème. Vous avez probablement besoin d'au moins 105G + 30G, car mon dossier de téléchargement après la fin du travail contient toujours des fichiers 30G.

  2. 1 min n'est pas correct et votre problème n'est généralement pas dans la configuration de la base de données, car la configuration par défaut devrait vous donner au moins 300 ms. Je suggérerais ces directions:

    • Installez la base de données dans SSD. Cela fait une énorme différence.
    • Formatez correctement l'adresse, tout comme lepprintsortie de fonction.

Je ne peux pas donner plus de suggestions sans plus d'informations sur votre configuration et vos requêtes. Vous pouvez consulter mon article de blog sur ma configuration et mon script.


Besoin de performances sur postGIS avec GeoDjango

C'est la première fois que j'utilise GeoDjango avec postGIS. Après l'installation et quelques tests avec tout fonctionne correctement, je suis préoccupé par les performances des requêtes lorsque les lignes de la table augmenteront.

J'enregistre dans un point de géométrie les longitudes et les latitudes que je reçois du géocodage Google (WGS84 ou SRID 4326). Mon problème est que les opérations à distance sont très courantes dans mon application. J'ai souvent besoin de me rapprocher d'un point de repère. Les mathématiques de géométrie sont très complexes, donc même si j'ai un index spatial, cela prendra probablement trop de temps à l'avenir d'avoir plus de 1000 points dans une zone proche.

Existe-t-il donc un moyen de projeter ce type de géométrie pour effectuer des opérations à distance plus rapidement ? est-ce que quelqu'un connaît une bibliothèque Django qui peut restituer une carte Google contenant certains de ces points ?

Des conseils pour accélérer les requêtes spatiales sur GeoDjango ?


Outils de géographie gratuits

Explorer le monde des outils gratuits pour les SIG, GPS, Google Earth, la néogéographie, etc.

GISCloud &ndash Une application de système d'information géographique en ligne

J'ai joué un peu avec GISCloud, un programme SIG basé sur le Web. Cela semble intéressant et prometteur, mais présente encore de sérieuses limites. L'ensemble de fonctionnalités comprend :

  • Affichage des données matricielles et vectorielles
  • Importation et édition de couches vectorielles, y compris les fichiers de formes, MapInfo, KML, délimité par des tabulations et GPX
  • La reprojection des coordonnées du fichier de données intégrée reconnaît les fichiers prj et vous permet de sélectionner le système de coordonnées de sortie (y compris celui de votre projet en cours)
  • Outils d'analyse SIG avancés, y compris la mise en mémoire tampon, la sélection spatiale par analyse, la comparaison de couches (par exemple, l'intersection) et les calculs de zone.
  • Exportez des couches de données vectorielles au format shapefile, MapInfo, CSV ou KML, ce qui en fait un convertisseur de format en ligne pratique.
  • Partagez l'édition de la carte avec d'autres utilisateurs (ou publiez-la simplement pour l'afficher)
  • Interface SIG d'aspect classique facile à décoder :

  • Seules les couches de données importées dans ou via une connexion PostGIS peuvent être utilisées pour l'analyse et l'édition. Je ne connais pas PostGIS, je n'ai donc pas pu tester ces fonctions, et aucun des ensembles d'échantillons de données ne contient de données PostGIS non plus. Vous pouvez apparemment télécharger des données et les importer dans une base de données PostGIS, cependant.
  • Le téléchargement de fichiers peut prendre un certain temps (bien qu'ils soient enregistrés localement) GISCloud reconnaît les fichiers dans les archives compressées, il est donc préférable de compresser vos données avant de les télécharger.
  • Pour les données PostGIS, je soupçonne que les temps de téléchargement vont limiter la taille des couches vectorielles/base de données que vous pouvez utiliser.
  • Apparemment, aucune couleur d'affichage thématique (basée sur les attributs) mais c'est un inconvénient majeur.
  • Les mises à jour des images raster pendant les zooms peuvent être lentes.
  • Tous les types d'images raster ne sont pas pris en charge (par exemple, les GeoTiffs indexés 8 bits ne fonctionnent pas, 24 bits le font).
  • Ce n'est pas exactement la plate-forme SIG la plus zippée avec laquelle j'ai jamais travaillé.
  • Il est basé sur Flash, donc les ennemis de Flash et les utilisateurs d'iPad devraient éviter, et tout le monde devrait s'attendre à des problèmes de CPU/performances/plantage. Flash 10.1 est censé sortir bientôt et devrait résoudre certains de ces problèmes.

Un premier effort intéressant dans le domaine des SIG basés sur le cloud, et je surveillerai son développement. Mais à moins que vous n'ayez accès à, et/ou une expérience avec, PostGIS, d'une utilité limitée pour le moment. Et je ne m'attends pas à ce que le SIG basé sur le cloud remplace les programmes SIG dédiés dans un avenir proche - trop lent et trop limité.

Articles Similaires:

Vous cherchez autre chose ? Entrez quelques mots-clés ci-dessous, puis cliquez sur "Rechercher".    

1 réponse à “GISCloud &ndash Une application de système d'information géographique en ligne”

Merci Leszek pour la critique!

Merci également d'avoir souligné les avantages et surtout les inconvénients. La rétroaction est ce qui nous fait avancer.

Je commenterai juste quelques choses sur la liste des inconvénients bien sûr :)

– GIS Cloud est actuellement situé sur nos serveurs en Europe. Ce fait entraîne encore un léger retard, mais probablement perceptible, lorsque l'utilisateur se trouve aux États-Unis ou en Asie. Nous prévoyons de passer à d'autres fournisseurs basés sur le cloud, probablement Amazon, donc le problème de "lenteur" sera résolu de cette manière. Pour la meilleure connexion possible, nous prévoyons d'avoir des centres de données dans toutes les régions amazoniennes disponibles.

– PostGIS est utilisé comme base de données principale car il est assez robuste et puissant. Nous ne prévoyons pas d'offrir un accès direct à celui-ci (peut-être en tant qu'option avancée), nous essayons plutôt d'encapsuler autant de ses fonctionnalités grâce à des assistants et des outils faciles à utiliser. C'est pourquoi nous en dépendons pour l'analyse.

– L'édition n'est pour l'instant disponible que pour les sources PostGIS, nous prévoyons d'ajouter la prise en charge de l'édition directe de n'importe quel format

– En ce qui concerne le téléchargement, cela dépend de la connexion. Ce que nous prévoyons de faire ici, c'est d'ajouter un moyen de télécharger n'importe quel fichier ou ensemble de données depuis Internet directement vers GIS Cloud. Vous n'auriez donc pas à le télécharger localement, puis à le télécharger à nouveau. Comme nous prévoyons de passer à Amazon, ils ont un service d'importation/exportation qui peut être idéal pour les grands ensembles de données : http://aws.amazon.com/importexport/

– Les cartes thématiques sont prises en charge. Il est possible de définir l'expression dans la définition des calques et de définir le style pour chacun : http://www.giscloud.com/about/docs/eng/documentation/creating_a_new_gis_project/layers_panel/

– Nous allons travailler sur un meilleur support raster

– À propos de Flash :) Je peux comprendre que certains l'aiment et d'autres le détestent. C'est le débat sans fin. Mais le fait est qu'il est actuellement le meilleur et le plus disponible des moteurs de rendu vectoriel. Comme nous voulons conserver les performances du SIG de bureau, notre moteur de carte est basé sur celui-ci. Le reste de l'application est HTML, CSS, AJAX standard. Dans un (proche) avenir, nous prévoyons de fournir un moteur de cartographie vectoriel parallèle basé sur le support HTML5 et SVG. Cela rendra GIS Cloud disponible dans tous les navigateurs Web modernes (y compris iPad et iPhone) sans avoir besoin de Flash.


Taille et performances du géocodeur Postgis - Systèmes d'Information Géographique

Nombre de commits trouvés : 20

Historique des commits - (peut être incomplet : voir le lien SVNWeb ci-dessus pour plus de détails)
DateParLa description
17 avril 2021 15:19:54
2.5.5_4
lbartoletti
06 Avr 2021 14:31:07
2.5.5_3
tapis
23 février 2021 05:58:36
2.5.5_3
lbartoletti
19 déc. 2020 06:53:17
2.5.5_2
lbartoletti
18 novembre 2020 05:27:29
2.5.5_2
lbartoletti
17 novembre 2020 09:23:59
2.5.5_1
lbartoletti
31 août 2020 05:19:40
2.5.5
lbartoletti
22 mai 2020 19:20:42
2.5.4_2
sunpoète
08 mai 2020 05:35:11
2.5.4_1
lbartoletti (Seules les 15 premières lignes du message de validation sont affichées ci-dessus)
05 Avr 2020 20:16:04
2.5.4
lbartoletti
22 janvier 2020 06:02:25
2.5.3_2
sunpoète
14 janv. 2020 21:45:15
2.5.3_1
lbartoletti
02 nov. 2019 13:54:50
2.5.3_1
tcberner
19 août 2019 15:37:02
2.5.3
amdmi3
27 juil. 2019 11:57:49
2.5.2_1
sunpoète
26 juil. 2019 20:46:57
2.5.2_1
gérald
12 juil. 2019 02:25:07
2.5.2
linimon
29 mars 2019 14:41:55
2.5.2
linimon
20 mars 2019 07:02:30
2.5.2
tobik
15 mars 2019 00:47:02
2.5.2
loupe

Nombre de commits trouvés : 20

Ce site
Qu'est-ce que FreshPorts ?
À propos des auteurs
Problèmes
FAQ
Quelle est sa taille?
Politique de sécurité
Intimité
Blog
Contact

Chercher
Suite.

Dernières vulnérabilités
py-ansible-core24 juin
py-aiohttp * 23 juin
pigeonnier22 juin
pigeonnier-pigeonhole22 juin
pigeonnier2-pigeonhole22 juin
gite19 juin
chrome18 juin
rubygem-libellule11 juin
apache2410 juin
cactus10 juin
chrome10 juin
dinosaure08 juin
drupal706 juin
pglogique06 juin
polkit04 juin

10 vulnérabilités affectant 63 ports ont été signalées au cours des 14 derniers jours


A.5. Version 3.1.0alpha1

Cette version nécessite PostgreSQL 9.6+-13 et GEOS >= 3.6+ Fonctionnalités et améliorations supplémentaires activées si vous exécutez Proj6+, PostgreSQL 12+ et GEOS 3.8.0

Changements marquants

numéro svn remplacé par git hash dans la sortie de version (Sandro Santilli, Raúl Marín)

4577, suppression de la prise en charge de PostgreSQL 9.5 (Raúl Marín)

4579, supprimez postgis_proc_set_search_path.pl (Raúl Marín)

4601, signature ST_TileEnvelope modifiée.

3057, les signatures ST_Force3D, ST_Force3DZ, ST_Force3DM et ST_Force4D ont été modifiées.

Nouvelles fonctionnalités

4601, Ajouter un argument de marge ST_TileEnvelope (Yuri Astrakhan)

2972, Ajout du mode silencieux (-q) à pgsql2shp (Kristian Thy)

4617, Ajout du commutateur de configuration `--without-phony-revision` (Raúl Marín)

3057, Paramètres de valeur optionnels pour Force3D*, Fonctions Force4D (Kristian Thy)

4624, ST_HexagonGrid et ST_SquareGrid, définissent des fonctions de retour pour générer des pavages du plan (Paul Ramsey)

Améliorations

4539, Unify libm inclut (Raúl Marín)

4569, Autoriser l'insertion d'une géométrie SRID inconnue dans la colonne SRID typmod (Paul Ramsey)

4149, ST_Simplify(geom, 0) est maintenant O(N). ST_Affine (ST_Translate, ST_TransScale, ST_Rotate) optimisé. ST_SnapToGrid optimisé. (Darafei Praliaskouski)

4574, optimisations du temps de liaison activées (Darafei Praliaskouski)

4578, Ajouter des propriétés de parallélisme et de coût aux fonctions de brin (Raúl Marín)

4473, Silence yacc avertissements (Raúl Marín)

4589, Disable C affirme lors de la construction sans "--enable-debug" (Raúl Marín)

4543, Introduire ryu à imprimer des doubles (Raúl Marín)

4626, Support pkg-config pour libxml2 (Bas Couwenberg)

4615, Accélérer la sortie geojson (Raúl Marín)


5 réponses 5

  • Je connais le SGBD : la configuration d'une base de données PostGIS sur Windows est simple, l'utilisation de la gestion PgAdmin3 est également simple
  • Il fonctionne bien avec les requêtes SIG : PostGIS est définitivement le plus fort des trois, seul Oracle Spatial serait comparable mais est disqualifié si l'on considère ses coûts
  • Faible coût: +1 pour PostGIS à coup sûr
  • Non antagoniste avec Microsoft .NET Framework : Vous devriez au moins pouvoir vous connecter via ODBC (voir wiki Postgres)
  • Compatible avec R : ne devrait pas être un problème avec l'un des trois

J'ai travaillé avec les trois bases de données et effectué des migrations entre elles, j'espère donc pouvoir toujours ajouter quelque chose à un ancien message. Il y a dix ans, j'ai été chargé de mettre un grand ensemble de données - 450 millions d'objets spatiaux - de GML dans une base de données spatiale. J'ai décidé d'essayer MySQL et Postgis, à l'époque il n'y avait pas de spatial dans SQL Server et nous avions une petite atmosphère de démarrage, donc MySQL semblait un bon choix. J'ai ensuite été impliqué dans MySQL, j'ai assisté/parlé à quelques conférences et j'ai été fortement impliqué dans les tests bêta des fonctions les plus conformes aux SIG de MySQL qui ont finalement été publiées avec la version 5.5. J'ai ensuite participé à la migration de nos données spatiales vers Postgis et de nos données d'entreprise (avec des éléments spatiaux) vers SQL Server. Ce sont mes découvertes.

1). Problèmes de stabilité. Au cours des 5 dernières années, nous avons eu plusieurs problèmes de corruption de base de données, qui ne pouvaient être résolus qu'en exécutant myismachk sur le fichier d'index, un processus qui peut prendre plus de 24 heures sur une table de 450 millions de lignes.

2). Jusqu'à récemment, seules les tables MyISAM prenaient en charge le type de données spatiales. Cela signifie que si vous voulez un support de transaction, vous n'avez pas de chance. Le type de table InnoDB prend désormais en charge les types spatiaux, mais pas les index sur eux, ce qui, étant donné les tailles typiques des ensembles de données spatiales, n'est pas très utile. Voir http://dev.mysql.com/doc/refman/5.0/en/innodb-restrictions.html Mon expérience d'aller à des conférences était que spatial était vraiment une réflexion après coup - nous avons implémenté la réplication, le partitionnement, etc. mais cela ne fonctionne pas avec l'espace. EDIT : Dans la prochaine version 5.7.5, InnoDB prendra enfin en charge les index sur les colonnes spatiales, ce qui signifie que l'ACID, les clés étrangères et les index spatiaux seront enfin disponibles dans le même moteur.

3). La fonctionnalité spatiale est extrêmement limitée par rapport à Postgis et SQL Server spatial. Il n'y a toujours pas de fonction ST_Union qui agit sur un champ géométrique entier, l'une des requêtes que j'exécute le plus souvent, c'est-à-dire que vous ne pouvez pas écrire :

ce qui est très utile dans un contexte SIG. Sélectionnez ST_Union(geom1, const_geom) dans some_table , c'est-à-dire que l'une des géométries est une géométrie constante codée en dur est un peu limitante en comparaison.

4). Pas de prise en charge des rasters. Être capable de faire une analyse vectorielle-raster combinée dans une base de données est une fonctionnalité SIG très utile.

5). Pas de support pour la conversion d'un système de référence spatiale à un autre.

6). Depuis l'acquisition par Oracle, le spatial a vraiment été mis en veilleuse.

Dans l'ensemble, pour être juste envers MySQL, il a pris en charge notre site Web, WMS et le traitement spatial général pendant plusieurs années, et a été facile à configurer. En revanche, la corruption des données était un problème, et en étant obligé d'utiliser les tables MyISAM, vous renoncez à de nombreux avantages d'un SGBDR.

Compte tenu des problèmes que nous avons rencontrés avec MySQL, nous nous sommes finalement convertis à Postgis. Les points clés de cette expérience ont été.

1). Stabilité extrême. Aucune corruption de données en 5 ans et nous avons maintenant environ 25 boîtiers Postgres/GIS sur des machines virtuelles centos, sous différents degrés de charge.

2). Rythme de développement rapide -- raster, topologie, prise en charge 3D en étant des exemples récents.

3). Communauté très active. Le canal irc Postgis et la liste de diffusion sont d'excellentes ressources. Le manuel de référence Postgis est également excellent. http://postgis.net/docs/manual-2.0/

4). Fonctionne très bien avec d'autres applications, sous l'égide de l'OSGeo, telles que GeoServer et GDAL.

5). Les procédures stockées peuvent être écrites dans de nombreux langages, à l'exception du plpgsql par défaut, comme Python ou R.

5). Postgres est un SGBDR entièrement conforme aux normes, qui vise à rester proche des normes ANSI.

6). Prise en charge des fonctions de fenêtre et des requêtes récursives -- pas dans MySQL, mais dans SQL Server. Cela a rendu l'écriture de requêtes spatiales plus complexes plus propre.

Je n'ai utilisé que la fonctionnalité spatiale de SQL Server 2008, et bon nombre des désagréments de cette version - le manque de prise en charge des conversions d'un SCR à un autre, la nécessité d'ajouter vos propres paramètres aux index spatiaux - ont maintenant été résolus.

1). Comme les objets spatiaux dans SQL Server sont essentiellement des objets CLR, la syntaxe semble à l'envers. Au lieu de ST_Area(geom), vous écrivez geom.STArea() et cela devient encore plus évident lorsque vous enchaînez des fonctions. La suppression du trait de soulignement dans les noms de fonction n'est qu'un désagrément mineur.

2). J'ai eu un certain nombre de polygones invalides qui ont été acceptés par SQL Server, et l'absence d'une fonction ST_MakeValid peut rendre cela un peu pénible.

3). Windows seulement. En général, les produits Microsoft (comme ceux d'ESRI) sont conçus pour fonctionner très bien les uns avec les autres, mais n'ont pas toujours comme objectifs principaux la conformité et l'interopérabilité des normes. Si vous exploitez une boutique Windows uniquement, ce n'est pas un problème.

METTRE À JOUR: ayant joué un peu avec SQL Server 2012, je peux dire qu'il a été nettement amélioré. Il existe maintenant une bonne fonction de validation de la géométrie, il existe un bon support pour le type de données Geography, y compris un objet FULL GLOBE, qui permet de représenter des objets qui occupent plus d'un hémisphère et un support pour les courbes composées et les chaînes circulaires, ce qui est utile pour une précision et une compacité représentations d'arcs (et de cercles) entre autres. La transformation des coordonnées d'un CRS à un autre doit encore être effectuée dans des bibliothèques tierces, bien que ce ne soit pas un obstacle dans la plupart des applications.

Je n'ai pas utilisé SQL Server avec des ensembles de données suffisamment volumineux pour comparer un à un avec Postgis/MySQL, mais d'après ce que j'ai vu, les fonctions se comportent correctement, et bien qu'elles ne soient pas aussi complètes que Postgis, c'est une énorme amélioration par rapport aux offres de MySQL .

Désolé pour une réponse si longue, j'espère qu'une partie de la douleur et de la joie que j'ai subies au fil des ans pourraient être utiles à quelqu'un.


Еделя 4

Le quatrième module est intitulé "Spatial DBMS and Big Data Systems", qui couvre deux disciplines liées à la science des données spatiales, et fera comprendre aux apprenants comment utiliser les SGBD et les Big Data Systems pour gérer les données spatiales et les big data spatiales. Ce module est composé de six cours magistraux. Les deux premières conférences couvriront les SGBD et les SGBD spatiaux, et le reste des conférences couvrira les Big Data Systems. La première conférence "Système de gestion de base de données (SGBD)" présentera les fonctionnalités puissantes du SGBD et les fonctionnalités associées, ainsi que les limites du SGBD relationnel conventionnel pour les données spatiales. La deuxième conférence "Spatial DBMS" se concentre sur la différence entre les SGBD spatiaux et les SGBD conventionnels, et les nouvelles fonctionnalités pour gérer les données spatiales. La troisième conférence donnera aux apprenants un bref aperçu des Big Data Systems et du paradigme actuel - MapReduce. La quatrième conférence couvrira Hadoop MapReduce, Hadoop Distributed File System (HDFS), Hadoop YARN, en tant qu'implémentation du paradigme MapReduce, et présentera également le premier exemple de traitement de données volumineuses spatiales utilisant Hadoop MapReduce. La cinquième conférence présentera l'écosystème Hadoop et montrera comment utiliser les outils Hadoop tels que Hive, Pig, Sqoop et HBase pour le traitement spatial de Big Data. La dernière conférence "Spatial Big Data System" présentera deux outils Hadoop pour les mégadonnées spatiales - Spatial Hadoop et les outils SIG pour Hadoop, et passera en revue leurs avantages et inconvénients pour la gestion et le traitement des mégadonnées spatiales.

1 атериал самостоятельного изучения

1 рактическое ражнение


Pitney Bowes MapInfo Pro v17.0.5 Build 9 (x64) multilingue

MapInfo Professional est un système d'information géographique conçu pour collecter, stocker, afficher, éditer et analyser des données spatiales. L'application est conçue pour la cartographie et l'analyse géographique. Visualiser les liens entre les données et la géographie ouvre de toutes nouvelles possibilités, transformant les données en informations précieuses.La boîte à outils MapInfo Professional pour la création et l'édition de données graphiques et tabulaires vous permet d'apporter rapidement et facilement des modifications à la fois aux cartes et aux données sémantiques. MapInfo Professional s'intègre facilement dans n'importe quel système d'information, une interface conviviale vous permet de vous adapter rapidement et de commencer à utiliser pleinement les fonctionnalités même d'un nouvel utilisateur.

Caractéristiques:
-Services Web pour les temps de conduite et le géocodage
-Des fichiers de données plus volumineux
-Performance améliorée
- Qualité d'image améliorée
-Prise en charge d'Unicode
-.NET SDK
-Format GeoPackage
-Support WMTS 1.0
-Support WFS 2.0
-Soutien FME 2018
-Personnalisation du menu du ruban
-Personnalisation de la barre d'outils de la carte
-Capacités raster avancées
-Valeur individuelle interactive, thèmes gradués et variés
-thèmes
-Améliorations des raccourcis clavier
-Nouvel écran d'accueil
-Fenêtre de recherche rapide
-Modèles de mise en page
-Alignement amélioré avec des guides intelligents
-Mise en page multipages
-Rotation facile


Configuration requise
Système d'exploitation : Windows 10/8.1/7/2016/2012/2012 SP1/2008 SP1 XenApp 7.5/2008 XenApp 6.0
processeur : Intel Core 2 Duo, AMD Athlon X2 ou
mieux
Moniteur : résolution 1024 x 768 ou supérieure
Mémoire : 1 Go de RAM (64 bits) requis 4 Go de RAM recommandés,
Espace : 20 Go (64 bits), Données 2,3 Go ou mieux

Fichiers PC courants :
-Microsoft® Excel
-Accéder
-DBF
-CSV et fichiers texte ASCII délimités

Bases de données relationnelles et spatiales :
-Oracle®
-Microsoft® SQL Server
-PostSIG
-SQLite
-Bases de données compatibles ODBC
-OGC GeoPackage

Données spatiales :
AutoCAD® DXF/DWG
-SHP
-DGN
-GML
-KML
-Et plus

Cartes et images :
-WMTS
-WMS
-WFS
-Images aériennes
-Images satellites
-Cartes papier scannées
-Cartes Microsoft® Bing


Profileur d'altitude en ligne

Krystian Pietruszka envoie un courriel à propos de sa nouvelle Site du profileur de géocontexte, basé sur la nouvelle API Google Maps version 3. Placez deux marqueurs sur une vue Google Maps en cliquant et obtenez le profil d'altitude entre eux :

Vous pouvez ajouter autant de marqueurs supplémentaires que vous le souhaitez dans n'importe quelle direction pour affiner la position d'un marqueur, cliquez simplement dessus et maintenez-le enfoncé, puis faites-le glisser à l'endroit souhaité. Vous avez plusieurs options pour les lignes entre les points :

  • Direct – Ligne droite entre les points
  • Conduite - Dénivelé le long des routes d'un point à un autre (comme cet exemple prédéfini pour Death Valley) :

Cliquez sur le lien Géolocalisation IP à droite pour accéder à votre zone locale, cliquez sur l'icône à double flèche dans le coin supérieur droit pour accéder à la largeur plein écran de l'application (et vice-versa). Vous pouvez également créer un lien vers un profil ou l'intégrer sur votre site :

Remarque : le lien « Importer KML » en haut à gauche de la carte vous permettra de charger et d'afficher les données KML sur la carte, mais ne crée pas de profil d'altitude entre des points ou le long d'une ligne.

Un autre créateur de cercle KML

Ce site et KML-Circles semblent être en panne, essayez le GProgramme E Path comme alternative.

Publié il y a longtemps sur le site KML-Circles, qui permet de générer des polygones/quasi-cercles centrés autour de points d'arbitrage au format KML pour Google Earth et Google Maps. Beaucoup d'options sur ce site, peut-être trop si vous voulez juste un simple cercle. Pour ça, il y a le très dépouillé Site Générateur de cercles KML. Entrez le point central du cercle en lat/long, et soit le rayon souhaité en mètres, soit une position lat/long par laquelle vous voulez que le cercle passe :

Appuyez sur le bouton Go et obtenez un lien vers le fichier KML :

Selon la configuration de votre navigateur, cliquer sur le lien le téléchargera sur votre ordinateur ou l'ouvrira automatiquement dans Google Earth. Un clic droit sur le lien et choisissez "Enregistrer sous" est le plus sûr, car il téléchargera certainement le fichier sur votre ordinateur. Ouvrez-le dans Google Earth :

La valeur par défaut est un cercle rouge si vous n'aimez pas cela, vous pouvez toujours cliquer avec le bouton droit sur la liste des fichiers KML à gauche, choisir Propriétés et modifier le style comme vous le souhaitez :

BTW, ce grand trou dans le sol à l'intérieur du cercle est Meteor Crater, juste à l'extérieur de Winslow, AZ.

Convertir une feuille de calcul d'adresses Excel en un fichier KML (puis en un fichier texte CSV géocodé) avec KMLGeocode et KMLReport

KMLGeocode (disponible ici sous la liste Google Geocoder) prend un fichier d'adresses au format Excel (ou XML) et crée un fichier Google Earth KML qui trace les adresses géocodables dans la bonne position. Chargez un fichier XLS d'adresse dans le programme (comme cet exemple de données également disponible sur la page de téléchargement) :

Vous devez spécifier les noms de colonnes qui contiennent les champs d'adresse clés requis pour le géocodage, ainsi que le nom de fichier KML de sortie. Une fois cela fait, créez le fichier de sortie KML et ouvrez-le dans Google Earth. Les adresses pouvant être géocodées seront tracées avec des punaises oranges :

Cliquer sur une punaise fera apparaître tous les champs de données d'un enregistrement dans la feuille de calcul, pas seulement ceux spécifiés. Les adresses qui n'ont pas pu être géocodées reçoivent des désignations de punaise jaune et apparaîtront soit tracées dans un emplacement général, soit pas tracées du tout dans Google Earth (bien qu'elles soient répertoriées dans le volet Place sous la liste des fichiers KML :

Pour intégrer les coordonnées géographiques réelles de chacune de ces adresses, cliquez avec le bouton droit sur la liste des fichiers KML (people.kml dans l'exemple ci-dessus) et enregistrez-la sous un autre fichier KML avec un nom différent. Vous pouvez maintenant ouvrir ce fichier KML différent dans le Programme de rapport de géocodage KML:

Spécifiez le nom d'un fichier de sortie texte. Cette sortie sera un fichier CSV lisible par feuille de calcul qui contient les données d'origine de la feuille de calcul avec la longitude et la latitude des adresses géocodables ajoutées à la fin en tant que coordonnées X et Y :

Le fichier « UnMatched » est censé contenir les adresses non géocodables au format KML (au moins, selon le manuel PDF de ces programmes), mais il ne s'est pas présenté pour les exemples de données lorsque je l'ai essayé. Lorsque vous « Traitez » les fichiers, en plus du fichier de sortie ci-dessus, vous obtiendrez une fenêtre contextuelle vous indiquant le pourcentage global de réussite du géocodage :

Remarque : lors de l'installation des deux programmes, le répertoire d'installation est simplement répertorié sous le nom « C:Program Files », mais à moins que vous ne spécifiiez le nouveau nom, il est installé dans le répertoire « C:Program FilesBRalston » et « BRalston ” est le dossier du menu Démarrer où vous trouverez les icônes de raccourci du programme.

GISCloud &ndash Une application de système d'information géographique en ligne

J'ai joué un peu avec GISCloud, un programme SIG basé sur le Web. Cela semble intéressant et prometteur, mais présente encore de sérieuses limites. L'ensemble de fonctionnalités comprend :

  • Affichage des données matricielles et vectorielles
  • Importation et édition de couches vectorielles, y compris les fichiers de formes, MapInfo, KML, délimité par des tabulations et GPX
  • La reprojection des coordonnées du fichier de données intégrée reconnaît les fichiers prj et vous permet de sélectionner le système de coordonnées de sortie (y compris celui de votre projet en cours)
  • Outils d'analyse SIG avancés, y compris la mise en mémoire tampon, la sélection spatiale par analyse, la comparaison de couches (par exemple, l'intersection) et les calculs de zone.
  • Exportez des couches de données vectorielles au format shapefile, MapInfo, CSV ou KML, ce qui en fait un convertisseur de format en ligne pratique.
  • Partagez l'édition de la carte avec d'autres utilisateurs (ou publiez-la simplement pour l'afficher)
  • Interface SIG d'aspect classique facile à décoder :

  • Seules les couches de données importées dans ou via une connexion PostGIS peuvent être utilisées pour l'analyse et l'édition. Je ne connais pas PostGIS, je n'ai donc pas pu tester ces fonctions, et aucun des ensembles d'échantillons de données ne contient de données PostGIS non plus. Vous pouvez apparemment télécharger des données et les importer dans une base de données PostGIS, cependant.
  • Le téléchargement de fichiers peut prendre un certain temps (bien qu'ils soient enregistrés localement) GISCloud reconnaît les fichiers dans les archives compressées, il est donc préférable de compresser vos données avant de les télécharger.
  • Pour les données PostGIS, je soupçonne que les temps de téléchargement vont limiter la taille des couches vectorielles/base de données que vous pouvez utiliser.
  • Apparemment, aucune couleur d'affichage thématique (basée sur les attributs) mais c'est un inconvénient majeur.
  • Les mises à jour des images raster pendant les zooms peuvent être lentes.
  • Tous les types d'images raster ne sont pas pris en charge (par exemple, les GeoTiffs indexés 8 bits ne fonctionnent pas, 24 bits le font).
  • Ce n'est pas exactement la plate-forme SIG la plus zippée avec laquelle j'ai jamais travaillé.
  • Il est basé sur Flash, donc les ennemis de Flash et les utilisateurs d'iPad devraient éviter, et tout le monde devrait s'attendre à des problèmes de CPU/performances/plantage. Flash 10.1 est censé sortir bientôt et devrait résoudre certains de ces problèmes.

Un premier effort intéressant dans le domaine des SIG basés sur le cloud, et je surveillerai son développement. Mais à moins que vous n'ayez accès à, et/ou une expérience avec, PostGIS, d'une utilité limitée pour le moment. Et je ne m'attends pas à ce que le SIG basé sur le cloud remplace les programmes SIG dédiés dans un avenir proche - trop lent et trop limité.

Dessinez des données GPX directement sur des cartes Web à l'aide de l'outil de dessin à main levée du visualiseur GPS

J'ai posté récemment sur ScribbleMaps et ScribbleMaps Pro, des applications Web qui vous permettent de dessiner des caractéristiques sur un certain nombre de cartes Web (comme Google Maps, OSM et ESRI) et d'exporter les données au format GPX pour les télécharger sur un GPS. Arrêté par le site Web GPS Visualizer l'autre jour, et je viens de remarquer qu'ils ont maintenant une application similaire, le Outil de dessin à main levée du visualiseur GPS. En revanche, il n'a pas autant d'outils, d'options d'édition et d'options de sortie que ScribbleMaps du côté positif, car il n'a pas un grand nombre d'outils et d'options, il est facile et intuitif à utiliser. Et en plus de Google Maps et OSM Maps, il offre un certain nombre d'options de carte d'arrière-plan que ScribbleMaps ne propose pas :

Données Natural Earth dans Google Earth

La semaine dernière, j'ai publié un article sur les nouveaux ensembles de données Natural Earth, des données vectorielles gratuites à moyenne échelle pour la Terre, qui vont de pair avec les données raster physiographiques Natural Earth précédemment disponibles. La bibliothèque Google Earth dispose désormais d'un lien réseau KML qui vous permet d'afficher une grande partie de ces données dans Google Earth sous forme de couches, comme ici avec les lacs et les rivières :

De toute évidence, la plupart de ces fonctionnalités seront visibles dans Google Earth dès que vous effectuerez un zoom avant, mais ces ensembles de données vous permettent d'afficher des fonctionnalités avec des noms à des niveaux de zoom inférieurs et des couleurs plus distinctes. De plus, cela offre un aperçu rapide des données disponibles à partir de Natural Earth, afin que vous puissiez voir si elles répondent à vos besoins pour une utilisation dans un SIG ou un programme de cartographie au format shapefile. Il existe également une superposition avec l'imagerie physiographique raster :

Toutes les données se trouvent dans des liens réseau KML dans des sous-dossiers du lien principal, et certains ensembles de données mettront un certain temps à se charger. C'est aussi probablement une bonne idée de ne pas cocher la case à côté du lien réseau principal, car cela chargera toutes les données dans Google Earth, ce qui prendra un certain temps.

Créez des cercles, des flèches et des coins de plage KML avec une macro Excel

J'utilise actuellement uniquement OpenOffice, donc je ne peux pas l'essayer, mais "Planeman" a créé une macro Excel qui créera des cercles, des flèches et des coins KML pour une liste de points de latitude/longitude décimales. Devrait être capable de les créer pour des centaines voire des milliers de points simultanément. Les images sont tirées de la description de Planeman. Vue feuille de calcul Excel :

Et une vue des résultats des exemples de données dans Google Earth :

Téléchargez la macro de feuille de calcul sur ce lien, assurez-vous de faire défiler vers le bas pour obtenir la dernière version. D'après l'image ci-dessus, il semble que des fonctionnalités supplémentaires soient bientôt disponibles.

Dessinez librement sur Google Maps, exportez dans plusieurs formats

ScribbleMaps est l'une des applications Google Maps les plus élégantes que j'ai jamais vues. Dessinez et/ou placez l'un des éléments suivants sur une vue Google Map :

  • Lignes à main levée
  • Lignes droites
  • Cercles
  • Rectangles
  • Formes arbitraires
  • Texte
  • Images (nécessite un lien Web vers l'image)
  • Icônes de repère Google Map/Earth standard (sélectionnez parmi plusieurs ensembles) :

Vous avez également le contrôle de la couleur, de l'opacité et de l'épaisseur du trait à partir de la barre d'outils, ainsi que la possibilité de rechercher des emplacements :

Une fois les formes créées, vous pouvez les déplacer, les modifier en déplaçant les sommets, les faire pivoter ou les effacer. Une fois votre carte terminée, vous disposez de plusieurs options d'exportation :

  • JPEG
  • Imprimer directement depuis le navigateur
  • Widget intégrable (aucune clé API Google Maps requise) :
  • carte Facebook
  • Vue normale de Google Maps
  • Plugin Google Earth (même si cela n'a pas fonctionné pour moi)
  • Fichier KML (pour visualisation dans Google Earth)

  • GPX (pour l'exportation vers votre GPS) n'exporte que des points et des lignes, les seules formes géométriques prises en charge par les fichiers GPX

Vous pouvez également enregistrer votre carte pour une édition future et obtenir un lien Web dédié pour laquelle vous choisissez un mot de passe afin que vous seul puissiez la modifier ou la supprimer plus tard.

Très lisse, et très cool je mets ScribbleMaps dans ma liste de favoris principale.


PostGIS en action

Je doute que beaucoup de gens puissent vous dire exactement quand a eu lieu la première fois qu'ils ont lu une carte. Le mien était pourtant mémorable. Vers la 3e année, j'ai passé pour la première fois la batterie habituelle de tests standardisés, qui comprenait la lecture de cartes. J'ai fait assez mal, ce qui était étrange parce que c'était la seule section que j'ai bombardée comme ça. Craignant d'avoir peut-être un problème d'apprentissage lié aux données spatiales ou à la visualisation, un conseiller d'orientation examinant mes scores m'a interrogé sur cette section et sur ce que j'en pensais. Je lui ai dit que je pensais que c'était plutôt chouette et que j'avais hâte d'en apprendre un jour sur ces « cartes ». Il s'avère qu'en raison d'un changement d'école et de différences dans l'ordre des classes entre les écoles, on ne m'en avait jamais montré un avant l'examen. Pour quelqu'un qui a dû déduire ce que signifiaient les symboles pendant le test, tout à coup, mes scores ne semblaient pas trop mauvais.

Il est facile de se sentir comme un novice complètement désorienté de l'information spatiale lorsque l'on essaie d'apprendre à utiliser PostGIS, l'extension populaire de PostgreSQL qui prend en charge toutes sortes de fonctionnalités liées aux cartes. Les systèmes d'information géographique (SIG) sont remplis de leur propre terminologie et de leurs propres techniques. Pour aider à naviguer dans ce labyrinthe (littéralement parfois!), Regina Obe et Leo Hsu ont récemment publié PostGIS In Action, un énorme 492 pages de rien d'autre que des informations sur ce sujet spécialisé.

Le livre vise à être une ressource complète pour trois groupes : les praticiens du SIG, les praticiens des bases de données et les scientifiques/chercheurs/etc. Dans la mesure où il est possible de le faire, le contenu du livre essaie d'écrire à partir de chacune de ces perspectives. Ainsi, vous obtenez une introduction à la terminologie SIG, une introduction à SQL et une introduction à l'installation du logiciel et à l'assemblage de tout. Toutes les sections ne seront pas utiles à tous les types de lecteurs, mais il y a suffisamment de conseils pratiques éparpillés dans chaque section pour que vous puissiez trouver une astuce utile même sur des documents que vous connaissez déjà bien. Par exemple, dans la section de réglage des performances que j'ai principalement parcourue, j'ai choisi des fonctions de fenêtrage utiles et des idées d'expression de table commune, qui sont même utiles au-delà du contexte SIG.

J'aime commencer à travailler avec de nouvelles technologies en choisissant un projet du monde réel et en voyant jusqu'où je peux aller. J'ai essayé cela avec PostGIS une fois auparavant, il y a environ un an, et j'ai lamentablement échoué. Le projet implique une longue liste d'adresses que j'ai voulu transformer en données spatiales, puis analyser à l'aide de requêtes spatiales. Le processus de transformation des adresses en coordonnées, appelé géocodage, peut être effectué pour les États-Unis à l'aide d'un ensemble de données public nommé TIGER. Au cours de cette tentative précédente, je n'arrivais pas à comprendre les versions de chaque composant dont j'avais besoin pour que cela fonctionne, et j'ai abandonné le tout. En lisant cette section de PostGIS en action, je me sentais un peu mieux. Ce n'était pas que j'étais confus au sujet de la complexité, c'est vraiment très difficile à comprendre ! Citation du livre :

Le géocodeur TIGER fourni avec PostGIS 1.5 et versions antérieures ne gère pas le nouveau format de fichier de formes ESRI des données du recensement américain. Pour ceux-là, par conséquent, nous utilisons une version plus récente actuellement en cours de développement par Stephen Frost pour nos exercices, nous avons pris [cette] version plus récente et apporté quelques corrections mineures pour prendre en charge les données du recensement TIGER 2009.

Ce genre de chose est l'endroit où le livre est à son meilleur. Des conseils sur les versions des logiciels qui fonctionnent ensemble et des scripts d'aide uniques au livre pour vous aider dans certaines des parties compliquées peuvent vous éviter des jours de travail frustrant.

Le livre vise principalement PostgreSQL 8.4 et 9.0, mais il contient du matériel remontant à 8.2 et quelques aperçus des fonctionnalités à venir dans 9.1. Alors que le côté serveur des outils couverts comprend les systèmes d'exploitation PostgreSQL les plus courants (Windows/Linux/Mac OS X), il est évident que Windows est la plate-forme préférée pour de nombreux outils SIG clients. En conséquence, il n'est pas surprenant que les recommandations pour PostgreSQL soient biaisées vers l'utilisation des programmes d'installation en un clic, plutôt que de se laisser entraîner trop profondément dans les anecdotes de la création et de l'installation de logiciels.

Mais quoi PostGIS en action fait dans de nombreux endroits se référer aux ressources Web pour les choses qu'il survole, ce qui est louable. Même un livre de cette longueur ne peut pas tout couvrir sur toutes les plateformes disponibles, et demander à un auteur de souligner les meilleurs articles disponibles est un moyen utile d'étendre sa portée. Parmi les sections que je connais suffisamment pour commenter, les lectures supplémentaires recommandées étaient souvent des articles que j'avais déjà lus et trouvés utiles. Le principal manque était que la couverture quelque peu mince de l'utile postgresql.conf les paramètres pour améliorer les performances auraient pu utiliser un lien vers la page Tuning Your PostgreSQL Server, qui couvre une partie du même matériel plus en détail. Ce wiki est cependant l'une des principales ressources supplémentaires suggérées à la fin.

Avec toute la terminologie spécialisée et les multiples compétences requises pour travailler sur ce matériel, il est difficile de trouver la bonne séquence pour lire ce livre. Mettre les choses dans le meilleur ordre pour apprendre le matériel est le domaine qui, à mon avis, pourrait être le plus amélioré dans une future édition de ce titre. Pour prendre un exemple trivial, mais qui est caractéristique de ce que j'ai vu à plusieurs endroits, l'ordre des choses dans le chapitre "Amorce SQL" était plutôt étrange. La première section explique comment utiliser information_schema pour parcourir les métadonnées de colonne. Comment cette section s'est terminée au tout début, avant même de couvrir ce que signifie SELECT, je n'en ai aucune idée. Dans quelques-uns de ces cas que j'ai repérés, les informations nécessaires sont toutes là, il vous suffit de les lire dans un ordre différent de celui présenté. Les lecteurs peuvent trouver qu'il vaut la peine de parcourir tout le chapitre pour avoir une idée de la façon dont il se déroule si les choses ne semblent pas s'emboîter facilement. N'ayez pas peur de sauter si les informations dont vous avez besoin semblent être mieux couvertes dans d'autres sections.

Mon premier passage PostGIS en action m'a laissé beaucoup plus à l'aise avec la vue d'ensemble de la façon dont les applications créées à l'aide de ces outils s'emboîtent. Et je m'attends à m'y référer à la fois pour son introduction à des programmes spécifiques et pour son exemple de code utile. Essayer d'être une référence complète pour toutes les cibles visées par ce titre est cependant très difficile.

Les praticiens du SIG et les scientifiques qui n'ont pas déjà beaucoup d'expérience en SQL et/ou en bases de données auront probablement besoin d'informations supplémentaires au-delà de ce que couvre ce livre, afin de devenir des utilisateurs de PostGIS complètement fonctionnels.Mais les introductions à SQL sont faciles à trouver. Les discussions sur les SIG destinées au praticien des bases de données, ce que je recherchais, sont rares. Jusqu'à présent, j'ai passé le plus de temps avec l'introduction de la terminologie dans les deux premiers chapitres, ainsi que les informations sur l'utilisation de TIGER que j'ai mentionnées. Et j'ai déjà l'impression que ma copie de PostGIS en action était un achat intéressant. C'est formidable d'avoir enfin un livre complet sur cette technologie très importante basée sur PostgreSQL.


HiGIS : un cadre ouvert pour un système d'information géographique haute performance.

Il est devenu logique que les données géospatiales soient assez "volumineuses" en termes de volume, de vitesse et de variété croissantes. Par conséquent, les analyses, la simulation et les tâches d'exploration sur des ensembles de données géospatiales capturés avec des capteurs omniprésents à localisation nécessitent une puissance de calcul, un espace de stockage et une bande passante de communication massifs. Le cluster de calcul haute performance (HPC) avec une grande quantité de processeurs, de mémoire, de disques durs et de réseaux à grande vitesse fournit un environnement de traitement parallèle approprié pour résoudre des problèmes complexes de traitement de données géospatiales. Dans le système d'information géographique (SIG) traditionnel basé sur le bureau, le paradigme de traitement d'une procédure géospatiale complexe est séquentiel en raison de l'architecture matérielle de l'ordinateur personnel. Cependant, un tel paradigme est trop peu efficace pour être appliqué au HPC.

SIG traditionnel, par ex. ESRI ArcGIS, Quantum GIS fonctionnant comme un programme de bureau autonome, tire bien parti de la puissance de calcul des ordinateurs personnels. Les performances de ce type de SIG en ce qui concerne le débit de données géospatiales, la visualisation ainsi que l'analyse spatiale sont limitées par la capacité (nombre de cœurs, fréquence du processeur, vitesse de la mémoire, latence d'entrée/sortie et bande passante) de l'ordinateur local. Bien qu'il existe certains systèmes basés sur des serveurs, par ex. ArcGIS Server, Geoserver, Mapserver, etc., peuvent fournir des services Web conformes aux normes Open Geospatial Consortium (OGC), qui prennent en charge des solutions interopérables qui « géo-activent » le Web, des services sans fil et basés sur la localisation et l'informatique traditionnelle (http://www .opengeospatial.org/). Ces systèmes se concentrent principalement sur la fourniture de services de cartographie (WMS) ou de données géospatiales (WFS et WCS) via HTTP. Cependant, faire une mission informatique géospatiale compliquée est toujours un écrou difficile à résoudre. Ces dernières années, certains systèmes de type SIG en ligne sont apparus comme l'essor rapide du cloud computing. Les représentants typiques incluent GISCloud, CartoDB, ArcGIS Online, etc. [1-2]. Les systèmes actuels ont fait du bon travail en matière de cartographie ou de partage de données, tout en touchant rarement le domaine du géocalcul, qui est parfois à la fois gourmand en calculs et en données.

Que se passe-t-il lorsque le SIG rencontre le HPC ? L'informatique en grille et l'informatique en nuage sont deux cadres de calcul prometteurs [3-5]. Ces recherches ont fait un travail exploratoire et solide dans ce domaine, et testé sur CyberGIS, XSEDE, Hadoop et Amazon EC2. Les résultats des tests démontrent que ces plates-formes peuvent fournir des capacités de calcul parallèle hautes performances. Le cadre parallèle pour le traitement de données spatiales massives est un sujet de recherche actif récemment. Les chercheurs ont proposé des cadres parallèles pour les algorithmes de nuages ​​de points [6] et les services Web de traitement d'images de télédétection [7]. Cependant, ces travaux accordent peu d'attention à la combinaison de la géoinformatique et de la cartographie. Pour favoriser les performances du calcul en analyse spatiale et en visualisation, nous avons déployé de gros efforts ces trois dernières années pour construire un SIG avec des fonctions complètes en termes de gestion des données géospatiales, de visualisation et surtout, d'outils de calcul géospatial haute performance. Le nom du système est HiGIS qui signifie SIG haute performance. Le backend de HiGIS s'exécute sur un environnement HPC, tandis que le frontend comprend un bureau et un client Web assez fin et multiplateforme. Il existe des centaines d'outils de calcul géospatiaux parallèles fournis dans HiGIS. Les données géospatiales, les outils et les modèles de géocalcul sont traités comme les éléments de base de l'écosystème autour de HiGIS.

Dans cet article, nous décrivons un cadre basé sur un processus séquentiel de communication (CSP) pour prendre en charge le calcul haute performance pour les applications d'information géographique sur le Web. Une stratégie d'E/S parallèle utilisant la vue de fichier a été proposée pour améliorer les performances du service de données raster géospatiales. Afin de prendre en charge la cartographie en ligne sur le Web, un script cartographique interactif a été conçu pour représenter une carte. Ce script agit comme une spécification de style de carte envoyée pour rendre service à HiGIS. Tous ces travaux ont déjà été mis en œuvre en tant que services de base dans ce SIG basé sur HPC.

II. HIGIS : UN SIG HAUTE PERFORMANCE

L'objectif principal de HiGIS est d'améliorer les performances des opérations SIG fastidieuses en utilisant le calcul parallèle dans un environnement HPC, ainsi que de fournir une telle capacité SIG améliorée au plus grand nombre d'utilisateurs possible via des plateformes personnalisées, légères et multiplates-formes. programmes clients [8].

La pile logicielle côté serveur de HiGIS comprend des services système prenant en charge les trois fonctions principales du SIG : l'analyse spatiale, la visualisation et la gestion des données. Les composants de base de HiGIS contiennent un serveur lourd et un client léger. Le stockage de données géospatiales et la boîte à outils de géocalcul sont implémentés sur un cluster de calcul haute performance. La figure 1 montre trois services SIG de base, qui sont le service informatique (higine), le service de cartographie (hiart) et le service de référentiel (hipo) qui forment une gamme complète de services SIG. La demande de ces services peut être invoquée via le protocole HTTP par un client de bureau ou un client Web.

Higine est responsable du traitement des demandes de calcul géospatial envoyées par les programmes clients. Dans HiGIS, ce type de requêtes informatiques est normalisé en tant que flux de travail, même le flux ne contient qu'une seule étape d'une analyse fondamentale. higine peut interpréter et exécuter les scripts soumis. Pour faciliter la soumission des demandes de calcul géospatial des clients, higine définit un groupe de structures de données publiques et d'interfaces de service, notamment submit, cancel, get_status, etc. Plutôt que de transmettre directement les demandes de calcul au système d'exploitation, higine doit prendre en charge les séquence d'exécution des tâches soumises, ainsi que le nombre de ressources informatiques à affecter à chaque tâche, car l'environnement HPC sous-jacent est très différent d'un ordinateur personnel courant exécutant un système d'exploitation local. Par conséquent, higine communique avec un planificateur de tâches par lots couramment utilisé dans les environnements HPC pour planifier les ressources informatiques et maintenir la charge équilibrée.

Hiart fournit des interfaces pour l'enregistrement et le style des données géospatiales pour la visualisation cartographique. Les données géospatiales visualisées dans HiGIS sont fournies par la norme Tile Map Service (TMS). Lorsqu'une donnée géospatiale est visualisée, son système de référence spatiale est normalisé au système Web Mercator. La raison de cette normalisation est d'éviter la re-projection de carte à la volée.

Hipo encapsule l'accès au référentiel de données géospatiales et fournit une interface unifiée à la fois aux autres composants côté serveur et aux programmes clients. Côté serveur, les E/S parallèles pour les données raster brutes sont utilisées pour améliorer l'efficacité des E/S. Lorsque les utilisateurs importent leurs propres données dans HiGIS ou exportent une donnée géospatiale vers leur appareil local, l'interface d'accès aux données est invoquée. Les interfaces de service public définies dans hipo sont principalement des opérations de création, récupération, mise à jour et suppression (CRUD) des données stockées dans le référentiel.

La figure 2 décrit comment ces services de base servent ensemble pour les applications. Lorsqu'un utilisateur soumet une tâche de géocalcul à higine, higine décide comment répartir les ressources de calcul pour la tâche en fonction de la charge des nœuds de calcul. Une fois que l'outil de géotraitement a démarré pour effectuer le travail, il envoie une demande à hipo pour obtenir des données géospatiales. Si le travail est terminé, le résultat peut être enregistré par hipo ou visualisé par hiart.

Jusqu'à présent, la version 1.0 de HiGIS a déjà été publiée mais est déployée dans un cluster HPC interne avec 32 nœuds de calcul à l'Université nationale de technologie de la défense. Le système en cours d'exécution fournit un support solide pour résoudre certains problèmes de géocalcul à grande échelle. Par exemple, le travail de modélisation d'un bassin versant pour une zone du sud de la province du Fujian en Chine (environ 60 000 [km.sup.2]) est terminé en 5 minutes avec 24 processus [9].

Le concept de geoapp est proposé pour servir de modèle d'objet abstrait pour les ressources liées à l'informatique géospatiale dans HiGIS (Fig. 3). Un objet geoapp agit comme un "producteur", avec quelques appoptions pour déterminer quoi et comment produire. Une carte est une représentation symbolique mettant en évidence les relations entre des éléments d'entités spatiales, tels que des objets, des régions et des thèmes. Un objet de géodonnées représente un jeu de données géospatiales avec des options telles que l'interrogation de l'étendue géographique pour produire une partie du jeu de données. Un objet outil représente un algorithme exécutable ou un programme utilitaire, qui produit la sortie ou l'effet secondaire de l'exécution. Un objet modèle est composé de geoapps simples, par ex. géodonnées et outils. Un modèle peut produire des résultats composites selon sa définition et ses logiques internes.

L'utilisation de HiGIS est un peu différente du SIG traditionnel. Le modèle d'objet geoapp joue un rôle important dans le mode utilisateur HiGIS. Tout d'abord, un compte pour chaque utilisateur est nécessaire dans le but de personnaliser les ressources geoapp détenues par l'utilisateur, ainsi que la perspective de travail du système. Les utilisateurs de HiGIS peuvent importer leurs propres jeux de données de géodonnées dans le système tout en contrôlant totalement le niveau d'accès des données. Outre les données importées par l'utilisateur, HiGIS fournit une grande quantité d'ensembles de données géospatiales gratuits acquis à partir d'autres sources de données publiques pour le traitement et la recherche de géocalcul haute performance.

Ensuite, les utilisateurs peuvent rechercher et sélectionner les outils qui correspondent à leurs besoins de traitement dans le référentiel d'outils HiGIS. Il existe un groupe d'équipes de recherche en Chine qui effectuent conjointement des travaux de recherche et de développement pour le référentiel d'outils HiGIS. Le groupe a contribué aux premiers outils d'analyse spatiale hautes performances utilisant largement le calcul parallèle alimenté par HPC. La boîte à outils contient des outils d'analyse fondamentaux tels que l'analyse des tampons et des superpositions, l'analyse numérique du terrain, la transformation des données spatiales, jusqu'aux outils de géocalcul avancés tels que les algorithmes intelligents, la géostatistique et même la modélisation compliquée des bassins versants, etc.

Pour lancer une tâche de calcul géospatial, les utilisateurs peuvent soit soumettre directement leurs travaux en fournissant les paramètres nécessaires via l'interface graphique d'un outil, soit créer un flux de travail HPC compliqué avec un concepteur de modèle intégré. higine, côté serveur, s'occupera du traitement des Jobs et des flux de Jobs. Les utilisateurs peuvent surveiller les informations d'exécution détaillées de leurs tâches dans un tableau de bord. Lorsque la tâche de calcul géospatiale soumise est terminée, l'ensemble de données de résultat peut être visualisé immédiatement si nécessaire.

Si les utilisateurs souhaitent parcourir les données stockées dans le système ou les résultats générés par les tâches de géocalcul, ils peuvent les ajouter à la carte. HiGIS fournit des opérations cartographiques essentielles telles que le panoramique, le zoom et le recentrage. De plus, les utilisateurs peuvent ajuster l'ordre et la visibilité des couches cartographiques dans HiGIS. Ces fonctions ressemblent à celles du SIG traditionnel. La caractéristique la plus attrayante de HiGIS est que les utilisateurs peuvent modifier les styles de carte à la volée en fonction de la puissante capacité de rendu parallèle du serveur hiart. Par exemple, pour améliorer l'effet visuel, les utilisateurs peuvent terminer le travail de calcul de l'amplitude du relief d'un jeu de données SRTM brut avec des styles cartographiques.

Il existe quatre composants fonctionnels de base dans HiGIS, comme le montre la figure 4-6.

Le premier est le gestionnaire de données géospatiales, qui implémente : le stockage, la récupération et la prévisualisation d'ensembles de données à grande échelle à la volée avec le support de HPC. valeur max/min/moyenne, histogramme.

Le deuxième composant est l'éditeur cartographique, qui crée des cartes avec des styles complets sur le Web et prend en charge les couches massives correspondant à un ensemble de données à grande échelle.

Le troisième composant est le référentiel d'outils, qui possède des algorithmes parallèles pour l'enregistrement, la récupération, l'exécution, la planification et la surveillance.

Le quatrième composant est l'éditeur de modèle, qui crée un workflow de géocalcul pour une grande flexibilité. Même la création de cartes peut être terminée en créant un flux de travail avec un outil de cartographie de modèle. Toutes les tâches impliquées dans le flux de travail seront planifiées correctement dans l'environnement HPC.

III. FLUX DE TRAVAIL DE GÉOCOMPUTATION BASÉ SUR CSP

CSP est une théorie algébrique proposée par Hoare [10] pour résoudre des problèmes complexes causés par la concurrence. Il existe plusieurs défis lors de la création d'un système de workflow de géocalcul sur des clusters HPC. Tout d'abord, il doit être facile de combiner des algorithmes d'analyse spatiale simples en solutions complexes. De plus, l'efficacité parallèle doit être optimisée au niveau du workflow, pour exploiter pleinement le potentiel du matériel et des algorithmes. Le dernier mais non le moindre, étant donné que le HPC est coûteux, le système devrait offrir des capacités de contrôle, telles que l'annulation et la pause/reprise du flux de travail, ainsi qu'un mécanisme de gestion des pannes approprié. Dans cet article, un système de workflow basé sur CSP est conçu et développé pour répondre à ces défis.

A. Workflow de géocalcul

Certaines recherches ont exploré le cadre de géocalcul basé sur un environnement cloud ou un cluster MapReduce. openRS-Cloud est une plateforme de traitement d'images de télédétection basée sur la technologie du cloud computing [11]. MRGIS est un système de workflow pour SIG basé sur des clusters MapReduce pour faciliter la résolution de problèmes géographiques et obtenir des avantages de performances significatifs par rapport à une solution non HPC [12]. Cependant, les détails de mise en œuvre des systèmes de workflow de géocalcul basés sur MPI construits sur des clusters HPC n'ont pas été étudiés en profondeur [13]. Quant à la visualisation rapide des résultats du géocalcul, les plates-formes et technologies existantes n'y ont accordé que peu d'attention.

En tant que procédure de traitement complexe, un workflow de géocalcul peut être divisé en plusieurs étapes. Chaque étape du workflow fait référence à une opération d'analyse spatiale (action), principalement sous la forme d'un algorithme unique avec un jeu de données géospatiales en entrée et en sortie. Les interfaces de fonctionnement sont définies par une spécification de description avec l'algorithme. Les entrées de chaque étape peuvent être fournies soit par les utilisateurs, soit par les étapes précédentes. La transition d'états entre les actions représente l'état de traitement du workflow. Un graphe acyclique dirigé (DAG) est utilisé pour modéliser le flux de travail. DAG utilise des nœuds et des arêtes pour illustrer le flux de travail correspondant aux actions et au transfert de données entre les actions. Les récursions ou les boucles ne sont pas autorisées dans le graphe pour éviter de valider la complexité. Un flux de travail DAG typique de géocalcul est illustré dans la partie gauche de la figure 7. Dans ce flux de travail, Jobstart et Jobstop sont des nœuds virtuels qui indiquent le début et l'arrêt du flux de travail. Chaque arête dirigée indique que le jeu de données géospatiales traité est transféré d'une tâche à une autre. Le Job précurseur et le Job suivant représentent respectivement le Job exécuté avant et après un Job. Par exemple, Job4 et Job5 sont des Jobs précurseurs de Job6, et Job1 est le Job suivant de Job2. Un workflow peut être créé et soumis à higine à l'aide de l'éditeur de modèles de HiGIS. L'éditeur de modèle traduit le DAG au format JSoN (JavaScript obJect Notation), qui est un format d'échange de données couramment utilisé sur le Web. La spécification JSoN conçue dans HiGIS est illustrée dans la partie droite de la figure 7.

Pour établir un cadre de géocalcul Web flexible, certaines opérations de services publics de base doivent être intégrées. Un tas de programmes utilitaires de workflow sont développés afin de créer des applications géospatiales raisonnables, y compris l'extraction de métadonnées, la publication de données, la publication de service de carte Web (WMS) et bien plus encore. Ces outils peuvent être facilement et souvent utilisés comme actions dans le workflow.

Les algorithmes d'analyse et de traitement géospatiales ont tendance à être à la fois intensifs en calcul et en communication, ce qui limite leur évolutivité. Dans le même flux de travail, les ressources informatiques pourraient être équilibrées entre les étapes en tenant compte de l'évolutivité des algorithmes correspondants pour augmenter à la fois l'utilisation des ressources et l'efficacité globale de l'exécution. Supposons qu'il existe deux algorithmes à exécuter sur un cluster de 256 cœurs. Les exécuter un par un avec 256 cœurs donnés peut entraîner une faible efficacité parallèle. Pour la plupart des algorithmes, l'efficacité parallèle d'une exécution à 256 cœurs peut être bien inférieure à celle d'une exécution à 128 cœurs en pratique. Par conséquent, le moteur de workflow peut optimiser l'affectation des ressources et exécuter les deux algorithmes simultanément avec les deux 128 cœurs donnés, ce qui peut apporter de meilleurs gains de performances.

Les installations de contrôle de flux de travail stables sont plutôt difficiles à mettre en œuvre car de nombreux flux de travail du monde réel sont assez complexes et ont de nombreux états, en particulier dans un environnement Web. La simultanéité doit être gérée avec soin pour éviter les états incohérents ou les interblocages si les synchronisations sont fortement sollicitées. Les entités concurrentes interagissent les unes avec les autres via des interfaces explicites pilotées par une métaphore de rappel d'événement, afin de réduire l'incertitude introduite par les interactions implicites. Lors de la mise en œuvre d'un cadre de géoinformatique Web, une certaine flexibilité doit être offerte pour gérer les échecs de différentes manières. Lorsqu'une étape échoue, on peut choisir soit d'annuler toutes les étapes inachevées du workflow, soit d'annuler uniquement les étapes dépendantes de l'étape ayant échoué. Les deux choix peuvent éviter le traitement des données corrompues.

B. Modèle CSP pour le workflow de géocalcul

Dans la figure 8, il y a une démonstration pour deux actions (rectangle) et six états (ellipse). Les arêtes dirigées décrivent les transitions d'état de l'action changeant entre démarrer, soumettre, suspendu, éveillé, annulé et terminé. Même certains états tels que échoué et révoqué sont omis ici. On peut facilement observer qu'un problème d'explosion de composition se produira dans le cas d'un environnement concurrent multi-utilisateurs. Le DAG est donc adapté à la description du workflow, mais pas à la gestion du problème de simultanéité lors de l'exécution.

CSP utilise la transmission de messages comme concept central et définit un langage formel pour décrire les interactions entre les différentes parties d'un système. Dans CSP, un processus représente le modèle de comportement d'un objet qui nous intéresse, associé à un ensemble fini d'événements possibles comme son alphabet. Les canaux de communication sont définis sur ces concepts en utilisant la sémantique des traces. CSP utilise les lettres majuscules P, Q, R pour représenter les processus. Les opérateurs fondamentaux sur les processus sont présentés dans le tableau I.

Dans notre cadre d'application, chaque tâche, ou également une instance en cours d'exécution d'un algorithme, est définie comme un processus. Le flux de travail d'une application qui a composé des algorithmes ensemble sera ensuite mappé sur un modèle CSP, qui pourrait être raisonné pour garantir l'exactitude de certains outils. Dans le cas du calcul de l'emplacement du logement utilisé comme exemple, le flux de travail peut être décrit comme suit : Premièrement, les zones tampons sont calculées sur plusieurs types de données intéressantes. Deuxièmement, ces zones sont superposées à l'aide de différents opérateurs. Enfin les données sources et les données résultats seront visualisées sur une seule carte suivant un style prédéfini.

L'exemple de workflow de géocalcul est présenté dans la partie gauche de la Fig.9, et l'expression CSP est répertoriée dans la partie droite. Dans HiGIS, cette expression sera analysée par higine et soumise au cluster HPC. Avec l'expression CSP, certains outils peuvent être utilisés pour vérifier l'exactitude du flux de travail et garantir la robustesse de Higine [14]. En analysant les modèles de flux de travail spécifiés à l'aide de CSP, ces outils prennent en charge la vérification automatisée des modèles pour éloigner les dirigeants des impasses ou des divergences.

Lorsque nous traitons des problèmes plus complexes du monde réel, nous pouvons élaborer le modèle pour décrire complètement le modèle interactif entre les processus. Sur la base du modèle, le module de planification parallèle dirigera le flux de données passant par chaque tâche, en utilisant plusieurs techniques de planification pour obtenir une efficacité élevée et un contrôle simultané robuste. Les algorithmes appelés par les tâches peuvent être des algorithmes parallèles utilisant MPI, qui peuvent exploiter pleinement la puissance des clusters haute performance, et peuvent également être des algorithmes séquentiels pour être compatibles avec les bibliothèques d'analyse spatiale traditionnelles.

Le système central de higine qui analyse et exécute les workflows est écrit en C++. Les algorithmes sont principalement écrits en C++ sur la base de MPI, tandis que les utilitaires de workflow sont écrits dans divers langages de script tels que python, ruby ​​ou bash. Le système est ouvert aux algorithmes non-MPI qui, cependant, peuvent ne pas tirer parti des optimisations spéciales pour les programmes MPI. Le gestionnaire de ressources TORQUE et l'ordonnanceur MAUI sont utilisés pour soumettre et exécuter efficacement le programme MPI [15-16]. OpenMPI est choisi comme implémentation MPI alors que dans la plupart des cas, il n'est pas difficile de passer à d'autres implémentations, par ex. MPICH2 ou Intel MPI. Plusieurs workflows de géocalcul sont conçus pour les expériences. Les résultats expérimentaux ont montré la faisabilité et l'efficacité du moteur de workflow. Il fournit diverses fonctions, notamment l'exécution d'algorithmes en parallèle, l'utilisation de plusieurs sorties précédentes pour produire une nouvelle sortie, l'enregistrement dans le stockage des métadonnées, puis la publication automatique en tant que Tile Map Service (TMS) et fonctionne bien dans HPC. La figure 10 montre le cadre d'ordonnancement de Higine. Le système se compose de trois composants : Higine, TORQUE et MAUI. Ces composants collaborent étroitement pour servir pour une exécution haute performance et un contrôle simultané robuste du géocalcul.

Pour un workflow spécifique, le modèle d'exécution est conçu par l'éditeur de modèles côté client. Ensuite, le flux de travail décrit à l'aide de la spécification JSON est envoyé au serveur depuis le front-end. En backend, l'analyseur de travaux a traduit le JSON en expressions CSP. L'exécuteur de tâches génère des scripts de tâches en fonction des expressions CSP et démarre plusieurs threads pour soumettre les scripts de tâches à TORQUE. La politique de choix des meilleurs nœuds d'exécution candidats est fournie par MAUI. MAUI est un planificateur extensible intégrant certaines politiques de « Remplissage », « Priorité du travail », « Fairness and fairshare » et « Exemption de politique ». Le temps d'achèvement estimé de chaque action dans le workflow est le facteur le plus important pour une planification efficace. Nous avons proposé une méthode pour estimer le temps de réalisation [17]. Mais jusqu'à présent, cela ne peut s'appliquer qu'à certains algorithmes spécifiques. L'état d'exécution et d'autres informations sur le travail, telles que le journal, les exceptions et les résultats, sont enregistrés par l'exécuteur du travail. Job Monitor collecte et rapporte ces messages aux utilisateurs.

IV. ACCÈS PARALLÈLE AUX DONNÉES DANS HIGIS

Les satellites à haute résolution spatiale collectent chaque jour des pétaoctets de données géospatiales depuis l'espace, tandis que les activités de détection des citoyens accumulent des données à haute résolution temporelle à un rythme comparable ou plus rapide. Ces données sont collectées et archivées chaque minute à divers endroits et enregistrent plusieurs phénomènes de plusieurs régions à plusieurs échelles. Les données géospatiales qui doivent être calculées dans les applications d'information spatiale augmentent massivement. La complexité et l'exigence de précision dans le traitement des données augmentent également. Le traitement des données géospatiales a présenté plus de données et de calcul intensif [6],[18]. L'utilisation de clusters multiprocesseurs et de technologies de calcul parallèle est devenue une tendance inévitable. Lorsque les performances de traitement sont améliorées, les processus informatiques parallèles attendraient la lecture ou l'écriture des données si l'accès aux données est en série. Dans ce contexte, les E/S de données parallèles sont cruciales pour un traitement efficace des données géospatiales. Par conséquent, une stratégie parallèle pour les données raster géospatiales est présentée dans cette section.

A. Problème en mode E/S Raster parallèle

Il existe généralement deux méthodes utilisées dans le traitement parallèle des données raster géospatiales. La première est la méthode de distribution et de collecte de données (DDC) illustrée à la figure 11. Dans cette méthode, seul le processus maître est responsable de toutes les opérations de lecture et d'écriture des données raster géospatiales, tandis que les processus esclaves sont responsables du traitement des données. L'envoi et la réception de données sont mis en œuvre via un mécanisme de transmission de messages inter-processus entre les processus maître et esclave. Le principal inconvénient de la méthode DDC est que le processus maître devient facilement un goulot d'étranglement lorsque le nombre de processus esclaves augmente.

Un autre mode d'E/S parallèle ne repose pas sur la distribution et la collecte du processus maître, comme illustré sur la figure 12. Chaque processus peut accéder aux données de manière relativement indépendante. seules les métadonnées sont distribuées par un processus maître. Chacun traite simultanément les données d'accès, ce qui peut augmenter considérablement la bande passante globale des E/S. Cependant, cette approche nécessite la prise en charge d'un système parallèle sous-jacent tel que General Parallel File System (GPFS). Le système de fichiers parallèle offre des performances élevées en permettant l'accès aux données sur plusieurs ordinateurs à la fois. Des performances d'E/S plus élevées peuvent être obtenues en "rayant" les blocs de données de fichiers individuels sur plusieurs disques, et en lisant et en écrivant ces blocs en parallèle. Malheureusement, dans un système non parallèle, par ex. Network File System (NFS), il n'y a pas de blocs de bande dans les disques. Si la demande de lecture et d'écriture est très aléatoire, le système de fichiers doit répondre aux demandes de manière aléatoire. En raison de la mécanique d'un transfert de disque, dans cette situation, l'efficacité des E/S sera considérablement réduite.

Certaines études récentes ont tenté d'appliquer la bibliothèque d'abstraction de données géospatiales (GDAL) au traitement de trames géospatiales parallèles [19-20]. GDAL (http://www.gdal.org/) est un outil open source populaire pour le traitement des E/S raster géospatiales. Ces travaux explorent l'efficacité et la flexibilité de l'utilisation de GDAL en mode E/S raster parallèle. Les expérimentations montrent que les E/S raster parallèles utilisant GDAL ne peuvent pas bien fonctionner sous une partition de données en colonnes ou en blocs. Une stratégie d'E/S à deux phases est utilisée pour réduire les demandes d'E/S via la communication interprocessus [20]. Alors que les petites demandes d'E/S sont combinées en grandes demandes d'E/S contiguës, les coûts de communication seront probablement le nouveau goulot d'étranglement. Sur la base d'un format spécifique (par exemple, Hierarchical Data Format v5 [HDF5], Parallel Network Common Data Format [PnetCDF]), un ensemble de données raster géospatiales massives est accessible par la bibliothèque d'E/S parallèles [21]. Mais ces formats spécifiques seront confrontés au grand défi de la diversité dans de nombreuses applications géospatiales actuelles. Pour la raison que nous vivons à l'ère du Big Data, des données spatio-temporelles à grande échelle sont générées chaque jour. Par conséquent, nous ne pouvons pas attendre de transformer divers formats de données géospatiales en un format spécifique, puis de traiter ces données.

B. E/S raster géospatiales parallèles à l'aide de la vue de fichier

MPI (Message Passing Interface) est un système de transmission de messages standardisé conçu pour le calcul haute performance. La norme définit un noyau de routines de bibliothèque utilisées pour développer des applications parallèles portables et évolutives à grande échelle. Cette section présente la stratégie de « vue de fichier » qui convient aux systèmes de fichiers GPFS et NFS. La vue de fichier est un nouveau concept de fichier introduit dans la norme MPI 2.0. Une vue de fichier de processus est créée en appelant la fonction MPI-IO. Chaque processus peut définir sa propre vue de fichier composée de segments de fichiers non contigus. Si l'implémentation MPI-IO sous-jacente considère l'accès à ces segments de fichiers comme un appel de lecture/écriture agrégé, les performances d'E/S devraient être considérablement améliorées. Cette stratégie a d'abord été implémentée dans MPI-IO pour une utilisation beaucoup plus efficace du sous-système d'E/S [22]. Sur la base du mécanisme d'affichage des fichiers, les demandes d'E/S non contiguës et fragmentaires sont agrégées en une petite quantité de demandes d'E/S contiguës. MPI-IO peut être utilisé pour planifier les séquences de lecture/écriture entre plusieurs processus, et il y a peu d'échange de données dans sa mise en œuvre. La vue de fichier est une optimisation critique des E/S parallèles, qui permet la communication d'une « grande image » au système de fichiers. La stratégie d'E/S en deux phases dépense plus de coûts de communication pour envoyer/recevoir des données entre des processus parallèles. L'idée de base de la vue de fichier est de construire de gros blocs au lieu d'utiliser la communication pour précéder les E/S, de sorte que les performances d'E/S seront largement améliorées.

La figure 13 montre le processus de base des E/S raster géospatiales parallèles à l'aide de la vue de fichier. Premièrement, tous les processus lisent les métadonnées des données raster géospatiales à traiter à l'aide de GDAL. Ces informations sont stockées dans une structure de données en mémoire, où figurent : le descripteur de fichier MPI, les colonnes et les lignes de cellules de données raster, les bandes de données raster, les types de données de cellule, l'adresse de décalage absolu des données raster dans le fichier. Après cela, chaque processus calcule la taille des données et les décalages nécessaires pour lire et traiter. Les méthodes de partitionnement des données peuvent être des lignes, des colonnes ou des blocs. Par la suite, un processus spécifique est responsable de la création du fichier de sortie avec les métadonnées. Une fois créé, le processus sera diffusé vers d'autres processus. D'autres processus commencent à lire les données raster à traiter. Enfin, chaque processus termine ses tâches de calcul, puis ouvre le fichier de sortie, définit la vue de fichier respective et écrit les données de résultat dans le fichier de sortie.

L'exemple de vue de fichier de données géospatiales est illustré dans la partie droite de la figure 13. En supposant que la méthode de partitionnement des données est par blocs. La vue de fichier comprend trois éléments : l'adresse de décalage absolu (Déplacement), le type d'élément de base (ElementType) et le type de fichier (FileType). Il existe n processus parallèles (P0, P1. Pn). Les lignes et les colonnes de la cellule raster géospatiale sont RasterYSize et RasterXSize, et le type de données de cellule est ElementType. Pour le processus P0, les paramètres de la vue de fichier sont : les lignes RowB1, RowBn, ColB1 et ColBn sont utilisées pour calculer les tailles de bloc des données raster que P0 doit traiter. La taille de ligne d'un bloc est

BlockYSize = RowBn - RowB1 (1)

et la taille de la colonne d'un bloc est

BlockXSize = ColBn - ColB1 (2)

Le FileType est composé d'un ElementType (BlockXSize), d'un trou (RasterXSize - BlockXSize) et d'un ElementType en dimension Y. Après avoir défini le type de fichier, chaque processus peut utiliser sa propre vue de fichier pour lire et écrire des données. Nous pouvons utiliser ce type de fichier dans les fonctions MPI_File_set_view et MPI_File_write_at_all fournies par MPI-IO pour implémenter les E/S parallèles. Il convient de noter que le paramètre de type de vue de fichier dépend de différentes versions de MPI. Jusqu'à présent, nous ne pouvons prendre en charge que le format GeoTiff en tant que type de sortie. Mais il est facile d'étendre nos interfaces de fonctions pour prendre en charge d'autres formats raster géospatiaux.

Nous avons défini un ensemble d'interfaces de fonction pour encapsuler les opérations aux données raster d'accès parallèle, y compris create_raster, open_raster, close_raster, write_rows, write_cols et write_blocks répertoriés dans le tableau II.

V. SCRIPT CARTOGRAPHIQUE INTERACTIF

Le projet OpenStreetMap fournit des cartes routières générées par les utilisateurs [23], ce qui facilite la cartographie participative. Alors que la cartographie traditionnelle est souvent réalisée par des organisations professionnelles, la cartographie en crowdsourcing génère une carte en utilisant les réseaux sociaux informels et les technologies web 2.0. Mapbox (http://www.mapbox.com) propose des services de cartographie commerciaux utilisant des scripts Python pour l'analyse des données, CartoCSS pour la conception des cartes, JavaScript pour rendre les cartes interactives et HTML pour combiner toutes les couches ensemble un ensemble de des cartes ont été créées. Par ce moyen, n'importe qui peut concevoir une carte et choisir ce qu'il veut sur la carte et à quoi elle ressemble exactement. Chaque détail est sous contrôle, par exemple l'ajout de données, le choix des polices et des couleurs.

A. Cartographie interactive dans HiGIS

Le script cartographique interactif peut être utilisé pour définir le style d'une carte, ce qui permet l'interprétation de la carte, la construction de mises en page. Ces scripts doivent être analysés en tant qu'instructions cartographiques réelles envoyées à un moteur de rendu de carte. Selon le standard Web Map Service proposé par Open Geospatial Consortium, Map peut être défini comme suit :

Où Layeri est une couche dans une carte et Stylei est un texte définissant les éléments cartographiques de Layeri, tels que les légendes, les titres et le texte ou les symboles associés. Le script cartographique conçu dans HiGIS comprend deux parties, le sélecteur et la déclaration. Le sélecteur définit le sujet de la manipulation de la carte, comme la carte, la couche et les objets avec des conditions de filtre. La déclaration définit le style du sujet. La syntaxe peut être décrite comme suit.

À titre d'exemple de carte, s'il existe une couche d'autoroute classée en différentes classes et que nous souhaitons rendre l'autoroute de classe 1 en rouge. Par conséquent, les sélecteurs sont la couche d'autoroute et l'autoroute de classe 1, la déclaration est "line-color=#ff0000". Cette carte peut être définie comme suit.

La cartographie interactive dans HiGIS comprend trois étapes comme le montre la figure 14. L'utilisateur envoie une demande au registre pour créer une carte. Ensuite, les scripts CartoCSS spécifiant les couches et les styles de carte sont envoyés à l'analyseur. L'analyseur conforme les scripts CartoCSS aux scripts qui peuvent être traités par Renderer. Empruntant la puissance HPC, Renderer génère les tuiles de carte en parallèle. L'utilisateur peut afficher une carte en envoyant la demande au serveur Tiles. Si l'utilisateur n'est pas satisfait des résultats, il peut réexécuter ces étapes pour s'adapter.

Le script cartographique donnait beaucoup de contrôle à la personne qui écrivait le script, mais l'expérience utilisateur n'était pas très conviviale. Les scripts devaient être écrits sous forme de fichiers texte. Même dessiner une simple carte nécessitait d'écrire un script un peu long. De nombreux utilisateurs ont souhaité simplifier ces travaux. HiGIS a fourni une capacité d'automatisation pour la cartographie à partir d'un modèle.

Un exemple de cas d'utilisation de HiGIS contient la sélection de données, l'analyse spatiale et la cartographie. Supposons que nous voulions acheter une maison dans une ville. Une zone d'habitation éligible doit avoir un bon environnement environnant et offrir des conditions de vie convenables. Par conséquent, nous devons prendre en compte l'éducation, les transports et d'autres facteurs importants de la ville : tels que les écoles, les centres commerciaux et les hôpitaux se trouvent dans la zone d'habitation à moins de 100 mètres, les voies ferrées, les routes principales doivent être à 200 mètres de la zone d'habitation, et zone d'habitation est à moins de 100 mètres des routes de district, et ainsi de suite. Il s'agit d'une application typique du flux de travail illustré à la Fig. 9.

Selon le workflow décrit ci-dessus, le mode d'utilisation typique dans HiGIS est le suivant :

1. Construction du modèle de flux de géocalcul pour la zone de localisation des logements.

2. Sélectionnez l'ensemble de données géospatiales d'entrée tels que les points d'intérêt, les voies ferrées et les routes, etc., illustrés à la figure 15. Ces données sont rendues dans les styles de carte par défaut.

3. Exécutez le modèle et chaque étape de la progression de l'exécution peut être observée de manière dynamique.

4. Surveillez l'état de la tâche (temps d'E/S et temps de calcul), le temps d'exécution et les résultats dans le tableau de bord.

5. Si la tâche est terminée, ouvrez les résultats sur la carte, les zones d'habitation peuvent être visualisées dans un style complet, comme illustré à la Fig. 15.

La carte résultante est réalisée à partir d'un modèle. Un modèle de carte est décrit par un script cartographique. Lors du mappage avec un modèle, une nouvelle carte est dérivée d'un modèle existant. Ensuite, les couches de la nouvelle carte sont remplacées en fonction des données de résultat. Afin de générer une carte dans le même style qu'un modèle, les propriétés des couches de la nouvelle carte doivent être cohérentes avec celles du modèle, ce qui signifie que le nombre de couches, l'ordre des couches et les noms d'attribut de chaque couche doivent être les même.

VI. EXPÉRIENCE ET RÉSULTATS

A. Environnement expérimental et ensembles de données

L'environnement d'expérimentation était un cluster IBM SMP avec 32 nœuds de serveur exécutant RedHat Enterprise Linux 6.4. Chaque nœud de serveur se compose de deux processeurs à six cœurs Intel Xeon (X5540 2,4 GHz) et de 24 Go de mémoire DDRIII. Le rôle attribué aux nœuds de serveur est : quatre nœuds pour le service de données (d01-d04), quatre nœuds pour le service de visualisation (v01-v04) et 28 nœuds pour le service informatique (c01-c28). Les ensembles de données de test sont répertoriés dans le tableau III. Les entités géométriques sont stockées dans PostGIS. Les données raster sont stockées dans des fichiers GeoTiff sur 24 disques partagés (3 To chacun) qui sont utilisés comme matrice de stockage. Le système de fichiers parallèle général (GPFS) est utilisé pour partager les données de test entre les nœuds de calcul et configuré avec les paramètres par défaut. La configuration réseau est 10GigE.

À des fins de comparaison des performances parallèles à ArcGIS, nous déployons HiGIS et ArcGIS 10.2 Desktop dans le même environnement matériel. Le serveur est un serveur SuperMicro avec quatre processeurs Intel Xeon E5-4620, cadencés à 2,2 GHz et 512 Go de mémoire DDR3-1333. ArcGIS est installé sur Windows 7.

Afin de mesurer les performances parallèles du workflow, les travaux sont soumis en mode séquentiel et parallèle dans HiGIS. L'étude de cas de la localisation de la maison est utilisée pour examiner les performances parallèles. Les ensembles de données de test sont Data4 à Data6. Les résultats sont répertoriés dans le tableau 4. Il est clair que Buffer1, Buffer2 et Buffer3 sont démarrés simultanément. Lorsque Buffer1 est terminé, les nœuds de calcul c01, c02 et c03 sont libérés pour Overlay1. La même situation peut être observée dans Overlay2 et Visualization. En mode parallèle, le temps d'exécution de tous les travaux est de 1 minute 18 secondes. En mode séquentiel, la durée d'exécution de toutes les tâches est de 2 minutes 22 secondes. Les résultats expérimentaux sont similaires dans le cluster IBM SMP et le serveur SuperMicro. Lorsque vous utilisez ArcGIS ModelBuilder pour soumettre le même workflow avec les mêmes jeux de données, les résultats sont obtenus après 2 heures d'exécution. Étant donné que les opérations d'analyse spatiale sont parallélisées et que le flux de travail est également planifié par higine en parallèle, il existe un traitement parallèle à deux niveaux dans HiGIS. Ainsi, il montre les performances de parallélisation de HiGIS à travers l'étude de cas.

Les performances d'E/S parallèles sont évaluées en mesurant les Mo/s pour lire et écrire des données depuis/vers un fichier raster avec/sans affichage de fichier. Les données sont partitionnées par décomposition par blocs. La taille du bloc dépend du nombre de processus. Dans l'expérience, nous avons comparé les performances à la méthode sans mécanisme de visualisation de fichiers, ainsi qu'à la stratégie GDAL-2P [20]. Comme le montre la figure 14, si des processus parallèles accèdent au fichier de données (Data1) sans vue de fichier, les performances d'E/S seront considérablement inférieures à celles de la méthode de requête agrégée utilisant la vue de fichier. Stratégie d'E/S à deux phases GDAL-2P est plus performant mais toujours inférieur à la méthode de visualisation de fichiers grâce aux coûts de communication. Lorsque vous augmentez le nombre de processus, sans vue de fichier, les performances d'E/S parallèles diminuent avec l'augmentation du nombre de processus. Lorsque le nombre est inférieur à 32, les performances d'E/S sont restées stables en utilisant la vue de fichier. On peut observer que l'augmentation des performances jusqu'à 6 processus suivie d'une baisse avec vue de fichier.En effet, lorsque le nombre de processus augmente, les coûts de planification, de communication et autres frais généraux du système augmentent également. Plus le nombre de processus utilisé est élevé, plus la taille des blocs pour la décomposition est petite. Par conséquent, les résultats expérimentaux reflètent également l'influence de la taille des blocs sur la performance globale.

Les performances d'E/S parallèles montrent une certaine corrélation avec la taille des données, comme illustré à la Fig. 16-17. De manière générale, plus la taille des données est grande, plus les performances d'E/S sont meilleures. Pendant ce temps, lors de l'augmentation du nombre de processus, une baisse des performances se manifeste plus tard dans des données plus volumineuses.

Dans la Fig. 18-19, il y a les comparaisons de performances parallèles de l'analyse de pente entre HiGIS et ArcGIS. Les ensembles de données de test sont Data7 (Fig. 18) et Data8 (Fig. 19). On peut observer que malgré la taille des données de test, HiGIS surpasse ArcGIS lorsque le nombre de processus est supérieur à 4. ArcGIS Desktop prend en charge plusieurs processeurs/cœurs avec un traitement parallèle, et fonctionne extrêmement mieux que HiGIS lors de l'utilisation d'1 CPU et de 4 processus en particulier. pour les données de grande taille (Data7). Cela suggère qu'ArcGIS Desktop peut obtenir l'utilisation exclusive d'un processeur. Cependant, lors de l'augmentation du nombre de processus, ArcGIS fonctionne de manière comparable. HiGIS permet aux utilisateurs de traiter les tâches de géocalcul sur plusieurs processeurs. Ce faisant, nous pouvons atteindre plus de 40 % d'efficacité parallèle pour l'analyse des pentes.

C. Performances de simultanéité

Tsung (http://tsung.erlang-projects.org/) est un outil de test de charge distribué. La principale force de Tsung est sa capacité à simuler un grand nombre d'utilisateurs simultanés à partir d'une seule machine. Nous pouvons facilement configurer et maintenir une charge impressionnante sur un serveur. Tsung 1.4.2 est utilisé pour tester l'évolutivité et les performances des services de base de HiGIS. Nous avons testé la charge et le stress de hiart, hipo et higine. Les résultats de la réponse HTTP de HiGIS sont illustrés à la Fig. 20-23.

Les requêtes de requête de métadonnées réussies sont supérieures à 400 par seconde et les requêtes de requête spatiale réussies sont supérieures à 700 par seconde. Les requêtes de cartographie réussies sont supérieures à 400 par seconde, le temps de réponse moyen pour 20 utilisateurs pour soumettre 2000 tâches est inférieur à 0,1 seconde. Ces résultats prouvent que HiGIS est efficace et évolutif.

Dans cet article, nous proposons un cadre basé sur HPC et CSP pour permettre la construction rapide d'applications d'informations géographiques décentes sur le Web. Le système prototype HiGIS tente de réduire la complexité lors de la construction de solutions efficaces à des problèmes géographiques complexes. En prenant le calcul de l'emplacement de la maison comme cas d'utilisation, nous démontrons que HiGIS peut facilement créer une application d'analyse spatiale intégrée à une pile complète d'outils SIG tels que des algorithmes d'analyse spatiale, la gestion des données géographiques, la requête spatiale et la cartographie, qui tirent pleinement parti du calcul haute performance. . Les résultats expérimentaux montrent à la fois la stabilité due au CSP et l'efficacité due au HPC, ce qui prouve la faisabilité du système.

Dans un avenir proche, la composante de visualisation et de traitement de HiGIS sera plus compatible avec divers types de données, par ex. données spatio-temporelles, données 3D et données définies par l'utilisateur. La base de données spatiale dans la mémoire principale est considérée comme améliorant les E/S parallèles pour les données d'entités géométriques. En outre, un cadre de développement ouvert comprenant une API de cartographie, de traitement et d'accès aux données sera fourni pour permettre le développement de géoapplications basé sur HiGIS, ce qui aidera à former un écosystème autour de HiGIS.

Nous apprécions profondément le soutien d'autres groupes de recherche en Chine, notamment l'Institut des sciences géographiques et de recherche sur les ressources naturelles du C.A.S., l'Université normale de Nanjing, l'Université de Wuhan, l'Université de Nanjing et l'Université du Nord-Est, pour leur contribution au référentiel d'outils HiGIS.

[1] A. G. Aly et N. M. Labib, « Modèle proposé d'architecture de cloud computing basée sur les SIG pour les systèmes d'urgence », Int. J. Informatique. Sci., vol. 1, non. 4, p. 17-28, 2013.

[2] J. de la Torre, "Organiser des données géo-temporelles avec CartoDB. une base de données open source sur le cloud", In Proc. Biodiversity Informatics Horizons, Rome, Italie, sept. 2013

[3] S. Wang, "CyberGIS : plan directeur pour des écosystèmes logiciels géospatiaux intégrés et évolutifs", Int. J. Geogr. Inf. Sci., vol. 27, non. 11, pages 2119-2121, 2013. doi : 10.1080/13658816.2013.841318

[4] I.H. Kim et M.H. Tsou, « Activation des modèles de simulation de la Terre numérique à l'aide de l'informatique en nuage ou de l'informatique en grille - deux approches prenant en charge des cadres de simulation SIG hautes performances », Int. J. Chiffre. Terre, vol. 6, non. 4, p. 383-403, 2013. doi : 10.1080/17538947.2013.783125

[5] A. Aji, F. Wang, H. Vo, R. Lee, Q. Liu, X. Zhang et J. Saltz, « Hadoop gis : un système d'entreposage de données spatiales hautes performances sur mapreduce », Proc. Fondation VLDB., vol. 6, non. 11, p. 1009-1020, 2013. doi: 10.14778/2536222.2536227

[6] X. Guan, H. Wu et L. Li, "Un cadre parallèle pour le traitement de données spatiales massives avec un paradigme de fractionnement et de fusion", Trans. SIG, vol. 16, non. 6, p. 829-843, 2012. doi : 10.1111/j.1467-9671.2012.01347.x

[7] W. Guo, X. Zhu, T. Hu et L. Fan, "Un modèle parallèle multi-granularité pour les services Web de traitement d'images de télédétection unifiée," Trans. SIG, vol. 16, non. 6, p. 845-866, 2012. doi : 10.1111/j.1467-9671.2012.01367.x

[8] L. Liu, A. Yang, L. Chen, W. Xiong, Q. Wu et N. Jing, "HiGIS - When GIS Meets HPC," In Proc. 12e Int. Conf. sur GeoComputation, WuHan, 2013. [En ligne]. Disponible : http://www.geocomputation.org/2013/papers/26.pdf

[9] J. Liu, A.X. Zhu, Y. Liu, T. Zhu et C.Z. Qin, « Une approche en couches du calcul parallèle pour la modélisation hydrologique spatialement distribuée », Environ. Modèle. Logiciel, vol. 51, non. 0, pp. 221 - 227, 2014. doi: 10.1016/j.envsoft.2013.10.005

[10] S. D. Brookes, C. A. R. Hoare, et A. W. Roscoe, « A Theory of Communicating Sequential Processes », J ACM, vol. 31, non. 3, pp. 560-599, juin 1984. doi : 10.1145/828.833.

[11] W. Guo, J.Y. Gong, W.S. Jiang, Y. Liu et G. She, "OpenRS-Cloud : une plate-forme de traitement d'images de télédétection basée sur un environnement informatique en nuage", Sci. CHINE Technol. Sci., vol. 53, non. 1, p. 221-230, 2010. doi: 10.1007/s11431-010-3234-y

[12] Q. Chen, L. Wang et Z. Shang, « MRGIS : un système de flux de travail haute performance compatible avec MapReduce pour les SIG », dans Proc. du Quatrième IEEE Int. Conf. sur eScience, Washington, DC, États-Unis, 2008, pp. 646-651. doi: 10.1109/eScience.2008.169 [13] Y. Ma, D. Liu et J. Li, "A new framework of cluster-based parallel processing system for high-performance geo-computing," In Geoscience and Remote Sensing Symposium, Cape Ville, 2009, vol. 4, pages IV49-IV52. doi: 10.1109/IGARSS.2009.5417598

[14] T. Yuan, Y. Tang, X. Wu, Y. Zhang, H. Zhu, J. Guo et W. Qin, " Formalisation et vérification de REST sur HTTP à l'aide de CSP ", Electron. Notes Théor. Calcul. Sci., vol. 309, non. 0, pp. 75-93, 2014. doi : 10.1016/j.entcs.2014.12.007

[15] G. Staples, " TORQUE Resource Manager ", dans Proc. de l'ACM/IEEE Conf. sur Supercomputing, New York, NY, USA, 2006. doi: 10.1145/1188455.1188464

[16] D. Jackson, Q. Snell et M. Clement, "Core Algorithms of the Maui Scheduler", dans Job Scheduling Strategies for Parallel Processing, vol. 2221, D. Feitelson et L. Rudolph, Eds. Springer Berlin Heidelberg, 2001, p. 87-102. doi: 10.1007/3-540-45540-X6

[17] S. Zhang, L. Chen, W. Xiong, "Recherche sur les performances des modèles de programmation parallèle basés sur un multiprocesseur à puce", dans Proc. 2011 Int. Conf. Application informatique et modélisation du système, XiaMen, 2011, pp. 2688-2691.

[18] C. Yang, M. Goodchild, Q. Huang, D. Nebert, R. Raskin, Y. Xu, M. Bambacus et D. Fay, "Spatial cloud computing: how can the geospatial sciences use and help shape l'informatique en nuage ?", Int. J. Chiffre. Terre, vol. 4, non. 4, pp. 305-329, 2011. doi:10.1016/j.cageo.2012.04.021

[19] L. Ouyang, J. Huang, X. Wu et B. Yu, « Technique d'optimisation d'accès parallèle pour les données raster géographiques », dans Géo-informatique dans la gestion des ressources et l'écosystème durable, vol. 398, F. Bian, Y. Xie, X. Cui et Y. Zeng, Eds. Springer Berlin Heidelberg, 2013, p. 533-542. doi: 10.1007/978-3-642-45025-9 52

[20] C.Z. Qin, L.J. Zhan et A.X. Zhu, "Comment appliquer correctement la bibliothèque d'abstraction de données géospatiales (GDAL) aux E/S de raster géospatiales parallèles ?", Trans. SIG, vol. 18, non. 6, p. 950-957, 2014. doi : 10.1111/tgis.12068.

[21] Y. Zou, W. Xue et S. Liu, "Une étude de cas d'analyse et d'optimisation d'E/S parallèles à grande échelle pour un système de prévision météorologique numérique", Future Gener. Calcul. Syst., vol. 37, non. 0, pp. 378-389, 2014. doi: 10.1016/j.future.2013.12.039

[22] R. Thakur, W. Gropp et E. Lusk, « Optimisation des accès non contigus dans MPI-IO », Parallel Comput., vol. 28, non. 1, pp. 83 - 105, 2002. doi : 10.1016/S0167-8191(01)00129-6

[23] C. Heipke, « Données géospatiales de crowdsourcing », ISPRS J. Photogramm. Télédétection, vol. 65, non. 6, pp. 550-557, 2010. doi : 10.1016/j.isprsjprs.2010.06.005

Collège des sciences et de l'ingénierie électroniques, Université nationale des technologies de la défense, 410073, Changsha, Chine

Ce travail a été soutenu en partie par la Fondation nationale des sciences naturelles de Chine sous les subventions 41271403 et 41471321, et la Fondation des sciences naturelles de la province du Hunan, en Chine, sous la subvention. 12jj4033.


Voir la vidéo: Procédure géocodage ArcGIS (Octobre 2021).