10
105
Fork
You've already forked web
30

masquer les canaux sous-terrains #1251

Closed
opened 2025年11月14日 00:09:15 +01:00 by etienneJr · 11 comments
|[cartes](https://cartes.app/#14/45.45084/6.7117)|[osm](https://www.openstreetmap.org/#map=15/45.45119/6.70634)| |-|-| |![image](/attachments/31d1f4a1-8fea-4950-a371-711a181ddcff)|![image](/attachments/a5382146-003b-473c-94af-87baf04481c6)|
119 KiB
213 KiB
Author
Member
Copy link

voir aussi #1283

voir aussi #1283
Member
Copy link

Je ne suis pas sûre que l'exemple que tu as mis en captures d'écran (donc ici : https://cartes.app/#15/45.451/6.7096) soient des canaux sous-terrains. J'ai essayé d'appliquer la même logique que pour #1283, mais ils n'ont pas l'air de disparaître.

Donc dans cette section-ci (ou la suivante également Waterway intermittent) :

Lines 589 to 592 in 8d33e9c
id: 'Waterway',
type: 'line',
source: 'maptiler_planet',
'source-layer': 'waterway',

Ajour de la même logique :

filter: [
 'all',
 ['!=', 'class', 'river'],
 ['!=', 'brunnel', 'tunnel'],
 ['==', 'intermittent', 1],
 ['>=', ['coalesce', ['get', 'layer'], 0], 0],
],
Je ne suis pas sûre que l'exemple que tu as mis en captures d'écran (donc ici : https://cartes.app/#15/45.451/6.7096) soient des canaux sous-terrains. J'ai essayé d'appliquer la même logique que pour #1283, mais ils n'ont pas l'air de disparaître. Donc dans cette section-ci (ou la suivante également `Waterway intermittent`) : https://codeberg.org/cartes/web/src/commit/8d33e9c70c4e279695663088fe21625fbeb7d3d3/app/styles/nature.ts#L589-L592 Ajour de la même logique : ```javascript filter: [ 'all', ['!=', 'class', 'river'], ['!=', 'brunnel', 'tunnel'], ['==', 'intermittent', 1], ['>=', ['coalesce', ['get', 'layer'], 0], 0], ], ```
Author
Member
Copy link

Merci d'avoir regardé !!

tu peux regarder le contenu des tuiles sur https://pmtiles.io/ en chargeant l'url du fichier pmtiles https://serveur.cartes.app/pmtiles/planet.pmtiles puis dans l'url de la page, en indiquant les coordonnées que tu veux voir (que tu peux copier coller de l'url de cartes.app), par exemple ici : &map=14/45.45111/6.71131

puis en cochant sur inspect features tu peux voir ici que ... bah non en effet il manque la propriété qui indique que c'est sous-terrain...

image

Dans la tuile tu trouves aussi l'ID OSM. Attention, celui de la couche waterway est très probablement faux (ça n'est pas le cas ici par hasard) car cette couche est "compressée" pour ne pas peser trop lourd, et certains ID sont perdus dans l'opération. En revanche la couche water_name n'est pas compressée donc l'ID est bon.

ça permet d'aller voir comme c'est tagué dans la base : il y a bien l'info layer=-1
https://www.openstreetmap.org/way/874229893
image

Conclusion (que je n'avais pas anticipée) : l'info manque dans les tuiles, il faudra modifier le script de génération des tuiles pour le rajouter. Ca t'intéresse de regarder cette partie aussi ? (je peux de guider de même) ou tu me laisses m'en charger ?

Merci d'avoir regardé !! tu peux regarder le contenu des tuiles sur https://pmtiles.io/ en chargeant l'url du fichier pmtiles https://serveur.cartes.app/pmtiles/planet.pmtiles puis dans l'url de la page, en indiquant les coordonnées que tu veux voir (que tu peux copier coller de l'url de cartes.app), par exemple ici : `&map=14/45.45111/6.71131` puis en cochant sur inspect features tu peux voir ici que ... bah non en effet il manque la propriété qui indique que c'est sous-terrain... ![image](/attachments/e1eb20c4-71db-438e-8410-34897effaf81) Dans la tuile tu trouves aussi l'ID OSM. Attention, celui de la couche `waterway` est très probablement faux (ça n'est pas le cas ici par hasard) car cette couche est "compressée" pour ne pas peser trop lourd, et certains ID sont perdus dans l'opération. En revanche la couche `water_name` n'est pas compressée donc l'ID est bon. ça permet d'aller voir comme c'est tagué dans la base : il y a bien l'info `layer=-1` https://www.openstreetmap.org/way/874229893 ![image](/attachments/d14d878a-3fa2-4c29-ad63-4b537226c1e1) Conclusion (que je n'avais pas anticipée) : l'info manque dans les tuiles, il faudra modifier le script de génération des tuiles pour le rajouter. Ca t'intéresse de regarder cette partie aussi ? (je peux de guider de même) ou tu me laisses m'en charger ?
Member
Copy link

Je vois ! Et bien je veux bien volontiers regarder tout ça si tu peux m'aiguiller.

Je vois ! Et bien je veux bien volontiers regarder tout ça si tu peux m'aiguiller.
Author
Member
Copy link

OK ! C'est à faire dans le repo serveur, il faut que tu le clones aussi https://codeberg.org/cartes/serveur

Voilà comment la propriété layer est rajoutée sur les highway dans la couche transportation

AttributeNumeric("layer", tonumber(Find("layer")) or 0, accessMinzoom)

mais je comptais le corriger car ça met des layer=0 sur tous les éléments, ce qui est inutile.

La bonne façon de faire est celle-là

if Holds("leaf_type") then Attribute("leaf_type", Find("leaf_type")) end

ça sera à mettre par ici, dans le groupe qui traite les waterway

Pour tester si ça marche, il faut suivre ce que j'ai écrit dans le guide #1183 :

[edit] j'ai oublié un point : pour tester en local le fichier que tu as généré, mets le dans /cartes/web/app/styles/ et modifie cette ligne :

//url: 'pmtiles://./styles/loire.pmtiles', // for local test

n'oublie pas de remettre normal avant de commiter !

OK ! C'est à faire dans le repo serveur, il faut que tu le clones aussi https://codeberg.org/cartes/serveur Voilà comment la propriété `layer` est rajoutée sur les `highway` dans la couche `transportation` https://codeberg.org/cartes/serveur/src/commit/d9c7d5eaf68f6437927891078b0b61d09fba57ad/tilemaker/resources/process-openmaptiles.lua#L458 mais je comptais le corriger car ça met des `layer=0` sur **tous** les éléments, ce qui est inutile. La bonne façon de faire est celle-là https://codeberg.org/cartes/serveur/src/commit/d9c7d5eaf68f6437927891078b0b61d09fba57ad/tilemaker/resources/process-openmaptiles.lua#L240 ça sera à mettre par ici, dans le groupe qui traite les waterway https://codeberg.org/cartes/serveur/src/commit/d9c7d5eaf68f6437927891078b0b61d09fba57ad/tilemaker/resources/process-openmaptiles.lua#L839 Pour tester si ça marche, il faut suivre ce que j'ai écrit dans le guide #1183 : - installer tilemaker : https://github.com/systemed/tilemaker?tab=readme-ov-file#installing - installer pmtiles - télécharger un extrait .osm.pbf chez geofabrik - lancer les commandes `tilemaker` et `pmtiles` (j'ai un petit doute sur la syntaxe que je viens d'écrire dans #1183, préviens moi si ça ne marche pas) [edit] j'ai oublié un point : pour tester en local le fichier que tu as généré, mets le dans /cartes/web/app/styles/ et modifie cette ligne : https://codeberg.org/cartes/web/src/commit/99dd2088e17e459383321b14cbdaedcdf5dc0e70/app/styles/base.ts#L40 n'oublie pas de remettre normal avant de commiter !
Author
Member
Copy link

@hgcl j'ai mis à jour le readme dans #1183 n'hésite pas à me dire si il y a des points qui sont pas clairs, ou manquants, ou pas assez détaillés. Merci !

@hgcl j'ai mis à jour le readme dans #1183 n'hésite pas à me dire si il y a des points qui sont pas clairs, ou manquants, ou pas assez détaillés. Merci !
Member
Copy link

Désolée pour la réponse tardive et merci pour l'aiguillage ! Je m'y mets dès la fin des fêtes :)

Désolée pour la réponse tardive et merci pour l'aiguillage ! Je m'y mets dès la fin des fêtes :)
Author
Member
Copy link

Salut @hgcl est ce que tu voudras continuer la résolution de ce ticket ? Ou bien je m'en occupe ?

Salut @hgcl est ce que tu voudras continuer la résolution de ce ticket ? Ou bien je m'en occupe ?
Member
Copy link

Coucou @etienneJr, excuse-moi pour la procrastination là-dessus ! Peut-être, qu'il vaudrait mieux que tu t'occupes déjà de ce ticket. J'essaierai de mettre en place la partie serveur de mon côté pour l'explorer un peu plus avant d'y mettre les doigts. Merci encore pour les explications, elles me seront utiles dans tous les cas pour mieux comprendre comment tout ça fonctionne !

Coucou @etienneJr, excuse-moi pour la procrastination là-dessus ! Peut-être, qu'il vaudrait mieux que tu t'occupes déjà de ce ticket. J'essaierai de mettre en place la partie serveur de mon côté pour l'explorer un peu plus avant d'y mettre les doigts. Merci encore pour les explications, elles me seront utiles dans tous les cas pour mieux comprendre comment tout ça fonctionne !
Author
Member
Copy link

@hgcl OK très bien !
Je viens de faire la modif dans le script de génération des tuiles ici :
cartes/serveur#123
(1 seule ligne à suffit !)
Les tuiles seront recalculées sur le serveur demain samedi en soirée, tu pourras ensuite faire la modif dans la feuille de style base.ts.

@hgcl OK très bien ! Je viens de faire la modif dans le script de génération des tuiles ici : https://codeberg.org/cartes/serveur/pulls/123 (1 seule ligne à suffit !) Les tuiles seront recalculées sur le serveur demain samedi en soirée, tu pourras ensuite faire la modif dans la feuille de style `base.ts`.
Author
Member
Copy link

fait dans #1556

fait dans #1556
Sign in to join this conversation.
No Branch/Tag specified
master
abostats
SynchroM-master
gps
embeddings
lysios-patch-5
lysios-patch-4
lysios-patch-3
lysios-patch-2
lysios-patch-1
abo-serveur2
clim
zone-en-favori
categories_toujours_visibles
rechercher_ici_avant_resultats
test-2365
panoramax-contribution
add-categories-validations
gel-bug-prod
osm-note-2
broken
wikidata_booking
fuse7.3
lysios-patrimoine-3
gps2
atproto-fix-2
styles-secondaires-mais-maison
atproto-scopes
itineraire-printemps-2026
modal-sheet-5.6
nlnet-cost-climate-perf
pb-icones-religieux
couvoiture
etiennejr-patch-2
meteo-fainéante
logo-static-url
poc-page-vitrine
remove-compass
test-reproduce-1795
display-cycleway-lanes-2
poc-image
add-media-condition
mapterhorn
test-indoor-equal
outdoors-VS-indoorEqual
hiking-colors
fix-blog-typing
poc-next-international
fix-map-style-modal-not-closing
i18n
hide-odd-zoom-levels
filter_categories
resume_wikipedia
deplacement_bouttons
fix-1095
mobile_permettre_selection
position-carte-initiale
dégradé-icônes
better_wikipedia
affichage_donnees_wikidata
mobile-permettre-selection
avis-details
perf-seo
modal-sheet-5
plans-novembre
display-cycleway-lanes
fix-1227
fix-1234
etiennejr-patch-1
update-1240
fix-1236
fix-1131
photon-search-street
fix-1221
article-avis
net-haut-zoom
baies-moins-visibles
belles-fiches-lieu
fix-1157
bug-page-vie-privée
use-watername
fix-1176
carte-du-onde
fix-1166
page-news
tchou
add-icon-alias
vitesse
photon-opensearch
private-in-italic
bâtiments-3D
merge-categories
handle-private-highway
improve-findcategory
injection-pmtiles
fix-1128
check-icons
update-readme
category-rugby
bug-position-carte-vs-lieu
limites-vitesse
improve-find-category-from-tags-v2
integrer
document-osmfeature
translate-document
velo-fin-aout-25
velo-ete-2025
moins-de-maptiler
planet-pmtiles-tilemaker
fix-1048
panoramax-leger
plume
horaires-i18n
planet
maj-deps-juillet-2025
improve-find-category-from-tags
bug-encart
interactions-encart-mobile
clic-on-station
fix-1028
fix-1014
edit
add-big-rivers
add-shortbread-tiles
handle-deleted-osm-elements-v2
codeberg
improve-useEffect
immoloc
update-dashboard
analyze
terradraw
sombre2
calendar
poi-sprites-using-svg
style-sombre
sprites
annuaire
motis-gtfs-attributes
next-styled-components
dev
cool2
cool
panoramax-angle
env-static-urls
borders-only
panoramax2
intelligence
debug-iles
nouveau-serveur
france-protomaps
turbo
fouss/cartes-#338
blog2
legislatives
presentation
pas-de-geoloc-si-hash-different
protomaps
vaul
carte-trains
citiz
maj-paquets
icones
ui2
bblog
voyagevoyage
test-image-origine
bugimagefin
searchParams
voyage
avion
perf
studio
piscine
journée
année
journée-transition
score-dès-acceuil
fix-space-problem
rebase-5août
correspondance
règles-séparées
indeps-acre
demo
indeps
indeps-cachés
indication-temps-plein
indeps-refactor-simulations
indeps-vue-comparaison
indeps-inversion
barème-continu
indeps-démo
textes-branches-sécu
engine-enum
2019
transport
publicodes
as
infrance-nouvelle-landing
better-translation
co2
simplifATMP
controle-SMIC
webi18n
bug-avantages-en-nature
revert-352-infrance-navigation-v2
laem-patch-1
robots.txt
improve-perf
iframe-bugfix
quickfixes
lib
irsimple
hiringinfrance.com
dégradé
refstate
johan
zrr
logo-interactif
revert-216-improve-tracking
redesign2
zrr2
fixtrad
correction-salaire-brut
petit-state
alien-consolidate
translate-ui
npm
alien-brut-net
translatable
différent
ir18
fix-typo
add-tracking
fix-collect-missing
défauts-partout
fix-double-unfold-three
fix-double-unfold
versement-transport
blocker-questions
v3
v2.1
v2
v1
v0.6.4
v0.6.3
v0.6.2
v0.6.1
v0.6.0
0.7.0
v0.5.1
v0.5.0
v0.4.2
v0.4.1
v0.4.0
v0.3.3
v0.3.2
v0.3.1
v0.3
v0.2
v0.1-cdd-alpha
v0-démo-tag-nav
Labels
Clear labels
🎨 Design
À propos de l'interface et de l'UX
💡 Idée
Nouvelle feature à intégrer
question
Further information is requested
🌍 OSM
À propos de l'affichage et l'édition des éléments OSM
🌱 Amélioration
Amélioration/fix de l'existant
🐞 Bug
Something isn't working
📊 SEO
📋 Catégories
À propos des catégories de recherche et de l'annuaire
📖 Wiki
📝Avis
A propos de la fonction avis et de bluesky
📢 Oyez
📷 Photos
A propos des photos (sources, affichage)
🔍Recherche
A propos de la barre de recherche et de photon
🔥 Actuel
🔧 tech
🖌 Styles
Styles de la carte
🧝i18n
🧪 R&D
🚍 Transports
🚙 Voiture
🚨Prioritaire
Ticket à traiter rapidement
🚲Vélo
Cartes
climat
Communication
demo
Cette branche doit être déployée comme une démo
dependencies
Pull requests that update a dependency file
javascript
Pull requests that update javascript code
Pas urgent
Plein-air
Tuiles
Verso
Vieux
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
cartes/web#1251
Reference in a new issue
cartes/web
No description provided.
Delete branch "%!s()"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?