SuperMap iServer prend désormais en charge le format de données FlatGeobuf et les performances de rendu des requêtes sont améliorées de 2 à 3 fois

Auteur : Zhang Yongli

Introduction

FlatGeobuf est un format de stockage de données géographiques qui utilise un codage binaire, qui est plus efficace que d'autres formats texte ou XML et peut réduire considérablement la taille des fichiers, ce qui rend la transmission et le stockage des données plus rapides et plus efficaces.
SuperMap iServer 11i(2023) (ci-après dénommé SuperMap iServer11.1) ajoute la prise en charge de la représentation FlatGeobuf, qui peut réaliser une transmission segmentée et des effets de chargement à la demande. Ce qui suit présentera comment y parvenir en détail.

1. Introduction à FlatGeobuf

1.1 Qu'est-ce que FlatGeobuf

FlatGeobuf est un format de codage binaire utilisé pour stocker les coordonnées et les types d'entités géographiques, et peut stocker des données d'entités (telles que des points, des lignes, des polygones, etc.) sous des spécifications d'entités simples.

Le format FlatGeobuf est similaire au Shapefile traditionnel, GeoJSON et à d'autres formats de fichiers, et tous deux prennent en charge le stockage de données vectorielles géospatiales, mais le format FlatGeobuf a une efficacité de stockage plus élevée et des vitesses de lecture et d'écriture plus rapides, et convient au codage et à la transmission de grandes quantités de données statiques. L'utilisation du format FlatGeobuf pour stocker et transmettre des données peut accélérer la transmission réseau et raccourcir le temps de rendu des éléments vectoriels, optimisant ainsi l'expérience utilisateur.

1.2 Avantages et inconvénients de FlatGeobuf

avantage

  • Compacité, FlatGeobuf utilise un codage binaire, qui peut stocker des données sous forme de fichiers plus petits, économisant ainsi de l'espace disque et de la bande passante réseau.
  • Lecture rapide, utilisant l'encodage binaire, FlatGeobuf peut lire et analyser à une vitesse plus élevée, accélérant l'efficacité de l'accès aux données.
  • Prise en charge multiplateforme, FlatGeobuf peut être pris en charge par plusieurs logiciels et outils SIG, et fournit des API dans plusieurs langues, permettant la conversion et le traitement des données sur différentes plateformes.
  • Transmission segmentée et chargement à la demande. FlatGeobuf prend en charge la transmission segmentée et le chargement à la demande. Il ne peut charger que les blocs de données requis sans charger l'ensemble des données, ce qui améliore l'efficacité de la requête et de l'affichage des données.

défaut

  • Les données de géométrie et d'attribut ne sont pas séparées.
  • La taille du fichier n'a aucun avantage évident sur le format GeoPackage.
  • Difficile d'éditer directement Par rapport au format texte, la méthode d'encodage binaire de FlatGeobuf rend difficile l'édition manuelle directe des données.

Plus d'informations sur FlatGeobuf : https://github.com/flatgeobuf/flatgeobuf

1.3 Scénarios applicables de FlatGeobuf

  • L'encodage et la transmission de données statiques à grande échelle, en utilisant le format FlatGeobuf, peuvent stocker et transmettre efficacement des données géographiques à grande échelle. Avec un codage binaire compact, la taille du fichier de données peut être considérablement réduite et la vitesse de chargement des données peut être améliorée.
  • Partage de données multiplateformes, le format FlatGeobuf a des caractéristiques multiplateformes et peut être supporté et analysé par différents logiciels et outils SIG (par exemple : GeoServer, QGIS, GeoTools, PostGIS, etc.). Cela rend le partage de données entre différents systèmes SIG plus pratique, sans conversion de données complexe ni traitement de compatibilité.
  • Transmission segmentée et chargement à la demande, le format FlatGeobuf prend en charge la transmission segmentée et le chargement à la demande de données géographiques. Cela signifie que vous n'avez qu'à charger les blocs de données requis, au lieu de charger l'ensemble des données en une seule fois, améliorant ainsi l'efficacité de la requête et de l'affichage des données.

2. Comment utiliser FlatGeobuf

2.1 SuperMap iServer

Par défaut, SuperMap iServer 11.1 prend en charge le retour du format FlatGeobuf pour les ressources telles que la requête de carte (queryResults) et la requête de données (featureResults), et le format de fichier est *.fgb.
Comme illustré dans la figure ci-dessous, les résultats de la requête de carte peuvent être renvoyés à l'aide de l'expression fgb.
insérez la description de l'image ici
SuperMap iServer 11.1 prend en charge les fonctionnalités de service de sortie au format FlatGeobuf comme suit :
insérez la description de l'image ici

2.2 SuperMap iClient

SuperMap iClient 11.1 (Leaflet, Openlayer, MapboxGL) prend en charge l'accès direct aux fichiers .fgb de stockage en nuage ou aux fichiers au format FlatGeoBuf renvoyés par les services SuperMap iServer 11.1, et prend en charge le streaming et le rendu (pour les programmes de démonstration FlatGeoBuf, veuillez visiter le site https://iclient.supermap.io/ pour voir)
insérez la description de l'image ici

Les données FlatGeoBuf ont deux stratégies de chargement : chargement complet et chargement à la demande. Vous pouvez optimiser l'expérience de navigation en modifiant la stratégie de paramètre de stratégie de chargement de FGBLayer dans le code frontal et en sélectionnant all (chargement complet) et bbox (chargement à la demande).

Chargement complet de l'effet de données FlatGeoBuf 25 millions de points :

insérez la description de l'image ici

L'effet du chargement de 25 millions de points de données dans FlatGeoBuf à la demande :insérez la description de l'image ici

3. Comparaison des performances entre FlatGeobuf et GeoJSON

environnement d'essai Processeur : Intel® Core™ i7-10875H
Mémoire 16G
navigateur Chrome 113
Données de test 50 000 données de surface de carte (6,19 millions de nœuds, chaque enregistrement contient 26 champs d'attribut) stockage udbx
version d'essai supermap-server-11.1.0-windows-x64.zip
Méthodes d'essai 1. Requête de carte, requête de données renvoient la représentation GeoJSON et la comparaison de taille de fichier de
représentation FlatGeobuf ;

3.1 Taille du fichier

1) Requête cartographique

retour d'enregistrement GéoJSON FlatGeobuf (chargement complet) FlatGeobuf (charge à la demande)
5 000 faces (1,45 million de nœuds) 57,9 Mo 24,4 Mo 11,2 Mo
10 000 faces (1,98 million de nœuds) 80,9 Mo 34,7 Mo 15,7 Mo
50 000 faces (6,19 millions de nœuds) 264 Mo 116 Mo 26,2 Mo

2) Requête d'ensemble de données

retour d'enregistrement GéoJSON FlatGeobuf (chargement complet) FlatGeobuf (charge à la demande)
5 000 faces (1,45 million de nœuds) 57,9 Mo 24,2 Mo 11,1 Mo
10 000 faces (1,98 million de nœuds) 81,1 Mo 34,3 Mo 15,5 Mo
50 000 faces (6,19 millions de nœuds) 264 Mo 114 Mo 25,7 Mo

3.2 Comparaison de la requête dynamique côté Web avec les performances de rendu du navigateur

1) Requête cartographique

retour d'enregistrement GéoJSON FlatGeobuf (chargement complet) FlatGeobuf (charge à la demande)
5 000 faces (1,45 million de nœuds) 7.3s 3.1s 1.9s
10 000 faces (1,98 million de nœuds) 10.5s 5s 3.1s
50 000 faces (6,19 millions de nœuds) 55s 31s 21s

2) Requête d'ensemble de données

retour d'enregistrement GéoJSON FlatGeobuf (chargement complet) FlatGeobuf (charge à la demande)
5 000 faces (1,45 million de nœuds) 9.4s 2.1s 0.96s
10 000 faces (1,98 million de nœuds) 12s 4.1s 1.7s
50 000 faces (6,19 millions de nœuds) 43s 23s 12s

3.3 Résumé

  1. Requête de carte SuperMap iServer et requête de jeu de données, l'expression FlatGeobuf renvoyée est 42 % plus petite que GeoJSON ;
  2. Chargez la représentation FlatGeobuf à la demande et la quantité de données renvoyées dépend de la quantité de données dans la plage de navigation, qui est généralement inférieure à la charge complète de FlatGeobuf ;
  3. La requête de jeu de données est plus performante que la requête de carte, et l'utilisation de FlatGeobuf est plus efficace que l'utilisation de GeoJSON ;

Pour résumer, l'expression FlatGeobuf est comparée à l'expression GeoJSON pour la requête de carte et la requête de données côté Web, et le volume de données résultant est faible et la vitesse de chargement est rapide. Il est recommandé aux utilisateurs de préférer utiliser la représentation FlatGeobuf dans des scénarios similaires.

Je suppose que tu aimes

Origine blog.csdn.net/supermapsupport/article/details/131807166
conseillé
Classement