Recordatorio: petición de comentarios sobre o modelo de datos

Estudo de modelos de datos

O grupo de traballo de enxeñería da Fundación OpenStreetMap encargou a principios de 2022 un estudo sobre como mellorar o modelo de datos existente. Jochen Topf presentou os resultados deste estudo, incluíndo recomendacións sobre como facer que o modelo de datos OpenStreetMap sexa máis eficiente computacionalmente e máis accesible.

Fixéronse dúas suxestións fundamentais:

  • introducir un tipo de datos de área para representar polígonos
  • desfacerse dos nodos sen etiquetar

Consulta á comunidade

Para decidir os seguintes pasos deste proceso queremos ter máis discusións coa comunidade de desenvolvedores e desenvolvedoras xa que os cambios propostos afectan ao software de OpenStreetMap que depende directa ou indirectamente do modelo de datos.

Beneficios potenciais

Menos desorde para as áreas

Algúns cartógrafos poden sorprenderse ao saber que OSM aínda non ten un tipo de datos de área. Despois de todo, o editor iD presenta botóns destacados para debuxar puntos, liñas e áreas. Unha vez cartografadas, estas áreas adoitan aparecer no mapa como se esperaba. A wiki de OSM documenta se unha etiqueta adoita usarse en áreas, e mesmo Overpass Turbo permítelle usar áreas na súa consulta.

Entre bastidores, porén, estas áreas represéntanse como formas ou relacións. Cada ferramenta que traballa con datos OSM usa o seu propio conxunto de regras para adiviñar se un determinado xeito representa unha liña ou unha área. Facer que as áreas sexan parte adecuada do modelo de datos OSM levaría a unha interpretación coherente entre as aplicacións, permitiría que a API evite que se carguen áreas rotas e, eventualmente, pode levar a compatibilidade con descargas parciais de áreas moi grandes.

Manter o procesamento OSM accesible

Actualmente, os camiños están compostos por referencias a nós, e confiamos nestas referencias para determinar como se conectan entre si. Resolver as coordenadas destas referencias de nodos é un proceso custoso dentro da cadea de ferramentas de OpenStreetMap xa que leva horas ou días, mesmo en hardware capaz.

No futuro, podemos modelar formas como unha simple lista de coordenadas, dependendo da implementación exacta coa que acabemos. Isto ofrecería grandes beneficios de rendemento, pero desfacerse dos nodos sen etiquetas sería un cambio significativo.

A primeira vista, as melloras de rendemento poden non parecer especialmente interesantes. Pero o fácil que é traballar cos nosos datos incide directamente no útil que é OpenStreetMap para o mundo en xeral. Como observa Jochen: “O obxectivo é manter a OSM como ese gran recurso que pode ser utilizado non só por empresas multimillonarias senón tamén por un estudante que quere crear un mapa do mundo no seu caderno ou unha activista cunha modesta computadora de segunda man”.

Un mellor histórico para OSM

Moitos cartógrafos quedan decepcionados cando se dan conta das poucas cousas que pode mostrar a pestana do histórico do sitio web. Hai moitas ferramentas, como OSMCha e Achavi, que ofrecen moito máis, pero aínda requiren un certo grao de competencia para usalas.

Podes preguntar por que, e a resposta é moi técnica: a localización dunha única versión dun camiño, en moitos casos, non está definida. É a razón pola que o seguimento de cambios seguía sendo unha disciplina experta con ferramentas relativamente pouco amigables para quen recén chega. Ao cambiar o modelo de datos afastarémonos desa barreira e, posteriormente, podemos esperar ferramentas substancialmente mellores, pero non antes de obter as coordenadas e versións adecuadas para as formas.

Xeración de mosaicos vectoriales

Aínda que hai un gran número de xeradores de mosaicos vectoriais maduros hoxe en día, aínda temos un par de problemas.

  • Un deles é cales son as características que se incluirán nos mosaicos vectoriais de openstreetmap.org
  • A outra é como conciliar actualizacións minuciosas con mosaicos vectoriais para un rendemento a un nivel aceptable.

Esa tarefa faise unha orde de magnitude máis fácil se non só podes paralelizar realmente a xeración de mosaicos, senón tamén elidir o primeiro e custoso paso para descubrir a que mosaico pertence un camiño modificado.

Quizais poidamos atopar alguén que encapsule a potencia informática bruta necesaria para facelo. Pero aínda que sexa así, isto sería un grao de dependencia non moi desexable con esa persoa.

Entón, os mosaicos vectoriais para openstreetmap.org son en principio posibles sen este cambio de modelo de datos, pero a un custo moito maior que só o hardware especializado poderá manter ao día con todos os minuciosos cambios.

Dá a túa opinión sobre o futuro

Algún tipo de cambio é inevitable. O crecemento da base de datos OSM está a superar as melloras de velocidade no hardware, e o modelo baseado en ID significa que non se pode paralelizar todo o proceso coa aceleración total. No pasado era posible manterse ao día dos cambios, pero agora necesita máis e máis trucos. Hai un punto no futuro no que tamén o hardware especializado será suficiente para manterse ao día dos minuciosos cambios.

Non obstante, hai moitos enfoques posibles para afrontar este desafío. Agora é a oportunidade para que a comunidade de desenvolvedores e desenvolvedoras compartan a súa opinión sobre o camiño a seguir.


A Fundación OpenStreetMap é unha organización sen ánimo de lucro, creada para apoiar o proxecto OpenStreetMap. Adícase a fomentar o crecemento, o desenvolvemento e a distribución de datos xeoespaciais de balde para que calquera poida empregalos e compartilos. A Fundación OpenStreetMap posúe e mantén a infraestrutura do proxecto OpenStreetMap, recibe o apoio financeiro das cotas das persoas socias e das doazóns e organiza a conferencia internacional anual sobre o Estado do mapa . Os nosos grupos de traballo voluntarios e un reducido persoal traballan para apoiar o proxecto OpenStreetMap. Únete á Fundación OpenStreetMap por só 18 € ao ano ou de balde se colaboras activamente en OpenStreetMap.

This post is also available in: Inglés Francés Italiano Xaponés Español Ucraíno Chinés (Tradicional) Arabic