Je me demande pourquoi les océans ne pourraient pas être découpés arbitrairement en cellules plus nombreuses juxtaposées en damier, pour ensuite réduire cette dépendance à une complexité de plus en plus exponentielle qu'on accroît la complexité des côtes. Ne peut-on pas envisager de limiter TOUS les polygones à une bounding-box maximale, découpée préférablement sur les limites des "quadtiles" ou limiter le nombre de noeuds qui les définit ? Avantage: une grande partie des mers serait stable, ultra simple (des carreaux, qu'on redivise seulement là où c'est nécessaire pour ne pas dépasser cette limite), sans pour autant augmenter drastiquement le nombre total de polygones pour dessiner de grande zones (comme la carte du monde). Cela devrait même être automatisé dans les éditeurs, en élaborant un nouveau type d'objet (pseudo-relation) groupant les éléments découpés dont tous les attributs sont communs (strictement aucun attribut sur ces découpes artificielles, maximisation et renforcement de l'option d'héritage pour ne plus jamais dupliquer les attributs et simplifier la collecte des découpes dans un objet collecteur). Et là je parle de la création d'un nouveau type d'objet "fragment", qui n'aura JAMAIS aucun autre attribut que la référence à l'objet parent (non-fragment) qui le référence en liste, de sorte que ces fragments sont librement réassemblables et optimisables sans jamais avoir à revoir le "tagging" porté uniquement et strictement dans l'objet principal collecteur (way fermé ou pas, ou relation multipolygone/multiline). Ces fragments n'aurait donc aucune autre propriété que leur géométrie "synthétique" découpée arbitrairement et que n'importe quel outil de dessin/rendu pourra regrouper librement avec les autres fragments par des opération purement géométriques simples (d'où des contraintes sur la géométrie des fragments: les lignes de découpe arbitraires devraient être de simples horizontales/verticales le long des "quadtiles", et on ne peut assembler les fragments que s'ils partagent un côté commun qui est sur une ligne de découpe du quadtile de niveau supérieur. Cependant on peut imaginer que cette transformation peut se faire sur le serveur de rendu sans que cela soit visible dans OSM, mais le faire dans OSM aurait l'avantage d'assurer que les découpes sont recalculées sur la base elle-même et maintenues de façon synchrone: on ne serait donc plus obligé de charger les objets entiers mais des fragments et c'est la base OSM qui s'occupe du réassemblage optimal. Au final on ne travaille alors plus au niveau global mais toujours localement sur des fragments homogènes et complets. La gestion des historiques s'en trouve simplifiée, le rendu aura mois de travail à faire. La question alors du découpage et du traitement spécial des océans est oublié: on pourra tout traiter localement sans chercher loin, les requêtes sont optimisées sur les quadtiles, on peut même avoir un rendu effaice à la demande et quasi instantané sans traitement complexe car toute la géométrie nécessaire est localisée. Et plus de problème d'accollement des tuiles rendues de façon complètement incohérente (même si là on devrait faire l'effort de mettre fin au rendu bitmap pour avoir des tuiles vectorielles partout, rendant obolètes les rendus PNG sur quelques gros serveurs surchargés et jamais à jour).
Le sam. 1 août 2020 à 17:38, Christian Quest <cqu...@openstreetmap.fr> a écrit : > Le 26/07/2020 à 23:53, Christian Quest a écrit : > > Moins de trafic aussi sur les serveurs de l'asso alors c'est le moment > > des chantiers ! > > Le chantier continue avec la remise à jour des limites terre/mer et > l'occupation des sols à petite échelle... > > > Limites terre/mer : > > Les natural=coastline mises bout à bout forment d'immenses polygones qui > sont nécessaires pour avoir la mer en bleu et la terre dans une couleur > claire par défaut. > > Ces polygones sont relativement coûteux à calculer, car composés de très > nombreux noeuds. Ils sont gigantesques car couvrant des continents entiers. > > Du coup, ils sont calculés de temps en temps et mis à disposition sur > https://osmdata.openstreetmap.de/ sous une forme découpée (oui, façon > puzzle) avec une version aux géométries simplifiées adaptée aux petites > échelles. > > Les derniers fichiers shapefile dataient de janvier et ils ont été remis > à jour hier. > > Pour le rendu FR, j'en ai profité pour changer la logique car depuis > toujours, on mettait un fond bleu par défaut et on dessinait les > continents par dessus. > > Or... on calcule bien plus souvent des tuiles sur terre que sur mer, > donc autant avoir ça de moins à dessiner dans la majorité des cas même > si c'est sûrement négligeable. > > > L'occupation des sols à petite échelle : > > Pour les premiers niveaux de zoom, le rendu FR affiche l'occupation des > sols (landuse=*). Le problème ici c'est le très grand nombre de > polygones, parfois très petits et non visibles à ces échelles. > > Il y a quelques années, j'avais calculé une couche transparente au zoom > 8 ne contenant que ces landuse pour l'appliquer par simple réduction sur > les zoom 0 à 7. > > J'ai regénéré cette couche, cette fois-ci directement au zoom 7, en > éliminant tous les polygones d'une surface de moins d'un pixel. > > Le résultat est un fichier geotif de 89Mo : > http://osm13.openstreetmap.fr/~cquest/z7.tif > > On a désormais des déserts bien plus cohérents en Afrique ! > > > Conséquence, les tuiles ont toutes été recalculées jusqu'au zoom 12 et > devraient apparaître au fur et à mesure de la mise à jour du cache. > > > Si vous voyez des anomalies... signalez-les... > > -- > Christian Quest - OpenStreetMap France > > > _______________________________________________ > Talk-fr mailing list > Talk-fr@openstreetmap.org > https://lists.openstreetmap.org/listinfo/talk-fr >
_______________________________________________ Talk-fr mailing list Talk-fr@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-fr