ES:Colombia/Guía para mapear/transporte público/Bogotá/QA

From OpenStreetMap Wiki
Jump to navigation Jump to search

Esta es la guía de aseguramiento de la calidad (Quality Assurance) del mapeo de transport público de Bogotá.

Se compone de muchas consultas Overpass que identifican los elementos mal mapeados.

bus_stop: Señal de paradero

[out:xml][timeout:25];
area[name="Bogotá"][admin_level=7][boundary=administrative]->.searchArea;
(
  node["highway"="bus_stop"][!"name"](area.searchArea);
);
out meta;
>;
out meta qt;
[out:xml][timeout:25];
area[name="Bogotá"][admin_level=7][boundary=administrative]->.searchArea;
(
  node["highway"="bus_stop"]["ref"]["ref"!~"^[0-9]{3}[_A][0-1]{1}[0-9]{1}"](area.searchArea);
);
out meta;
>;
out meta qt;
[out:xml][timeout:25];
area[name="Bogotá"][admin_level=7][boundary=administrative]->.searchArea;
(
  way["highway"="bus_stop"](area.searchArea);
  relation["highway"="bus_stop"](area.searchArea);
);
out meta;
>;
out meta qt;

platform: Zona de espera

[out:xml][timeout:25];
area[name="Bogotá"][admin_level=7][boundary=administrative]->.searchArea;
(
  way["public_transport"="platform"]["name"](area.searchArea);
);
out meta;
>;
out meta qt;
[out:xml][timeout:25];
area[name="Bogotá"][admin_level=7][boundary=administrative]->.searchArea;
(
  way["public_transport"="platform"]["ref"](area.searchArea);
);
out meta;
>;
out meta qt;
[out:xml][timeout:25];
area[name="Bogotá"][admin_level=7][boundary=administrative]->.searchArea;
(
  node["public_transport"="platform"](area.searchArea);
  relation["public_transport"="platform"](area.searchArea);
);
out meta;
>;
out meta qt;

stop_position: Lugar donde se detiene el bus

[out:xml][timeout:25];
area[name="Bogotá"][admin_level=7][boundary=administrative]->.searchArea;
(
  node["public_transport"="stop_position"]["name"](area.searchArea);
);
out meta;
>;
out meta qt;
[out:xml][timeout:25];
area[name="Bogotá"][admin_level=7][boundary=administrative]->.searchArea;
(
  node["public_transport"="stop_position"]["ref"](area.searchArea);
);
out meta;
>;
out meta qt;
[out:xml][timeout:25];
area[name="Bogotá"][admin_level=7][boundary=administrative]->.searchArea;
(
  way["public_transport"="stop_position"](area.searchArea);
  relation["public_transport"="stop_position"](area.searchArea);
);
out meta;
>;
out meta qt;

stop_area: Relaciones

[out:csv(::id, ref, name)];
area[name="Bogotá"][admin_level=7][boundary=administrative]->.searchArea;
(
  relation["type"="public_transport"]["public_transport"="stop_area"][!"name"](area.searchArea);
);
out meta;
  • Relaciones public_transport=stop_area que no tienen el número de paradero como ref. Toca buscar el código del paradero para incluirlo. Sí tiene varios cobertizos, el código de paradero se cambia para la relación, de manera que en vez de tener una letra en la mitad, tiene el caracter barra baja _. Esto debido a que el conjunto de cobertizos pertenece al mismo paradero (nombre), pero cada cobertizo tiene código diferente.
[out:csv(::id, ref, name)];
area[name="Bogotá"][admin_level=7][boundary=administrative]->.searchArea;
(
  relation["type"="public_transport"]["public_transport"="stop_area"][!"ref"](area.searchArea);
);
out meta;
  • Relaciones public_transport=stop_area que no tienen un número válido para ref. El código de paradero tiene el formato XXXAYY. Si solo hay un cobertizo se conserva la letra A, si tiene múltiples se cambia la letra del medio por _ (barra baja) para abarcar todos los cobertizos de una misma área de paradero. Esto debido a que el conjunto de cobertizos pertenece al mismo paradero (nombre), pero cada cobertizo tiene código diferente.
[out:csv(::id, ref, name)];
area[name="Bogotá"][admin_level=7][boundary=administrative]->.searchArea;
(
  relation["type"="public_transport"]["public_transport"="stop_area"]["ref"]["ref"!~"^[0-9]{3}[_A][0-1]{1}[0-9]{1}"](area.searchArea);
);
out meta;
[out:csv(::id, ref, name)];
area[name="Bogotá"][admin_level=7][boundary=administrative]->.searchArea;
(
  relation["type"="public_transport"]["public_transport"="stop_area"][!"network"](area.searchArea);
);
out meta;
[out:csv(::id, ref, name)];
area[name="Bogotá"][admin_level=7][boundary=administrative]->.searchArea;
(
  relation["type"="public_transport"]["public_transport"="stop_area"]["network"!="SITP"](area.searchArea);
);
out meta;
[out:xml][timeout:25];
area[name="Bogotá"][admin_level=7][boundary=administrative]->.searchArea;
(
  node["public_transport"="stop_area"](area.searchArea);
  way["public_transport"="stop_area"](area.searchArea);
);
out meta;
>;
out meta qt;

Otros elementos inválidos

[out:xml][timeout:25];
area[name="Bogotá"][admin_level=7][boundary=administrative]->.searchArea;
(
  nwr["public_transport"="pole"](area.searchArea);
);
out meta;
>;
out meta qt;
[out:xml][timeout:25];
area[name="Bogotá"][admin_level=7][boundary=administrative]->.searchArea;
(
  nwr["public_transport"][~"^ref:.*"~".*"](area.searchArea);
);
out meta;
>;
out meta qt;
[out:xml][timeout:25];
area[name="Bogotá"][admin_level=7][boundary=administrative]->.searchArea;
(
  nwr["public_transport"]["network"]["network"!="SITP"](area.searchArea);
);
out meta;
>;
out meta qt;
[out:xml][timeout:25];
area[name="Bogotá"][admin_level=7][boundary=administrative]->.searchArea;
(
  nwr["public_transport"]["area"](area.searchArea);
);
out meta;
>;
out meta qt;
[out:xml][timeout:25];
area[name="Bogotá"][admin_level=7][boundary=administrative]->.searchArea;
(
  nwr["highway"="bus_stop"]["public_transport"](area.searchArea);
);
out meta;
>;
out meta qt;
[out:xml][timeout:25];
area[name="Bogotá"][admin_level=7][boundary=administrative]->.searchArea;

node(area.searchArea)[public_transport~'stop_position|platform']->.a;

rel(bn.a)[public_transport=stop_area];

node(r)->.b;

(.a; - .b;);

out meta;
[out:xml][timeout:25];
area[name="Bogotá"][admin_level=7][boundary=administrative]->.searchArea;

node(area.searchArea)[public_transport=stop_position]->.a;

(
  node(area.searchArea)[public_transport=platform];
  way(area.searchArea)[public_transport=platform];
  rel(area.searchArea)[public_transport=platform];
);

node(around:50.0)[public_transport=stop_position]->.b;

(.a; - .b;);

out meta;
[out:xml][timeout:25];
area[name="Bogotá"][admin_level=7][boundary=administrative]->.searchArea;

(
  node(area.searchArea)[public_transport=platform];
  way(area.searchArea)[public_transport=platform];
  rel(area.searchArea)[public_transport=platform];
)->.a;

node(area.searchArea)[public_transport=stop_position];

(
  node(around:50.0)[public_transport=platform];
  way(around:50.0)[public_transport=platform];
  rel(around:50.0)[public_transport=platform];
)->.b;

(.a; - .b;);

out meta;
[out:xml][timeout:25];
area[name="Bogotá"][admin_level=7][boundary=administrative]->.searchArea;
(
  nwr["public_transport:version"]["type"="route"](area.searchArea);
);
out meta;
>;
out meta qt;
[out:xml][timeout:25];
area[name="Bogotá"][admin_level=7][boundary=administrative]->.searchArea;
(
  nwr["public_transport:version"]["public_transport:version"!="2"](area.searchArea);
);
out meta;
>;
out meta qt;

Enlaces de interés

Aquí hay algunos artículos que pueden ayudar al aseguramiento de la calidad.