<commit_before>#include "osm2nav.h"
#include <stdio.h>

#include <iostream>
#include <boost/lexical_cast.hpp>


#include "osm_tags_reader.h"
#include "georef/georef.h"
#include "georef/adminref.h"
#include "utils/functions.h"

namespace navitia { namespace georef {

void Visitor::node_callback(uint64_t osmid, double lon, double lat, const CanalTP::Tags & tags){
    Node node;
    node.coord.set_lat(lat);
    node.coord.set_lon(lon);
    node.ref_node = osmid;
    this->nodes[osmid] = node;
    add_osm_housenumber(osmid, tags);
}

void Visitor::way_callback(uint64_t osmid, const CanalTP::Tags &tags, const std::vector<uint64_t> &refs){
    total_ways++;

    OSMWay w;
    w.refs = refs;
    w.properties = parse_way_tags(tags);
    // Est-ce que au moins une propriété fait que la rue est empruntable (voiture, vélo, piéton)
    // Alors on le garde comme way navitia
    if(w.properties.any()){
        georef::Way gr_way;
        gr_way.idx = geo_ref.ways.size();
        gr_way.uri = std::to_string(w.idx);
        if(tags.find("name") != tags.end())
            gr_way.name = tags.at("name");
        geo_ref.ways.push_back(gr_way);
        w.idx = gr_way.idx;
    }else{
        // Dans le cas où la maison est dessinée par un way et non pas juste par un node
        add_osm_housenumber(refs.front(), tags);
    }
    ways[osmid] = w;
}<commit_msg>osm2nav : Les voies ont maintenant l'id d'osm.<commit_after>#include "osm2nav.h"
#include <stdio.h>

#include <iostream>
#include <boost/lexical_cast.hpp>


#include "osm_tags_reader.h"
#include "georef/georef.h"
#include "georef/adminref.h"
#include "utils/functions.h"

namespace navitia { namespace georef {

void Visitor::node_callback(uint64_t osmid, double lon, double lat, const CanalTP::Tags & tags){
    Node node;
    node.coord.set_lat(lat);
    node.coord.set_lon(lon);
    node.ref_node = osmid;
    this->nodes[osmid] = node;
    add_osm_housenumber(osmid, tags);
}

void Visitor::way_callback(uint64_t osmid, const CanalTP::Tags &tags, const std::vector<uint64_t> &refs){
    total_ways++;

    OSMWay w;
    w.refs = refs;
    w.properties = parse_way_tags(tags);
    // Est-ce que au moins une propriété fait que la rue est empruntable (voiture, vélo, piéton)
    // Alors on le garde comme way navitia
    if(w.properties.any()){
        georef::Way gr_way;
        gr_way.idx = geo_ref.ways.size();
        gr_way.uri = std::to_string(osmid);
        if(tags.find("name") != tags.end())
            gr_way.name = tags.at("name");
        geo_ref.ways.push_back(gr_way);
        w.idx = gr_way.idx;
    }else{
        // Dans le cas où la maison est dessinée par un way et non pas juste par un node
        add_osm_housenumber(refs.front(), tags);
    }
    ways[osmid] = w;
}
{'fraction_non_alphanumeric': 0.1339382940108893, 'fraction_numerical': 0.0054446460980036296, 'mean_word_length': 3.226993865030675, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 13, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4524824', 'n_tokens_mistral': 1065, 'n_tokens_neox': 1031, 'n_words': 236}