Suite

Comment partitionner par programmation un grand polygone en parties plus petites dans un seuil de zone donné ?


Je recherche une bibliothèque Java, ou même un algorithme pour effectuer les opérations suivantes :

J'ai un grand polygone, de la taille d'une grande ville. Je dois le décomposer en polygones plus petits tels que :

  • La superficie de chaque partie est inférieure à 1 km². (Ce seuil doit être un paramètre de l'algorithme ou de la fonction)

  • Chaque partie doit avoir 3 côtés ou plus.

  • La pièce n'a pas besoin d'être un polygone régulier.

  • Chaque polygone peut avoir une zone différente.

  • Ces polygones doivent couvrir l'intégralité du polygone source.

  • La solution doit minimiser le nombre de polygones.

Comment partitionner le polygone de cette manière ?


Vous pourriez peut-être commencer avec JTS et utiliser d'abord RandomPointsInPolygon et créer ensuite VoronoiDiagram à partir de cet ensemble de points. Créez beaucoup de polygones et unissez le plus petit avec son voisin et bouclez jusqu'à ce que vous soyez satisfait. Mais comme les points de la première étape sont aléatoires, il est toujours possible que certains des polygones de Voronoi soient plus grands que la limite de 1 km². Peut-être qu'une autre fonction JTS dans la catégorie CreateRandomShape serait un meilleur point de départ. Avec RandomPointsInGrid il est possible de définir une grille et de garantir que la densité des points initiaux est suffisamment élevée mais cette fonction ne semble pas prendre un polygone en entrée. Quoi qu'il en soit, j'ai le sentiment que vous pouvez faire ce que vous voulez avec JTS. Il sera intéressant de voir votre solution.

Voir également:

http://lin-ear-th-inking.blogspot.fi/2010/05/random-points-in-polygon-in-jts.html

http://lin-ear-th-inking.blogspot.fi/2009/04/delaunay-triangulation-in-jts-111.html

http://lin-ear-th-inking.blogspot.fi/2009/05/voronoi-diagrams-in-jts-111.html


Un cadre de clustering et d'analyse basé sur des polygones pour l'exploration de jeux de données spatiales

Les polygones fournissent des représentations naturelles pour de nombreux types d'objets géospatiaux, tels que les pays, les bâtiments et les points chauds de pollution. Ainsi, les techniques d'exploration de données basées sur des polygones sont particulièrement utiles pour l'exploration de jeux de données géospatiales. Dans cet article, nous proposons un cadre de regroupement et d'analyse basé sur des polygones pour l'exploration de plusieurs ensembles de données géospatiales qui ont des relations intrinsèquement cachées. Dans ce cadre, les polygones sont d'abord générés à partir de plusieurs jeux de données de points géospatiaux en utilisant un algorithme de contour basé sur la densité appelé DCONTOUR. Ensuite, un algorithme de regroupement basé sur la densité appelé Poly-SNN avec de nouvelles fonctions de dissemblance est utilisé pour regrouper des polygones afin de créer des méta-clusters de polygones. Enfin, des techniques d'analyse post-traitement sont proposées pour extraire des modèles intéressants et des connaissances résumées guidées par l'utilisateur à partir de méta-clusters. Ces techniques utilisent des fonctions de récompense de plug-in qui capturent la notion d'intérêt d'un expert du domaine pour guider l'extraction de connaissances à partir de méta-clusters. L'efficacité de notre cadre est testée dans une étude de cas du monde réel impliquant des événements de pollution à l'ozone au Texas. Les résultats expérimentaux montrent que notre cadre peut révéler des relations intéressantes entre différents points chauds d'ozone représentés par des polygones, il peut également identifier des relations cachées intéressantes entre les points chauds d'ozone et plusieurs variables météorologiques, telles que la température extérieure, le rayonnement solaire et la vitesse du vent.

Ceci est un aperçu du contenu de l'abonnement, accessible via votre institution.


Diviser un rectangle en une grille de rectangles/carrés

J'écris un programme dans lequel j'ai besoin de diviser un grand rectangle en petits morceaux, aucune contrainte d'être exactement de la même taille ou exactement un rectangle (ils peuvent aussi être un carré) et même s'ils dépassent un peu du plus grand rectangle, tout ira bien. Je sais comment diviser un rectangle en un certain nombre de rectangles, mais ma situation actuelle rend difficile la visualisation en combien de rectangles dois-je le diviser.

Permettez-moi d'expliquer le scénario - on m'a donné un grand rectangle avec n nombre de points uniformément répartis à l'intérieur et je dois faire des rectangles plus petits pour que chaque rectangle ait

10^3-10^4 points dedans. Le n peut varier facilement de 10^5 à 10^8 et même au-dessus. Mon idée est de regrouper ces points dans des rectangles plus petits afin que je n'aie pas à comparer tous les points de manière linéaire et à comparer simplement leurs rectangles englobants à la figure géométrique. Donc, dans le cas précédent, je comparerais des millions de points pour chaque figure géométrique, maintenant je comparerais beaucoup moins de rectangles englobants.

Pour l'instant, j'ai codé en dur les valeurs, par exemple. 1000 rectangles plus petits pour 10^6 nombre de points et comme ça pour 10^7 et 10^8. Mais cela présente l'inconvénient qu'au lieu de calculer pour une plage continue, je code en dur pour une plage discrète qui ne fonctionne pas pour un nombre de 5 000 000 de points ou autre au milieu. De plus, ils sont généralement transformés en fines lanières, ce qui les rend très difficiles à insérer complètement dans la forme géométrique avec laquelle je compare.

J'espère que je l'ai expliqué clairement, mais je vais fournir un TLDR

Étant donné un rectangle avec n nombre de points uniformément répartis à l'intérieur, divisez ce rectangle en petits rectangles avec 10^3-10^4 nombre de points dans chacun d'eux.

De plus, la solution naïve comme la division en bandes très minces ne fonctionne pas pour moi car alors la plupart des bandes ne se coupent qu'avec la figure géométrique plutôt que de s'y intégrer complètement, il serait préférable qu'un algorithme/une fonction fasse un peu des boîtes uniformes sur les deux axes.


2 réponses 2

Je suppose que les polygones sont des quads et que vous souhaitez maximiser la surface renvoyée pour un nombre minimal de photos, car vous obtiendrez ainsi plus de surface pour le même coût, ce qui pourra être utilisé à l'avenir.

Ceci est juste une réflexion sur la solution.

Pour chaque partie d'intersection de polygone, stockez la liste des polygones de couverture qui contiennent cette partie d'intersection. Dans votre exemple, il y a

30 pièces d'intersection. Certains d'entre eux sont des quads, d'autres en forme de L.

Pour le polygone de requête, recherchez toutes les parties d'intersection que le polygone contient ou croise. Avec cela, nous avons un ensemble de pièces d'intersection et pour chaque partie une liste de polygones de couverture. Comme:

Trouver un nombre minimal de c que l'union de listes est un ensemble complet d'ips est un problème de couverture.

Cette méthode trouve une solution optimale. Cela fonctionne avec des polygones généraux. Dans la version la plus simple, cela ne résout pas la maximisation de la zone.

Le problème est dans la mise en œuvre :-)

La première est la création d'une structure de données prenant en charge l'indexation par polygones. Pour cela, une structure de partition d'espace est nécessaire. L'insertion d'un nouveau polygone dans la structure de données signifie la création de nouvelles intersections avec des parties d'intersection déjà dans la structure. Je pense que le nombre de parties d'intersection à la fin sera un facteur constant par rapport au nombre de polygones de couverture. Si vous avez des quads régulièrement espacés, la couverture se compose de n*m ​​parties, où n et m sont probablement petits.

Le deuxième est le problème de couverture défini, il est NP-complet. J'espère que vous n'aurez pas trop de décors à couvrir.


4 réponses 4

Voici une approche qui devrait produire la solution globalement optimale (code ci-dessous) :

Après un certain prétraitement, les performances sont capables de fonctionner en temps réel, comme indiqué dans le gif. Le prétraitement doit être exécuté une fois pour chaque région, mais prend moins de 3 secondes sur ma machine pour la région en question.

La fonctionnalité est désormais disponible via la fonction de ressource ResourceFunction["RegionFindShortestPath"] . Nous pouvons l'utiliser dans ce cas comme (le code original de cette réponse se trouve en bas):


Contexte

La résolution spatiale des données géographiques a un impact très important sur les résultats de toute analyse spatiale. Eidlin [10] par exemple, a montré que New York City est l'endroit le plus dense des États-Unis si les limites des villes sont choisies comme unité d'analyse, alors que la sélection par zones métropolitaines, en revanche, attribuerait ce titre à Los Angeles. Ce problème a été qualifié par Openshaw [20] de problème d'unité de zone modifiable (MAUP), exprimant que les résultats des analyses spatiales sont influencés par la taille de la zone choisie. De même, changer le système de zones dans la modélisation des transports nécessite un recalibrage complet du modèle. Les zones doivent être suffisamment petites pour réduire le nombre de déplacements intrazonaux [7, 9], mais suffisamment grandes pour minimiser le nombre de zones et maintenir les temps d'exécution du modèle courts. Spiekermann et Wegner [23] notent que la sélection de la taille de zone appropriée est contextuelle, tandis que d'autres la décrivent comme plus artistique que technique [13, 16]. Le plus souvent, les systèmes de zones ont été définis par les autorités locales il y a des décennies et sont adoptés pour toute analyse spatiale [14, 21]. Changer un système de zones ou en créer un nouveau demande beaucoup de travail et est donc rarement fait [8].

Chaque fois qu'un système de zones est créé à partir de zéro, il faut traditionnellement du travail manuel pour décider quels quartiers doivent former une zone, quelles rues, rivières ou autres caractéristiques géographiques doivent servir de limites entre les zones et quelle doit être la taille des zones. Étant un processus manuel, il est extrêmement improbable que la résolution spatiale relative soit proportionnelle dans différentes parties de la zone d'étude. D'autres approches ont utilisé des cellules raster uniformes pour couvrir toute la zone d'étude [5, 6]. Alors que les cellules raster régulières sont très efficaces pour certaines analyses spatiales, y compris les automates cellulaires, elles sont inefficaces pour la modélisation du transport et d'autres analyses gourmandes en calcul traitant des interactions zonales complexes [4, 5]. En revanche, les zones devraient être plus grandes là où il y a moins d'activité et plus petites là où il y a plus d'activité. De cette façon, la plupart des ressources sont allouées aux domaines qui méritent le plus d'attention de la part de l'analyste.

Dans certains cas, les zones ont été définies par parcelles individuelles [22, 24, 26]. Bien que les données au niveau des parcelles soient très utiles pour de nombreuses visualisations, aucun modèle de transport ou d'utilisation des terres pour les grandes zones d'étude métropolitaines n'est connu pour être pleinement opérationnel. Le grand nombre de parcelles rend impossible l'exécution efficace de simulations complexes.

Pour tenter de surmonter ces problèmes, Moeckel et Donnelly [18] ont créé un outil pour générer un système de zone automatisé pour le modèle de l'État de Géorgie. L'outil a appliqué l'algorithme quadtree et a subdivisé à plusieurs reprises des cellules raster plus grandes en quatre cellules raster plus petites, jusqu'à ce que chaque cellule raster ait une population ne dépassant pas 5 000 ménages. L'outil a créé des cellules raster plus petites dans les zones urbaines et des cellules raster plus grandes dans les zones rurales, et il a été utilisé avec succès pour un modèle de transport. Cependant, les cellules raster ignoraient les limites juridictionnelles, telles que les limites des villes, des comtés et des États. Cette lacune n'a pas permis d'allouer correctement les données sociodémographiques, toujours données par juridiction, aux cellules raster. De plus, l'algorithme a conduit à certaines cellules raster dominées par de grandes étendues d'eau, ou sans population du tout, ajoutant des exigences de calcul inutiles aux analyses ultérieures. Alors que l'algorithme quadtree est toujours appliqué au cœur de la recherche présentée ici, de nouvelles fonctionnalités ont été développées pour remédier à ces lacunes. L'utilisation des terres est désormais prise en compte lors de la désagrégation de la population et de l'emploi, et les limites municipales sont respectées pour faciliter la désagrégation des données et le développement de modèles hiérarchiques. Enfin, une approche automatisée est mise en œuvre pour identifier le paramètre de seuil requis pour l'algorithme.

Les approches de zonage sont souvent exclusives et varient considérablement. Avec chaque projet en utilisant différentes méthodes manuelles ou techniques qui ont été développées en interne. Ce travail présente un pas en avant vers une approche plus ouverte de l'analyse de zonage. L'algorithme est simple à comprendre et hautement automatisé. Pourtant, il est configurable et peut être appliqué en utilisant uniquement des données ouvertes et aucune bibliothèque ou logiciel commercial tel qu'ArcGIS. Nos méthodes sont conçues pour être utilisées avec toutes les données dont dispose l'analyste. En tant qu'exigence générale, les données ouvertes doivent respecter la vie privée des individus et sont souvent agrégées au niveau municipal ou supérieur. En tant que tels, les systèmes de zonage qui respectent les limites administratives aideront l'analyste à travailler avec les données ouvertes. Bien que les données utilisées dans cette analyse ne soient pas des données ouvertes, il convient de noter que l'ouverture des données municipales telles que la population, l'emploi et l'utilisation des terres varie dans le monde et est au minimum souvent disponible gratuitement auprès des autorités statistiques compétentes pour usage non commercial. Le code est open source et disponible sur https://github.com/msmobility/silo_zoneSystem.

Le papier se déroule comme suit. La section « Revue de la littérature » ​​couvre le problème MAUP, ses implications pour la conception du système de zones et passe en revue la méthode précédemment développée. La section « Méthodes » décrit l'algorithme et ses fonctionnalités. La section « Application » présente la création d'un système de zones pour la zone métropolitaine de Munich en utilisant notre approche. La section « Discussion » examine les avantages et les inconvénients de la méthode, et la section « Conclusion » conclut.

Revue de littérature

La grande variété d'approches dans la littérature concernant la conception de systèmes de zones est un hommage à la complexité et à l'importance du processus. Moekcel et Donnelly [18] notent que les systèmes de zones utilisés pour les analyses spatiales et la modélisation spatiale ont des exigences différentes. Alors que l'analyse nécessite uniquement que les zones représentent avec précision les données statistiques dans un sens spatial, les systèmes de zones pour la modélisation doivent également éviter les zones de formes étranges, telles que les beignets et les fers à cheval. Openshaw [19] a proposé la procédure de zonage automatique (AZP), une approche basée sur des règles pour agréger de manière itérative des zones plus petites pour s'adapter au mieux à certaines mesures statistiques. Finalement, cette approche a été informatisée à l'aide d'un logiciel SIG, étendant son applicabilité à des milliers de zones [21].

Une autre approche automatisée pour mettre à jour les systèmes de zones existants a été élaborée par Cockings et al. [8], qui a divisé les zones à population croissante et a fusionné celles où la population était en déclin. Batty [3] a développé une procédure qui définit un système de zones pour maximiser l'entropie sociale. Basée sur le concept d'entropie de la thermodynamique, l'entropie spatiale est définie comme la distribution de données spatiales sur une zone de telle sorte que le contenu de l'information ne puisse pas être augmenté.

De tels systèmes automatisés de zones d'analyse spatiale ne sont pas adaptés à la modélisation spatiale en raison des zones de forme irrégulière qu'ils produisent. La forme de la zone est particulièrement importante dans les modèles de transport, car les origines et les destinations des trajets sont calculées à l'aide du centroïde de la zone. Dans certains cas, tels que les beignets et les zones en forme de fer à cheval, le centroïde peut se situer en dehors de la zone. Par conséquent, les systèmes de zones doivent être spécifiquement conçus pour la modélisation spatiale.

Dans une veine similaire à l'identification du problème MAUP dans les analyses spatiales [20], plusieurs études ont montré l'impact de la conception du système de zones sur les résultats de la modélisation spatiale [7, 15, 25]. Viegas, Martinez et Silva [25] ont étudié MAUP dans la modélisation spatiale en analysant l'impact sur les déplacements intrazonaux et les zones de zéro-déclenchement de diverses résolutions de système de zones. Lovelace, Ballas et Watson [15] ont étudié les déplacements domicile-travail et ont confirmé que des zones plus petites amélioraient l'ajustement du modèle aux données observées. Ces études suggèrent que les systèmes de zones devraient être adaptés à des cas d'utilisation spécifiques dans la modélisation spatiale. Cependant, ce n'est généralement pas le cas, principalement en raison du temps et du coût requis pour réviser les systèmes de zones existants et les repeupler avec des données socio-économiques.

Une approche particulièrement intéressante a été présentée par Hagen-Zanker et Jin [12], appelée zonage adaptatif. Pour chaque zone d'origine, les zones de destination sont agrégées en fonction de leur distance par rapport à l'origine. Par conséquent, une carte distincte est créée pour chaque origine, les zones de destination proches étant petites et les plus éloignées plus grandes. Ils ont testé la méthode sur un modèle de navettage en Angleterre et ont trouvé que les résultats étaient équivalents au modèle conventionnel, malgré une réduction du nombre de paires de zones de 96 % et du temps de calcul de 70 %.

L'introduction des systèmes informatiques a rendu l'utilisation des cellules raster attrayante dans la modélisation spatiale. Ils sont de forme homogène, faciles à traiter géométriquement et ont des relations simples avec leurs cellules adjacentes. Les approches utilisant des automates cellulaires pour modéliser l'utilisation des terres [5] et la croissance urbaine [1] ont représenté des emplacements en utilisant des cellules raster et leurs interactions avec les voisins adjacents. Moekcel [17] a également utilisé des cellules raster pour créer et comparer des modèles d'utilisation des terres utilisant des entreprises par rapport à ceux utilisant des employés.

Les approches utilisant des cellules raster présentent certains défis clés. Premièrement, les données socio-économiques doivent être ventilées avec précision dans ces cellules raster. Spiekermann et Wegner [23] ont présenté une solution. Dans le cadre de la méthodologie de désagrégation des systèmes de zones, ils ont généré des probabilités de population et d'emploi pour chaque cellule raster sur la base des données d'utilisation des terres disponibles à la taille de la plus petite cellule raster. Un échantillonnage de Monte-Carlo avec ces probabilités a ensuite été utilisé pour allouer des données socio-économiques à ces cellules raster.

Lors de la création d'une matrice Origine-Destination pour la modélisation du transport, chaque cellule doit non seulement interagir avec ses voisines adjacentes, mais également avec toutes les autres zones. Si le nombre de cellules nécessaires pour couvrir une zone d'étude à la résolution nécessaire dans un système de zones de cellules raster est très grand, le nombre d'interactions entre les cellules non adjacentes rend le modèle informatiquement infaisable. Moeckel et Donnelly [18] ont proposé une méthode de rastérisation progressive pour conserver les avantages des cellules raster, tout en réduisant le nombre de zones. Des cellules plus petites sont créées dans les zones métropolitaines denses et des cellules plus grandes dans les zones rurales. Ce faisant, ils ont pu définir par programme un système de zones de cellules raster adapté à la modélisation du transport.

Méthode précédemment développée

La méthode de rastérisation progressive pour créer un système de zonage a été proposée pour la première fois par Moeckel et Donelly [18] pour modéliser le trafic le long du corridor I-75 en Géorgie. Le modèle à l'échelle de l'État du GDOT (Georgia Department of Transportation) [2] a été utilisé pour analyser les améliorations des transports le long de l'I-75 d'Atlanta, en Géorgie, à Chattanooga, au Tennessee. Il a été constaté que le long de la section de l'I-75 dans la région métropolitaine d'Atlanta, la demande de voyages était considérablement surestimée par le modèle. Une enquête plus approfondie a montré qu'une augmentation de la résolution géographique au sein d'Atlanta améliorait les résultats, suggérant qu'une résolution spatiale plus élevée dans les zones urbaines était nécessaire. Pour ce faire, les auteurs ont proposé leur méthode de rastérisation progressive pour améliorer le détail spatial dans les zones plus denses tout en évitant une augmentation exponentielle de la taille de la table de trajet.

La zone d'étude a été tramée dans les plus petites cellules raster à considérer. Un carré couvrant la Géorgie a été tramé en 4096 x 4096 cellules raster. Le nombre de cellules doit être une puissance de deux pour que l'algorithme quadtree fonctionne. Les données de population ont ensuite été désagrégées dans ce raster. La population et l'emploi ont été répartis proportionnellement à chaque cellule en fonction du pourcentage de superficie des différentes zones d'intersection.

L'algorithme quadtree a créé les cellules raster graduelles. L'algorithme a commencé avec une grande cellule couvrant toute la zone d'étude. Si la somme de la population et de l'emploi de cette cellule dépassait le seuil spécifié, la cellule était divisée en 4 cellules de taille égale. Cela a été répété de manière récursive pour les nouvelles cellules jusqu'à ce que la population de chaque cellule soit inférieure au seuil ou que la cellule ait la taille de cellule raster minimale. De cette façon, le nombre de zones a été réduit en ayant de nombreuses cellules plus petites dans les zones à forte population et moins de cellules plus grandes ailleurs. Moeckel et Donnelly ont basé cette décision sur une règle proposée par Flowerdew, Feng et Manley [11], selon laquelle les zones à travers une zone d'étude devraient avoir un nombre similaire de ménages. Le seuil devait être spécifié manuellement.

L'approche de Moeckel et Donnelly a considérablement amélioré les résultats du modèle. Par essais et erreurs, il a été constaté qu'un seuil de 5 000 unités de population et d'emplois résultait en un système de zones approprié comprenant près de 5 000 zones. Ils ont trouvé remarquable que la validation globale du modèle n'ait été améliorée que par des modifications de la résolution spatiale de l'étape d'affectation, sans modification de la conception du modèle. La rastérisation progressive a conservé à peu près le même nombre de zones dans les zones rurales, où le modèle GDOT a bien fonctionné, mais a ajouté des zones aux zones où le modèle GDOT a sous-performé dans les zones urbaines. Ils ont noté que si ce processus aurait pu être effectué manuellement, il aurait risqué d'introduire des incohérences dans la résolution spatiale. Une rastérisation directe, au lieu d'une graduelle, vers la grille de la plus petite taille de cellule aurait abouti à 4 millions de cellules. Avec autant de cellules raster, la création de tables de trajet et leur affectation seraient devenues impossibles.

Objectifs

L'algorithme de Moeckel et Donnelly a quelques limitations énumérées ci-dessous. Dans les sections suivantes de ce document, des solutions à ces lacunes sont proposées.

Les cellules raster peuvent chevaucher plusieurs juridictions, résultant en un système de zones « secondaires » qui n'est pas imbriqué dans l'ensemble original de zones ou de municipalités. Ce manque de hiérarchie introduit une complexité et des erreurs supplémentaires lors de l'attribution des données socio-économiques ou des fins de trajet aux cellules raster.

La population et l'emploi sont répartis dans les cellules raster par le pourcentage de superficie des zones qui se chevauchent. Cela suppose de manière irréaliste que les données socio-économiques telles que la population et l'emploi sont uniformément réparties dans les zones ou les municipalités.

Le processus d'identification d'un seuil de population et d'emploi qui aboutit à la résolution spatiale et au nombre de zones souhaités était un processus manuel d'essais et d'erreurs.

Chaque zone qui dépasse une valeur seuil est divisée en quatre cellules de taille égale. Si la population n'était présente que dans un coin de cette zone, trois des quatre cellules raster nouvellement créées n'auraient aucune population. Ainsi, les ressources sont allouées de manière inefficace dans une certaine mesure.


7 réponses 7

La solution de premier passage rapide et sale est toujours une bonne solution pour commencer, à titre de comparaison si rien d'autre.

Placement gourmand du grand au petit.

Mettez le plus grand rectangle restant dans votre zone emballée. S'il ne peut tenir nulle part, placez-le dans un endroit qui étend le moins possible la région du sac. Répétez jusqu'à ce que vous ayez fini avec le plus petit rectangle.

Ce n'est pas parfait du tout mais c'est facile et une belle ligne de base. Cela emballerait toujours parfaitement votre exemple d'origine et vous donnerait également une réponse équivalente pour le second.

Voir cette page sur le projet ARC pour un aperçu des solutions, il y a un compromis entre la complexité/temps de mise en œuvre et l'optimalité, mais il existe un large éventail d'algorithmes parmi lesquels choisir.

Voici un extrait des algorithmes :

Algorithme de hauteur décroissante de premier ajustement (FFDH)
FFDH emballe l'article suivant R (en hauteur non croissante) au premier niveau où R s'adapte. Si aucun niveau ne peut accueillir R, un nouveau niveau est créé.
Complexité temporelle de FFDH : O(n·log n).
Ratio d'approximation : FFDH(I)<=(17/10)·OPT(I)+1 la borne asymptotique de 17/10 est serrée.

Algorithme de hauteur décroissante Next-Fit (NFDH)
NFDH emballe l'élément suivant R (en hauteur non croissante) au niveau actuel si R convient. Sinon, le niveau actuel est "fermé" et un nouveau niveau est créé.
Complexité temporelle : O(n·log n).
Ratio d'approximation : NFDH(I) <= 2·OPT(I)+1 la borne asymptotique de 2 est étroite.

Algorithme de hauteur décroissante Best-Fit (BFDH)
BFDH emballe l'élément suivant R (en hauteur non croissante) au niveau, parmi ceux pouvant accueillir R, pour lesquels l'espace horizontal résiduel est le minimum. Si aucun niveau ne peut accueillir R, un nouveau niveau est créé.

Algorithme en bas à gauche (BL)
Articles de premier ordre BL par largeur non croissante. BL emballe l'article suivant aussi près du bas que possible, puis aussi près de la gauche que possible sans chevaucher avec aucun article emballé. Notez que BL n'est pas un algorithme d'emballage orienté niveau.
Complexité temporelle : O(n^2).
Rapport d'approximation : BL(I) <= 3·OPT(I).

Algorithme de Baker Up-Down (UD)
UD utilise une combinaison de BL et une généralisation de NFDH. La largeur de la bande et les articles sont normalisés pour que la bande soit de largeur unitaire. UD classe les articles en largeur non croissante, puis divise les articles en cinq groupes, chacun avec une largeur comprise dans la plage (1/2, 1], (1/3,1/2], (1/4,1/3 ], (1/5,1/4], (0,1/5]. La bande est également divisée en cinq régions R1, ··· , R5. Fondamentalement, certains éléments de largeur dans la plage (1/i+ 1, 1/i], pour 1 <= i <= 4, sont emballés dans la région Ri par BL. Puisque BL laisse un espace de largeur croissante de haut en bas sur le côté droit de la bande, UD profite de cet avantage en premier emballer l'article à Rj pour j = 1, ··· , 4 (dans l'ordre) de haut en bas. S'il n'y a pas un tel espace, l'article est emballé à Ri par BL. Enfin, les articles de taille au plus 1/5 sont emballés dans les espaces de R1, ··· , R4 par l'algorithme NFDH (généralisé). Là encore, s'il n'y a pas d'espace dans ces régions, l'article est emballé dans R5 en utilisant NFDH.
Ratio d'approximation : UD(I) <= (5/4) · OPT(I)+(53/8)H, où H est la hauteur maximale des éléments dont la limite asymptotique de 5/4 est étroite.

Algorithme d'ajustement inversé (RF)
RF normalise également la largeur de la bande et des articles pour que la bande soit de largeur unitaire. RF empile d'abord tous les éléments de largeur supérieure à 1/2. Les articles restants sont triés en hauteur non croissante et seront emballés au-dessus de la hauteur H0 atteinte par ceux supérieurs à 1/2. RF répète ensuite le processus suivant. En gros, RF emballe les articles de gauche à droite avec leur bas le long de la ligne de hauteur H0 jusqu'à ce qu'il n'y ait plus de place. Emballe ensuite les articles de droite à gauche et de haut en bas (appelé niveau inversé) jusqu'à ce que la largeur totale soit d'au moins 1/2. Ensuite, le niveau inverse est descendu jusqu'à ce que (au moins) l'un d'entre eux touche un élément ci-dessous. La liste déroulante est en quelque sorte répétée.
Rapport d'approximation : RF(I) <= 2·OPT(I).

L'algorithme de Steinberg
L'algorithme de Steinberg, noté M dans l'article, estime une limite supérieure de la hauteur H requise pour emballer tous les éléments de telle sorte qu'il est prouvé que les éléments d'entrée peuvent être emballés dans un rectangle de largeur W et de hauteur H. Ils définissent alors sept procédures (avec sept conditions), chacune pour diviser un problème en deux plus petits et les résoudre de manière récursive. Il a été démontré que tout problème traitable satisfait l'une des sept conditions.
Rapport d'approximation : M(I) <= 2·OPT(I).

Algorithme Split-Fit (SF) SF divise les éléments en deux groupes, L1 avec une largeur supérieure à 1/2 et L2 au plus 1/2. Tous les articles de L1 sont d'abord emballés par FFDH. Ensuite, ils sont disposés de manière à ce que tous les éléments d'une largeur supérieure aux 2/3 soient inférieurs à ceux d'une largeur maximale de 2/3. Cela crée un rectangle R d'espace avec une largeur de 1/3. Les articles restants dans L2 sont ensuite emballés dans R et l'espace au-dessus de ceux emballés avec L1 en utilisant FFDH. Les niveaux créés dans R sont considérés comme inférieurs à ceux créés au-dessus du tassement de L1.
Ratio d'approximation : SF(I) <= (3/2) ·OPT(I) + 2 la borne asymptotique de 3/2 est étroite.

Algorithme de Sleator
L'algorithme de Sleater se compose de quatre étapes :

Tous les articles de largeur supérieure à 1/2 sont emballés les uns sur les autres dans le bas de la bande. Supposons que h0 soit la hauteur du tassement résultant. Tout tassement ultérieur se produira au-dessus de h0.

Les articles restants sont classés par hauteur non croissante. Un niveau d'articles est emballé (dans un ordre de hauteur non croissant) de gauche à droite le long de la ligne de hauteur h0.

Une ligne verticale est ensuite tracée au milieu pour couper la bande en deux moitiés égales (notez que cette ligne peut couper un article qui est partiellement emballé dans la moitié droite). Tracez deux segments de ligne horizontale d'une moitié de longueur, l'un traversant la moitié gauche (appelée ligne de base gauche) et l'autre traversant la moitié droite (appelée ligne de base droite) aussi bas que possible de sorte que les deux lignes ne croisent aucun élément.

Choisissez la ligne de base gauche ou droite qui est d'une hauteur inférieure et emballez un niveau d'articles dans la moitié correspondante de la bande jusqu'à ce que l'article suivant soit trop large.

Une nouvelle ligne de base est formée et l'étape (4) est répétée sur la ligne de base inférieure jusqu'à ce que tous les articles soient emballés.
Complexité temporelle : O(n ·log n).
Le rapport d'approximation de l'algorithme de Sleator est de 2,5, ce qui est serré.


Minage de colocation parallèle avec les systèmes MapReduce et NoSQL

Avec la croissance rapide des données géoréférencées, des méthodes de traitement et d'analyse de données à grande échelle sont nécessaires pour les mégadonnées spatiales. L'exploration de modèles de colocalisation spatiale est un problème intéressant et important dans le domaine de l'exploration de données spatiales qui découvre les sous-ensembles d'entités dont les objets sont fréquemment situés ensemble à proximité géographique. Il existe plusieurs travaux pour traiter efficacement la découverte de modèles de colocalisation, mais ils peuvent être insuffisants pour des données spatiales denses et volumineuses, car la tâche d'exploration prend beaucoup de temps de traitement et de mémoire. Dans ce travail, nous avons tiré parti de la puissance d'une plate-forme informatique distribuée moderne, Hadoop, et développé un algorithme (appelé ParColoc) pour l'exploration de colocation parallèle sur le framework MapReduce. Cette étude a exploré les problèmes liés à la conception de l'algorithme d'exploration de co-localisation parallèle et les a résolus en adoptant une technique de dégroupage spatial et un système NoSQL. Nous avons mené une évaluation expérimentale avec des données du monde réel et des données synthétiques pour examiner l'efficacité des méthodes proposées. Le résultat de l'expérience montre que ParColoc est une méthode prometteuse pour l'exploration de colocation parallèle dans un environnement de cloud computing.

Ceci est un aperçu du contenu de l'abonnement, accessible via votre institution.


Géométrie de calcul évolutive dans MapReduce

Hadoop, qui utilise le paradigme de programmation MapReduce, a été largement accepté comme cadre standard pour l'analyse du Big Data dans des environnements distribués. Malheureusement, ce cadre riche n'a pas été exploité pour le traitement d'opérations de géométrie computationnelle à grande échelle. Cet article présente CG_Hadoop une suite d'algorithmes MapReduce évolutifs et efficaces pour diverses opérations de géométrie computationnelle fondamentales, à savoir union de polygones, Diagramme de Voronoï, horizon, enveloppe convexe, paire la plus éloignée, et paire la plus proche, qui présentent un ensemble de composants clés pour d'autres algorithmes géométriques. Pour chaque opération de géométrie de calcul, CG_Hadoop a deux versions, une pour le système Apache Hadoop et une pour le système SpatialHadoop, un système basé sur Hadoop qui est plus adapté aux opérations spatiales. Ces algorithmes proposés forment le noyau d'une bibliothèque MapReduce complète d'opérations de géométrie computationnelle. Des résultats expérimentaux approfondis exécutés sur un cluster de 25 machines sur des ensembles de données d'une taille allant jusqu'à 3,8 milliards d'enregistrements montrent que CG_Hadoop atteint des performances jusqu'à 14 fois et 115 fois supérieures à celles des algorithmes traditionnels lors de l'utilisation des systèmes Hadoop et SpatialHadoop, respectivement.

Ceci est un aperçu du contenu de l'abonnement, accessible via votre institution.


Discussion

La précision du modèle a augmenté avec des échantillons de plus grande taille pour toutes les méthodes de modélisation parmi les 18 taxons californiens testés. Néanmoins, des modèles utiles ont été produits avec seulement 5 à 10 observations positives, et les modèles produits avec 50 observations étaient similaires à ceux créés avec deux fois plus d'emplacements. Ce résultat, ainsi que l'indication que les espèces écologiquement spécialisées sont plus faciles à modéliser que les espèces à large distribution, est particulièrement encourageant pour la modélisation des espèces rares. Also, given that distribution modeling can be used for a variety of different objectives ranging from guiding future exploration of a species range to creating an accurate model for conservation planning, models built with few points, while not as accurate as those built with large datasets and potentially not appropriate for all applications, are still useful. Our results increase the relevance of data housed in museum or herbarium collections, or similar databases such as those maintained by NatureServe and its network of natural heritage programs ( Stein et al. 2000 , Graham et al. 2004 ). As such occurrence databases become more widely available, thereby making species distribution modeling more accessible to conservation planners, research such as that presented in this paper is imperative to guide modelers.

Maxent had the strongest performance of the methods tested here because it performed well and remained fairly stable in both prediction accuracy and the total area predicted present across all sample size categories. Further, it often had the highest accuracy and spatial concordance, especially for the two smallest sample size categories. These results indicate that Maxent can somewhat compensate for incomplete, small species occurrence data sets and perform near maximal accuracy level in these conditions. The success of Maxent is likely due to its regularization procedure that counteracts a tendency to over-fit models when using few species occurrences ( Phillips et al. 2006 ). Our results support those obtained by Elith et al. (2006) who also found that Maxent was one of the strongest performers in a large model comparison study.

In contrast, Bioclim does not appear to be capable of maximizing its accuracy potential with small sample sizes and did not perform as well as the other modeling methods using the datasets of larger samples. For these reasons we would not suggest its use when modeling with small numbers of species observations. It is interesting to remark that Bioclim did attain relatively high concordance at the larger sample size categories when spatially compared to models generated with all 150-occurrences. This result is not surprising given that the Bioclim algorithm does not extrapolate beyond the bounds of the environmental conditions at known locations of occurrence. As additional observations are included in the development of the Bioclim model, the envelope defining the environmental conditions at known occurrences will by default expand from defining a small portion of the species’ full environmental envelope (here developed with all 150-occurrences) towards defining a larger portion of that full envelope.

In some respects Domain and GARP performed fairly similarly, achieving relatively high prediction accuracy values at large sample size categories with low prediction success and spatial concordance at small sample sizes. However, the two evaluation measures of prediction accuracy (AUC and prediction success) revealed conflicting assessments of GARP's performance. The AUC evaluation indicated that GARP models reached near maximum accuracy (ca 10% lower AUC than the full model AUC) when using sample sizes of 10 observations, a result that is supported by Stockwell and Peterson (2002) , but when evaluating the models using prediction success, the maximum accuracy was reached at the 75-sample size category. The inconsistent assessment of model prediction accuracy supports the necessity to evaluate models with multiple evaluation metrics. Specifically, metrics such as prediction success should be reviewed with caution when not accompanied with total suitable area predicted. GARP had the largest prediction success values for the larger sample size categories but predicted a spatial area that far exceeds the other three modeling methods, thereby increasing its chances of correctly classifying positive occurrences but as a result most likely increasing its commission error rate as well. Manel et al. (2001) also cautioned against basing evaluations of presence-absence model performance solely on prediction success.

All things considered we interpret our results to indicate that overall Domain performed better than GARP because Domain had higher AUC values for all sample size categories. The AUC of a ROC plot generated with presence and background data evaluates a model based on its prediction success but also penalizes it for predicting proportionately larger spatial areas ( Phillips et al. 2006 ), thereby evaluating both omission and commission errors simultaneously. Hence, the low AUC values obtained by GARP at low sample size categories likely reflect commission error, while the Domain models appear to have less commission error. Further, the threshold selection strategy most likely artificially decreased Domain's prediction potential for the smaller sample size categories as assessed by both the prediction success and spatial comparison evaluations. Since Domain derives a point-to-point distance for each pixel based on its proximity in environmental space to the most similar occurrence, it follows that when models are built with fewer occurrences this distance will be greater.

We confirm the results of other researchers that the ecological characteristics of model species affect model accuracy potential, where species widespread in both geographic and environmental space are generally more difficult to model than species with compact spatial distributions ( Araujo and Williams 2000 , Stockwell and Peterson 2002 , Thuiller et al. 2003 , Segurado and Araujo 2004 ). In all but one case (Table 3), significant relationships existed between model performance (AUC) and spatial extent of a species distribution, tolerance, and marginality. These relationships were consistent across all sample size treatments indicating that the ability to model species effectively is strongly influenced by species ecological characteristics independent of sample size. Tolerance generally had the highest correlation with AUC, indicating that environmental space occupied by a given species might be a better measure than geographic space occupied, although the kernel density estimator used to estimate the species’ spatial ranges likely overestimated the area occupied for some species creating artificial outliers. In particular the range size estimator undoubtedly overestimated the spatial range of the monarch butterfly (Danaus plexíppus, range size estimated as 105 874 km 2 , tolerance 1.64) a mostly coastal and patchily distributed wintering butterfly species.

In this study the species with the smallest geographic extent of occurrence and very low tolerance (small niche breadth), the California gnatcatcher Polioptila californica generally had the highest AUC and prediction success values, whereas the opposite was found for the western pond turtle Clemmys marmorata, which has the widest geographic range of the study species within California and a very high ecological tolerance. Our results provide support for the explanation offered by Stockwell and Peterson (2002) that local ecological adaptation by sub-populations is more likely to occur for widely distributed species resulting in different habitat preferences in discrete parts of the species’ range. In climatic modeling each sub-population would have a distinct climatic range in which it occurs and therefore when the species is modeled as a whole over its entire geographic range, the total climatic range encompasses climatic conditions not suitable for occupancy, thereby overestimating the species’ ecological climatic breadth. The fact that the models for the two species in this study that have considerable taxonomic confusion regarding their Californian distributions, the western pond turtle and the coast horned lizard Phrynosoma coronatum, performed poorly provides support to notion that local ecological adaptation results in a decrease in model accuracy. It would be interesting to partition the data for these two species based on the geographic boundaries of the proposed subspecies or genetic lineages to determine whether the resulting models do indeed result in an increase in model accuracy.

Other possible explanations for variation in model performance not related to geographic range size or ecological niche breadth are that some species are just not suited for climatic modeling and/or the spatial grain (pixel resolution) was inappropriate for modeling some taxa's distribution in the geographic study area of California. Models for the red-legged frog Rana aurora would likely have benefited from the inclusion of a variable describing the distribution pattern of introduced bullfrogs and the western pond turtle models may have been improved with a description of the amount of wetlands present within an area surrounding an occurrence. These are examples of cases where the climatic variables may be insufficient to model the species’ distribution and where important variables that either positively or negatively contributed to the observed spatial distribution pattern are missing from model formulation, thereby resulting in relatively poor predictive distribution models.

Of course, as with any comparative modeling method exercise, these results may differ in a new study area, at a different spatial scale (extent and/or grain), with varying qualities of model data (species and environmental), and for study species of different ecological characteristics. Our results clearly indicate that future studies should use multiple evaluation measures, because each measure provides only a portion of the elusive “truth” of the predictive ability of a species distribution model. Further, while we found that reasonable models could be generated with low sample sizes, we sub-sampled from a larger set of data and presumably obtained a relatively representative, albeit small, number of points. However, if decreasing sample size increases bias, which may be the case with data collected in an ad-hoc fashion, then models built with small samples may be quite poor. The fact that we could develop models with small samples for some species does not mean this will be possible for all species.

In general, practitioners should remember that models are simply an estimate of a species’ potential distribution. Species distribution modeling cannot replace fieldwork intended to collect more distributional data but can be a useful tool for data exploration to help identify potential knowledge gaps and provide direction to fieldwork design ( Engler et al. 2004 ). By carefully evaluating models and including both species characteristics and sample size in our analyses our results indicate considerable promise for modeling rare species. This result should encourage conservation practitioners to explore the use of distribution modeling across a variety of applications.

Subject Editor: Miguel Araújo.


Voir la vidéo: Monikulmion lävistäjien määrä (Octobre 2021).