Re: [OSM-talk-fr] Améliorer le Bâti

2011-09-01 Par sujet Bruno Cortial
Le 31 août 2011 23:14, julien balas jul...@krilin.org a écrit :


  * les erreurs liées aux arrondis des coordonnées:
   - on valide avec josm.
   - on telecharge de nouveau la zone =  la validation josm en trouve
 d'autres
   - on verifie sur osmose.openstreetmap.fr 2 jours après, on trouve
 encore d'autres erreurs


 si apres avoir telechargé le fichier .osm cleo
 - on l'ouvre avec josm
 - on le sauve tout de suite.
 - on ferme le fichier
 - on le recharge.
 Ca fait les même arrondis que sur le serveur je crois (en tout cas ca leve
 des erreurs qui n'apparaissent pas sinon)


On a ce genre d'erreur à cause des batiments proches mais non jointifs: si
ces batiments partagent bien leurs noeuds comme il se doit, une erreur
d'arrondi sur des noeuds partagés ne va pas se faire chevaucher les
batiments. node_join.py doit corriger ces pb.
___
Talk-fr mailing list
Talk-fr@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-fr


Re: [OSM-talk-fr] Améliorer le Bâti

2011-09-01 Par sujet Nicolas Frery
Le 01/09/2011 09:09, ades_f...@orange.fr a écrit :
 Il serait sans doute possible, et peut-être opportun, de  remplacer tous les 
 wall=no par wall=yes, puisque dans tous les cas il s'agit d'une 
 construction, même si elle est légère ;-).

Un toit est quand même une construction.

___
Talk-fr mailing list
Talk-fr@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-fr


Re: [OSM-talk-fr] Améliorer le Bâti

2011-09-01 Par sujet Pieren
2011/9/1 Nicolas Frery nicolas-l...@zoubi.info:
 Le 01/09/2011 09:09, ades_f...@orange.fr a écrit :
 Il serait sans doute possible, et peut-être opportun, de  remplacer tous les 
 wall=no par wall=yes, puisque dans tous les cas il s'agit d'une 
 construction, même si elle est légère ;-).

 Un toit est quand même une construction.

Je vais reprendre ici la définition de bâtiment dur/bâtimentléger du
cadastre que j'ai trouvé dans un document du CNIG ([1]):

Un bâtiment en dur est défini comme étant attaché au sol par des
fondations et fermé sur le 4 côtés ou comme un bâtiment industriel. Un
bâtiment léger est une structure légère non attachée au sol par
l'intermédiaire de fondations ou un bâtiment quelconque ouvert sur au
moins un côté.

On peut dire que wall=no n'est pas toujours approprié mais
wall=yes l'est encore moins.
Il y a deux critères pour un bâtiment léger:
- l'ouverture sur un ou plusieurs côtés
- et/ou l'absence de fondations

Et aussi un détail qu'il ne faut jamais oublier : le cadastre peut
aussi se tromper (ou avoir été trompé) ou être en retard d'une
guerre.

Il n'a jamais été dit que wall=no était idéal mais c'est ce que nous
trouvions de plus approprié à l'époque. Et on a dit dès le départ
qu'on pourrait le changer s'il y avait une meilleure proposition...

Pieren

[1] 
http://www.cnig.gouv.fr/Front/docs/cms/specif-composante-parcellaire_124033065172611000.pdf

___
Talk-fr mailing list
Talk-fr@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-fr


Re: [OSM-talk-fr] Améliorer le Bâti

2011-09-01 Par sujet Sylvain Maillard
Mon impression de simple utilisateur est que le wall=no est en général
bien approprié, la quasi-totalité de ceux que je connais sont des hangars
agricoles ouverts ...


mes 2c

Sylvain



Le 1 septembre 2011 10:41, Pieren pier...@gmail.com a écrit :

 2011/9/1 Nicolas Frery nicolas-l...@zoubi.info:
  Le 01/09/2011 09:09, ades_f...@orange.fr a écrit :
  Il serait sans doute possible, et peut-être opportun, de  remplacer tous
 les wall=no par wall=yes, puisque dans tous les cas il s'agit d'une
 construction, même si elle est légère ;-).
 
  Un toit est quand même une construction.

 Je vais reprendre ici la définition de bâtiment dur/bâtimentléger du
 cadastre que j'ai trouvé dans un document du CNIG ([1]):

 Un bâtiment en dur est défini comme étant attaché au sol par des
 fondations et fermé sur le 4 côtés ou comme un bâtiment industriel. Un
 bâtiment léger est une structure légère non attachée au sol par
 l'intermédiaire de fondations ou un bâtiment quelconque ouvert sur au
 moins un côté.

 On peut dire que wall=no n'est pas toujours approprié mais
 wall=yes l'est encore moins.
 Il y a deux critères pour un bâtiment léger:
 - l'ouverture sur un ou plusieurs côtés
 - et/ou l'absence de fondations

 Et aussi un détail qu'il ne faut jamais oublier : le cadastre peut
 aussi se tromper (ou avoir été trompé) ou être en retard d'une
 guerre.

 Il n'a jamais été dit que wall=no était idéal mais c'est ce que nous
 trouvions de plus approprié à l'époque. Et on a dit dès le départ
 qu'on pourrait le changer s'il y avait une meilleure proposition...

 Pieren

 [1]
 http://www.cnig.gouv.fr/Front/docs/cms/specif-composante-parcellaire_124033065172611000.pdf

 ___
 Talk-fr mailing list
 Talk-fr@openstreetmap.org
 http://lists.openstreetmap.org/listinfo/talk-fr

___
Talk-fr mailing list
Talk-fr@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-fr


Re: [OSM-talk-fr] Améliorer le Bâti

2011-09-01 Par sujet ades_f...@orange.fr
Tant que les rendus sur OSM ne font pas de différence entre wall=yes et wall=no 
; ça n'a effectivement pas grande importance, ça reste du bâti.
Cela dit si la construction (wall=no) est isolée, ça correspond (souvent) au 
terrain ; mais si elle est accolée à une  'wall=yes' le tag 'no' ne me semble 
plus très bien approprié, dans 90% des cas (à la louche) il s'agit soit d'une 
loggia soit d'une verenda qui fait partie du bâtiment (cas des varangues dans 
les îles tropicales). 

Le 1 sept. 2011 à 10:50, Sylvain Maillard a écrit :

 Mon impression de simple utilisateur est que le wall=no est en général bien 
 approprié, la quasi-totalité de ceux que je connais sont des hangars 
 agricoles ouverts ...
 
 
 mes 2c 
 
 Sylvain
 
 
 
 Le 1 septembre 2011 10:41, Pieren pier...@gmail.com a écrit :
 2011/9/1 Nicolas Frery nicolas-l...@zoubi.info:
  Le 01/09/2011 09:09, ades_f...@orange.fr a écrit :
  Il serait sans doute possible, et peut-être opportun, de  remplacer tous 
  les wall=no par wall=yes, puisque dans tous les cas il s'agit d'une 
  construction, même si elle est légère ;-).
 
  Un toit est quand même une construction.
 
 Je vais reprendre ici la définition de bâtiment dur/bâtimentléger du
 cadastre que j'ai trouvé dans un document du CNIG ([1]):
 
 Un bâtiment en dur est défini comme étant attaché au sol par des
 fondations et fermé sur le 4 côtés ou comme un bâtiment industriel. Un
 bâtiment léger est une structure légère non attachée au sol par
 l'intermédiaire de fondations ou un bâtiment quelconque ouvert sur au
 moins un côté.
 
 On peut dire que wall=no n'est pas toujours approprié mais
 wall=yes l'est encore moins.
 Il y a deux critères pour un bâtiment léger:
 - l'ouverture sur un ou plusieurs côtés
 - et/ou l'absence de fondations
 
 Et aussi un détail qu'il ne faut jamais oublier : le cadastre peut
 aussi se tromper (ou avoir été trompé) ou être en retard d'une
 guerre.
 
 Il n'a jamais été dit que wall=no était idéal mais c'est ce que nous
 trouvions de plus approprié à l'époque. Et on a dit dès le départ
 qu'on pourrait le changer s'il y avait une meilleure proposition...
 
 Pieren
 
 [1] 
 http://www.cnig.gouv.fr/Front/docs/cms/specif-composante-parcellaire_124033065172611000.pdf
 
 ___
 Talk-fr mailing list
 Talk-fr@openstreetmap.org
 http://lists.openstreetmap.org/listinfo/talk-fr
 
 ___
 Talk-fr mailing list
 Talk-fr@openstreetmap.org
 http://lists.openstreetmap.org/listinfo/talk-fr

___
Talk-fr mailing list
Talk-fr@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-fr


[OSM-talk-fr] Améliorer le Bâti

2011-08-31 Par sujet Bruno Cortial
Bonjour,

Afin de voir où l'on en est sur la qualité des fichiers bâti issus du
cadastre, j'en ai récupéré quelques uns sur cleo, et j'ai tenté d'identifier
les pb récurrents que le contributeur doit gérer quand il se lance dans
l'aventure import du bati:

   1. Des noeuds en doubles ou très proches
   2. Des chemins avec un même noeud répété
   3. Des bâtiments se croisant eux-mêmes
   4. Des bâtiments se chevauchant très faiblement
   5. Des bâtiments adjacents, mais qui ne partagent pas leurs noeuds.
   Topologiquement ils ne sont pas mitoyens, de quelques centimètres.
   6. Des bâtiments en double
   7. Des bâtiments inclus dans d’autres, ou se superposant franchement
   8. Des bâtiments découpés par les limites de parcelle
   9. Des bâtiments avec un nombre exubérant de nœuds
   10. Validator c’est long et ça rate des anos en plus !
   11. Des bâtiments qui existent déjà dans OSM
   12. Des bâtiments sur les highway existantes

 Vous en avez d’autres ?



J'ai écrit 2 scripts python. Ce n’est pas très pythonique, pas très
performant, mais cela règle plus d’anos que ça n’en crée (je crois pas que
cela en crée :-) ). Ils utilisent OsmSax [1], Rtree, et Shapely :

Node_simplifier.py : A partir d’un fichier .osm, crée un autre .osm en
éliminant les nœuds en double, ou proches, et nettoie les chemins des nœuds
se répétant.



Node_join.py : A partir d’un fichier .osm, crée un autre .osm en « J »isant
tous les nœuds. Il s’agit de la fonction J de JOSM qui intègre un nœud à un
chemin si celui-ci en est suffisamment proche. A noter que cela ne déplace
aucun point, et que l’on conserve tous les points.



Pour l’instant les paramètres de distance sont en dur (et en angulaire), et
tous les objets modifiés se voient ajouter un tag fixme pour visualiser les
modifs. Ces deux scripts, passés dans cet ordre, traitent les points
1,2,4,5.  Un troisième script est en cours pour le point 9.



Je vous laisse juge de leur qualité et de leur intérêt. A vos remarques !


A final je crois qu'il faudra supprimer les dépôts type cléo, et mettre à
dispo une interface d’import différentiel tuilé, c'est-à-dire qui n'affiche
et ne renvoie qu’une portion des bâtiments à importer et, pour combler les
manques de Validator, en ajoutant les tag fixme du type : « bâtiment
superposé avec l’existant », « bâtiment superposé au cadastre », « bâtiment
sur highway », etc…afin d'aider et d'alerter le contributeur... et peut-être
aussi le réfréner ;-)



BrunoC


[1] https://gitorious.org/osmose/backend/blobs/master/modules/OsmSax.py
#!/usr/bin/python
# -*- coding: utf8 -*-

from rtree import Rtree
import OsmSax, sys

DIST_MIN = 1.0e-12

def coords(n):
return (n.lat, n.lon)

def distance2(a,b):
xa, ya = coords(a)
xb, yb = coords(b)
return (xa-xb)**2 + (ya-yb)**2


class Node(object):
def __init__(self, id=None, lon=None, lat=None, tags=None):
self.id = id
if lon != None: self.lon, self.lat = float(lon), float(lat)
if tags:
self.tags = tags
else:
self.tags = {}
self.inWay = set()
self.inRel = set()

class Way(object):
def __init__(self, id=None, nodes=None, tags=None):
self.id = id
if nodes:
self.nodes = nodes
else:
self.nodes = []
if tags:
self.tags = tags
else:
self.tags = {}

class Relation(object):
def __init__(self, id, members=None, tags=None):
self.id = id
if members:
  self.members = members
else:
  self.members = []
if tags:
  self.tags = tags
else:
  self.tags = {}
def __repr__(self):
  return Relation(id=%r, members=%r, tags=%r) % (self.id, self.members, self.tags)

class Cache:
def __init__(self):
self.nods = {}
self.ways = {}
self.rels = {}
def NodeCreate(self, data):
self.nods[data[id]] = Node(id=data[id],lon=data[lon],lat=data[lat],tags=data[tag])
def WayCreate(self, data):
self.ways[data[id]] = Way(id=data[id],nodes=data[nd],tags=data[tag])
def RelationCreate(self, data):
self.rels[data[id]] = Relation(id=data[id],tags=data[tag],members=data[member])

###

fout = sys.argv[2]
data = OsmSax.OsmSaxReader(sys.argv[1])
cache = Cache()
print 'Parse du fichier...'
data.CopyTo(cache)


idxNode = Rtree()
tabindx = {}
print 'Indexation...'
i = 0
for k in cache.nods.keys():
i += 1
idxNode.insert(i, coords(cache.nods[k]))
tabindx[i] = cache.nods[k]

# set des chemins utilisant un noeud
for w in cache.ways.values():
for nid in w.nodes: cache.nods[nid].inWay.add(w)
# set des relations utilisant un noeud
for r in cache.rels.values():
for m in r.members:
if m['type'] == 'node': cache.nodes[m['ref']].inRel.add(r)

print 'Simplification des noeuds...'
# balayage des noeuds à simplifier
for noeud in cache.nods.values():
#  

Re: [OSM-talk-fr] Améliorer le Bâti

2011-08-31 Par sujet Philippe Pary
Salut,

À la fin des itérations, s'il n'y a pas d'effet de bord, je ferai passer
automatiquement chaque commune générée par ces moulinettes.

Philippe

Le 31/08/2011 20:36, Bruno Cortial a écrit :
 Bonjour,
 
 Afin de voir où l'on en est sur la qualité des fichiers bâti issus du
 cadastre, j'en ai récupéré quelques uns sur cleo, et j'ai tenté
 d'identifier les pb récurrents que le contributeur doit gérer quand il
 se lance dans l'aventure import du bati:
 
1. Des noeuds en doubles ou très proches
2. Des chemins avec un même noeud répété
3. Des bâtiments se croisant eux-mêmes
4. Des bâtiments se chevauchant très faiblement
5. Des bâtiments adjacents, mais qui ne partagent pas leurs noeuds.
   Topologiquement ils ne sont pas mitoyens, de quelques centimètres.
6. Des bâtiments en double
7. Des bâtiments inclus dans d’autres, ou se superposant franchement
8. Des bâtiments découpés par les limites de parcelle
9. Des bâtiments avec un nombre exubérant de nœuds
   10. Validator c’est long et ça rate des anos en plus !
   11. Des bâtiments qui existent déjà dans OSM
   12. Des bâtiments sur les highway existantes
 
 Vous en avez d’autres ?
 
  
 
 J'ai écrit 2 scripts python. Ce n’est pas très pythonique, pas très
 performant, mais cela règle plus d’anos que ça n’en crée (je crois pas
 que cela en crée :-) ). Ils utilisent OsmSax [1], Rtree, et Shapely :
 
 Node_simplifier.py : A partir d’un fichier .osm, crée un autre .osm en
 éliminant les nœuds en double, ou proches, et nettoie les chemins des
 nœuds se répétant.
 
  
 
 Node_join.py : A partir d’un fichier .osm, crée un autre .osm en
 « J »isant tous les nœuds. Il s’agit de la fonction J de JOSM qui
 intègre un nœud à un chemin si celui-ci en est suffisamment proche. A
 noter que cela ne déplace aucun point, et que l’on conserve tous les points.
 
  
 
 Pour l’instant les paramètres de distance sont en dur (et en angulaire),
 et tous les objets modifiés se voient ajouter un tag fixme pour
 visualiser les modifs. Ces deux scripts, passés dans cet ordre, traitent
 les points 1,2,4,5.  Un troisième script est en cours pour le point 9.
 
  
 
 Je vous laisse juge de leur qualité et de leur intérêt. A vos remarques !
 
 
 A finalje crois qu'il faudra supprimer les dépôts type cléo, et mettre à
 dispo une interface d’import différentiel tuilé, c'est-à-dire qui
 n'affiche et ne renvoie qu’une portion des bâtiments à importer et, pour
 combler les manques de Validator, en ajoutant les tag fixme du type :
 « bâtiment superposé avec l’existant », « bâtiment superposé au
 cadastre », « bâtiment sur highway », etc…afin d'aider et d'alerter le
 contributeur... et peut-être aussi le réfréner ;-)
 
 
 
 BrunoC
 
 
 [1] https://gitorious.org/osmose/backend/blobs/master/modules/OsmSax.py
 
 
 
 
 ___
 Talk-fr mailing list
 Talk-fr@openstreetmap.org
 http://lists.openstreetmap.org/listinfo/talk-fr


___
Talk-fr mailing list
Talk-fr@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-fr


Re: [OSM-talk-fr] Améliorer le Bâti

2011-08-31 Par sujet julien balas



* les erreurs liées aux arrondis des coordonnées:
   - on valide avec josm.
   - on telecharge de nouveau la zone =  la validation josm en trouve
d'autres
   - on verifie sur osmose.openstreetmap.fr 2 jours après, on trouve
encore d'autres erreurs


si apres avoir telechargé le fichier .osm cleo
- on l'ouvre avec josm
- on le sauve tout de suite.
- on ferme le fichier
- on le recharge.
Ca fait les même arrondis que sur le serveur je crois (en tout cas ca 
leve des erreurs qui n'apparaissent pas sinon)


c'est plus long a décrire lire qu'a le faire en vrai ;)


Sinon dans les erreurs on vois bien les batiments qui se recouvrent de 
quelques centimetres, par contre on ne vois pas ceux qui sont séparé de 
quelques centimetres :(


--
JB

___
Talk-fr mailing list
Talk-fr@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-fr