Lorsque vous exportez un FeatureCollection
en tant qu'élément FeatureView
, vous pouvez définir des paramètres qui déterminent les éléments à afficher à un niveau de zoom donné (amincissement) et l'ordre des éléments qui se chevauchent (ordre Z).
Ces paramètres affectent la vitesse et les caractéristiques d'affichage des objets FeatureView
. Les sections suivantes décrivent les paramètres d'optimisation et illustrent leur impact à l'aide de diagrammes conceptuels dans lesquels les tuiles de carte sont délimitées par des lignes en pointillés, les éléments géographiques visibles sont des polygones en trait plein et les éléments géographiques supprimés (amincis) sont des polygones avec des lignes en pointillés et sans remplissage.
Le bloc de code suivant est un exemple d'exportation de FeatureCollection
vers FeatureView
qui met en évidence les paramètres d'optimisation décrits sur cette page.
Export.table.toFeatureView({
collection: fooFc,
assetId: 'foo-featureview-demo',
description: 'foo-featureview-demo',
maxFeaturesPerTile: 1500,
thinningStrategy: 'HIGHER_DENSITY',
thinningRanking: ['my-property DESC'],
zOrderRanking: ['my-property DESC']
});
Nombre maximal d'éléments par carte
Le paramètre "Éléments géographiques max. par tuile" (maxFeaturesPerTile
) définit le nombre maximal d'éléments géographiques à afficher sur une seule tuile de carte. Cette valeur est une limite supérieure et peut être nettement inférieure en fonction de la stratégie d'amincissement. Cette valeur peut être définie sur n'importe quelle valeur comprise entre 1 et 2 000. Plus la valeur est élevée, plus les éléments sont affichés par carte, mais le chargement des cartes est plus long.
Notez dans le tableau suivant que lorsque la valeur du paramètre maxFeaturesPerTile
diminue, le nombre d'éléments qui se croisent dans chaque carte diminue également. Une carte peut avoir moins que le nombre maximal, mais pas plus.
Toutes les fonctionnalités (à titre de référence) |
Affiche au maximum cinq éléments par carte. |
N'affiche pas plus de deux éléments par carte. |
Classement de l'amincissement
Le paramètre de classement de l'amincissement (thinningRanking
) contrôle la priorité des données pour l'amincissement en fonction du type de géométrie, de la taille des éléments géographiques et des valeurs des propriétés des éléments géographiques. Il accepte un ensemble de règles qui indiquent à l'algorithme d'amincissement les éléments à amincir avant les autres lorsque maxFeaturesPerTile
est atteint. Chaque règle inclut une propriété d'élément géographique, suivie du sens de tri (croissant/ASC
ou décroissant/DESC
). Il peut y avoir une ou plusieurs règles. En plus des propriétés d'éléments géographiques traditionnelles, deux propriétés spéciales peuvent être utilisées pour hiérarchiser l'élagage: .geometryType
et .minZoomLevel
.
.geometryType
: caractérise les éléments géographiques en tant que points, lignes ou polygones. Ces types de géométrie sont respectivement quantifiés comme petits, moyens et grands à des fins de tri..minZoomLevel
: niveau de zoom de la carte le plus bas auquel un élément peut être affiché dans une tuile. Les niveaux de zoom inférieurs à cette valeur n'affichent pas l'élément géographique, tandis que les niveaux de zoom supérieurs ou égaux à cette valeur peuvent l'afficher. Rappelez-vous que les niveaux de zoom faibles représentent une région géographique plus étendue par tuile de carte que les niveaux de zoom plus élevés. Une valeur de 0 est attribuée aux éléments ponctuels (visibles à tous les niveaux de zoom). Des valeurs sont attribuées aux géométries de ligne et de polygone en fonction de leurs limites (lignes) ou de leur surface (polygones): les éléments géographiques de grande taille ont des valeurs.minZoomLevel
plus faibles que les éléments géographiques de petite taille.
Les règles de classement par affinage peuvent être fournies sous forme de chaîne ou de liste de chaînes, où un nom de propriété et le sens de tri souhaité sont séparés par un espace:
// String input format for setting thinning ranking based on 3 rules.
'my-property DESC, .geometryType ASC, .minZoomLevel ASC'
// List of strings input format for setting thinning ranking based on 3 rules.
['my-property DESC', '.geometryType ASC', '.minZoomLevel ASC']
Les règles ci-dessus indiquent à l'algorithme d'amincissement de donner la priorité aux éléments géographiques dont l'attribut "my-property" est plus élevé (amincissement des éléments géographiques dont la valeur "my-property" est plus faible en premier), de donner la priorité aux éléments géographiques dont le type de géométrie est plus petit (par exemple, amincissement des polygones avant les lignes et des lignes avant les points) et de donner la priorité aux éléments géographiques dont le niveau de zoom minimal est plus faible (points avant les grands polygones, puis les petits polygones).
Le tableau suivant illustre l'impact de la modification de la règle thinningRanking
pour une propriété size
sur les éléments géographiques dessinés. Le nombre total d'éléments par carte (colonne "Tous les éléments") est supérieur à cinq. Un affinage est donc appliqué pour limiter les éléments dessinés (colonne thinningRanking: 5
). Dans la première ligne, les éléments sont triés par size
de la valeur la plus élevée à la plus faible, ce qui signifie que les éléments les plus importants ont la priorité sur les éléments les plus petits (les éléments sont dessinés par ordre décroissant de taille jusqu'à ce que maxFeaturesPerTile
soit atteint). Dans la deuxième ligne, les éléments sont triés par taille croissante. Les éléments les plus petits sont donc dessinés en premier, par ordre de taille, jusqu'à ce que maxFeaturesPerTile
soit atteint.
thinningRanking |
Toutes les fonctionnalités (à titre de référence) | maxFeaturesPerTile: 5 |
---|---|---|
Priorisez les fonctionnalités avec un |
||
Priorisez les éléments avec une valeur |
Stratégie d'éclaircissement
Le paramètre de stratégie d'amincissement (thinningStrategy
) est utilisé avec le classement d'amincissement (thinningRanking
) pour affiner les données au moment de l'exportation afin d'améliorer les performances de rendu. Deux stratégies sont prises en charge: HIGHER_DENSITY
et GLOBALLY_CONSISTENT
. Lorsque vous appliquez un affinage à un niveau de zoom particulier, une stratégie d'affinage à densité plus élevée signifie que chaque carte peut se rapprocher le plus possible de la limite maxFeaturesPerTile
, sans tenir compte du rang des éléments géographiques dans les autres cartes. La stratégie d'amincissement cohérente à l'échelle mondiale signifie que si une entité est supprimée par amincissement de n'importe quelle carte, toutes les entités ayant un rang d'amincissement égal ou inférieur seront supprimées de toutes les cartes, que la carte nécessite ou non un amincissement (si elle dépasse la limite maxFeaturesPerTile
). Utilisez la stratégie HIGHER_DENSITY
pour optimiser la densité des éléments géographiques et la stratégie GLOBALLY_CONSISTENT
pour optimiser la représentation cohérente du classement des éléments géographiques entre les tuiles.
Le tableau suivant montre l'impact de la modification de thinningStrategy
sur l'amincissement. Dans cet exemple, les données sont affinées à l'aide de la forme/couleur des points. Les cercles bleus, les carrés verts et les triangles rouges ont des rangs d'amincissement respectifs, du meilleur au pire. Pour chaque thinningStrategy
(HIGHER_DENSITY
et GLOBALLY_CONSISTENT
), trois valeurs différentes sont spécifiées pour maxFeaturesPerTile
: un nombre suffisamment élevé pour afficher toutes les fonctionnalités, 10 fonctionnalités et 9 fonctionnalités.
Avec HIGHER_DENSITY
et 10 maxFeaturesPerTile
, six triangles rouges (priorité la plus faible dans le classement d'amincissement) sont affinés dans la vignette en haut à gauche, et un triangle rouge est affiné dans la vignette en bas à gauche. Avec HIGHER_DENSITY
et 9 maxFeaturesPerTile
, sept triangles rouges sont affinés dans la tuile en haut à gauche, et un triangle rouge et un carré vert sont affinés dans la tuile en bas à gauche.
Dans ces exemples, chaque carte est affinée indépendamment, sans tenir compte du rang d'affinage des éléments géographiques dans les cartes voisines. En fonction des caractéristiques des données, cette stratégie d'amincissement peut entraîner l'apparition de tuiles de carte adjacentes nettement différentes les unes des autres, mais elle maximise le nombre d'éléments dessinés.
N'oubliez pas que l'amincissement GLOBALLY_CONSISTENT
signifie que si une caractéristique est supprimée par amincissement de n'importe quelle carte, toutes les autres caractéristiques avec une thinningRank
égale ou pire seront également supprimées. Lorsque maxFeaturesPerTile
est défini sur 10, les triangles rouges ne s'affichent sur aucune carte, car un triangle rouge est affiné dans les cartes en haut à gauche et en bas à gauche.
Lorsque maxFeaturesPerTile
est défini sur 9, les carrés verts ne s'affichent sur aucune carte, car un carré vert est affiné dans la carte en bas à gauche.
Cette stratégie d'amincissement est moins susceptible de produire l'apparence distincte des cartes que la stratégie HIGHER_DENSITY
, mais elle peut réduire les cartes à un certain nombre d'éléments bien en dessous de la limite maxFeaturesPerTile
.
thinningStrategy |
Toutes les fonctionnalités (à titre de référence) | maxFeaturesPerTile: 10 | maxFeaturesPerTile: 9 |
---|---|---|---|
Éclaircissement moins agressif Maintient une densité élevée d'éléments géographiques grâce à l'amincissement intra-tuile. |
|||
Éclaircissement plus agressif. Maintient un rang d'amincissement minimal cohérent à l'échelle mondiale grâce à l'amincissement inter-tuiles. |
Classement par ordre de plan
Le paramètre de classement par ordre Z (zOrderRanking
) contrôle l'ordre des éléments géographiques qui se chevauchent. Il accepte un ensemble de règles qui définissent les éléments à afficher sous/au-dessus d'autres lorsqu'ils se chevauchent. La logique et le format des règles pour définir l'ordre des éléments géographiques sont les mêmes que pour l'élagage du classement. Pour en savoir plus, consultez cette section.
Les règles de classement par ordre Z peuvent être fournies sous forme de chaîne ou de liste de chaînes, où un nom de propriété et le sens de tri souhaité sont séparés par un espace:
// String input format for setting z-order ranking based on 3 rules.
'my-property DESC, .geometryType ASC, .minZoomLevel ASC'
// List of strings input format for setting z-order ranking based on 3 rules.
['my-property DESC', '.geometryType ASC', '.minZoomLevel ASC']
Les règles ci-dessus spécifient que les éléments géographiques associés à une valeur "my-property" plus élevée doivent apparaître sous ceux associés à une valeur plus faible, que les éléments géographiques associés à un type de géométrie plus petit doivent apparaître sous ceux associés à un type de géométrie plus grand (par exemple, les points sous les lignes et les lignes sous les polygones), et que les éléments géographiques associés à un niveau de zoom minimal plus faible (éléments géographiques plus grands) doivent apparaître sous ceux associés à un niveau de zoom minimal plus élevé (éléments géographiques plus petits).
Le tableau suivant montre comment la modification de la règle zOrderRanking
pour une propriété "taille" affecte les éléments qui apparaissent devant d'autres lorsqu'ils se chevauchent. Dans la première ligne, les éléments sont triés par taille, par ordre décroissant. Cela signifie que les éléments de plus grande taille doivent apparaître sous les éléments de plus petite taille (les éléments de plus grande taille sont dessinés en premier). À l'inverse, dans la deuxième ligne, les éléments sont triés par taille dans l'ordre croissant, ce qui signifie que les éléments de plus petite taille doivent apparaître sous les éléments de plus grande taille (les éléments de plus petite taille sont dessinés en premier).
Les éléments cartographiques avec un |
Les éléments avec un |