This is a valid RSS feed.
This feed is valid, but interoperability with the widest range of feed readers could be improved by implementing the following recommendations.
line 64, column 0: (17 occurrences) [help]
<p dir="auto"><img src="https://i.postimg.cc/nrvMkf6F/Git-Lab-Reddi ...
</channel>
^
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:georss="http://www.georss.org/georss">
<channel>
<title>OpenStreetMap diary entries</title>
<description>Recent diary entries from users of OpenStreetMap</description>
<link>https://www.openstreetmap.org/diary</link>
<image>
<url>https://www.openstreetmap.org/assets/mag_map-rss2.0-2973595662b8a92522b315b6c69bf5ee9bec75e07d702c5932f114c44a6251ea.png</url>
<title>OpenStreetMap diary entries</title>
<width>100</width>
<height>100</height>
<link>https://www.openstreetmap.org/diary</link>
</image>
<item>
<title>Is There Any news about Satellite Imagery ?</title>
<link>https://www.openstreetmap.org/user/farhadGuli/diary/407015</link>
<guid>https://www.openstreetmap.org/user/farhadGuli/diary/407015</guid>
<description><p dir="auto">Dear OSM Community and Team,
Is there any possibility of accessing a newer imagery layer, such as Maxar? The current Bing Maps Aerial imagery appears to be significantly outdated, which makes it challenging to accurately update or edit map content.</p>
</description>
<dc:creator>farhadGuli</dc:creator>
<pubDate>Tue, 01 Jul 2025 09:56:25 +0000</pubDate>
<comments>https://www.openstreetmap.org/user/farhadGuli/diary/407015#comments</comments>
</item>
<item>
<title>Better OSM Diary : ideas, reflexions, improvements</title>
<link>https://www.openstreetmap.org/user/Koreller/diary/407012</link>
<guid>https://www.openstreetmap.org/user/Koreller/diary/407012</guid>
<description><p dir="auto">I see many diaries on OSM, but unfortunately the good ones are hard to find, if they can be found at all.</p>
<p dir="auto">In this diary, I offer some perspectives, without any technical pretensions, but just for the thinking of “what it might look like” in the vein of “<a href="https://github.com/openstreetmap/openstreetmap-website/issues/3785" rel="nofollow noopener noreferrer">Reimagining the OSM.org</a>” or “<a href="https://github.com/deevroman/better-osm-org" rel="nofollow noopener noreferrer">Better-osm-org</a>” but without the technical side.</p>
<p dir="auto">This diary is a proposal, a reflection. Its aim is to offer a vision of what diaries might look like in the future.</p>
<h2 dir="auto" id="observation">Observation</h2>
<p dir="auto">Many diaries published by the community are interesting, not all of them are, but those that are would benefit from being discovered and promoted to a wider audience.</p>
<p dir="auto">Diaries are not discoverable from osm.org. When a diary is discovered, it is almost exclusively through direct sharing via an OSM communication channel (forum, Telegram, Discord, etc.).</p>
<p dir="auto">The aim is to offer ways to find interesting diaries more easily, to know which ones the community values or finds interesting.</p>
<h2 dir="auto" id="proposal">Proposal</h2>
<h3 dir="auto" id="categorise">Categorise</h3>
<p dir="auto">Allowing diaries to be categorised offers several advantages:</p>
<ul dir="auto">
<li>Easier to identify the topic(s) of a diary</li>
<li>Have a list of diaries talking of a specific topic</li>
<li>Easier to find a specific diary</li>
</ul>
<p dir="auto">A category would group together several diaries addressing the same theme.</p>
<p dir="auto">This categorisation might be done in the form of keywords, for example: #tutorial #josm #streetcomplete #sotm #telecom #esri.</p>
<h3 dir="auto" id="add-upvotes">Add upvotes</h3>
<p dir="auto">To enable the community to highlight the diaries that have generated the most interest and that they found most useful, it would be possible to add a like (or a downvote or an emoji reaction) to a diary.</p>
<p dir="auto">The same options for comments might be used to highlight the comments most appreciated by the community.</p>
<p dir="auto">This system would be very similar to GitLab for issues, or Reddit for content.</p>
<p dir="auto"><img src="https://i.postimg.cc/nrvMkf6F/Git-Lab-Reddit-vote.jpg" alt="GitLab and Reddit upvotes downvotes and reactions" loading="lazy"></p>
<h3 dir="auto" id="diaries-search">Diaries search</h3>
<p dir="auto">Once the keyword categories are in place, followed by the community’s reactions to the diaries, it will be possible to explore the diaries according to different criteria: by category, by reactions, by comments, by creation date, or even by location.</p>
<h3 dir="auto" id="community-diaries--share-a-landing-page-for-diaries">“Community Diaries &gt; Share” a landing page for diaries</h3>
<p dir="auto"><img src="https://i.postimg.cc/G37qvwbP/Community-Diaries-Share.jpg" alt="Community Diaries Share" loading="lazy"></p>
<h3 dir="auto" id="community-diaries--explore-a-page-for-curating-diaries">“Community Diaries &gt; Explore” a page for curating diaries</h3>
<p dir="auto"><img src="https://i.postimg.cc/TYhTfDdV/Community-Diaries-Explore.jpg" alt="Community Diaries Explore" loading="lazy"></p>
</description>
<dc:creator>Koreller</dc:creator>
<pubDate>Tue, 01 Jul 2025 08:36:55 +0000</pubDate>
<comments>https://www.openstreetmap.org/user/Koreller/diary/407012#comments</comments>
</item>
<item>
<title>Kann Karten nicht mehr drucken!</title>
<link>https://www.openstreetmap.org/user/FrankBuchholz/diary/407010</link>
<guid>https://www.openstreetmap.org/user/FrankBuchholz/diary/407010</guid>
<description><p dir="auto">Kann Karten nicht mehr drucken!</p>
</description>
<dc:creator>FrankBuchholz</dc:creator>
<pubDate>Mon, 30 Jun 2025 09:44:39 +0000</pubDate>
<comments>https://www.openstreetmap.org/user/FrankBuchholz/diary/407010#comments</comments>
</item>
<item>
<title>Editing</title>
<link>https://www.openstreetmap.org/user/Ofoyrwoth/diary/407009</link>
<guid>https://www.openstreetmap.org/user/Ofoyrwoth/diary/407009</guid>
<description><p dir="auto">This is my my second day into the field of OSM, i went back and edited my home grown plce, yuh my home village and and waiting to welcome any reviews because i believe it is the right think to do and am welcoming any mistakes and am hoping to add many more places on the OSM today
I went ahead and edited my villages by adding the various buildings and trees that haven’t been mapped yet</p>
</description>
<dc:creator>Ofoyrwoth</dc:creator>
<pubDate>Mon, 30 Jun 2025 09:30:21 +0000</pubDate>
<comments>https://www.openstreetmap.org/user/Ofoyrwoth/diary/407009#comments</comments>
<geo:lat>0.055702319934704085</geo:lat>
<geo:long>32.466012239428835</geo:long>
<georss:point>0.055702319934704085 32.466012239428835</georss:point>
</item>
<item>
<title>Ventura Plaza</title>
<link>https://www.openstreetmap.org/user/Ingeniero43/diary/407006</link>
<guid>https://www.openstreetmap.org/user/Ingeniero43/diary/407006</guid>
<description><p dir="auto">Centro comercial</p>
</description>
<dc:creator>Ingeniero43</dc:creator>
<pubDate>Mon, 30 Jun 2025 02:42:23 +0000</pubDate>
<comments>https://www.openstreetmap.org/user/Ingeniero43/diary/407006#comments</comments>
<geo:lat>7.888399253680378</geo:lat>
<geo:long>-72.4968963861466</geo:long>
<georss:point>7.888399253680378 -72.4968963861466</georss:point>
</item>
<item>
<title>9999 edits - a love letter to OpenSteetMap</title>
<link>https://www.openstreetmap.org/user/Kri_ttt/diary/407004</link>
<guid>https://www.openstreetmap.org/user/Kri_ttt/diary/407004</guid>
<description><p dir="auto">so i’m nearing my 10,000th edit on openstreetmap.<br>
wild. i’ve been thinking a lot about what that actually means.<br>
what started as a hobby - or maybe an obsession - has slowly become a record of care. <br>a way to see. <br>a way to let others see.<br>
mapping Bangkok, piece by piece.<br>
making it just a little more visible.<br>
a little more precise.<br>
a little more known - to others, <br>and to myself.<br>
i’ve been thinking a lot about maps.<br> about what this whole thing has meant - not just as a mapper, <br>but as a local voice,<br> a small thread in a bigger web, by others. <br>by myself.<br> by the place itself. <br>piece by piece. <br>making it just a little more visible. <br>a little more precise. <br>a little more known - to others, <br>and to myself.<br>
-<br>
i’ve always loved maps.<br>
even when i didn’t know the word for what i was feeling.<br>
as a kid, i was drawn to them like magnets. <br>
atlases in bookshops. globes with soft pastel oceans. <br>
the tiny maps printed on the backs of business cards.<br>
spatial things made me feel calm. <br>
made me feel like the world could be held in my hands.<br>
Vast space compress into something compact, 2 dimensional.<br>
-<br>
my first game was simcity 4 - my dad played it.<br> i didn’t really get it, <br>but i still did play it. <br>a lot, <br>to much, maybe.<br>
then came minecraft. <br>and yeah, like every gen z kid, <br>i was obsessed.
not the survival part.<br>
i built cities. <br>creative model. <br>little parks and structures. <br>entire worlds.<br>i think i was looking for something i hadn’t seen yet in real life. <br>or maybe building the kind of place i wanted to see.<br>
-<br>
i still don’t know where the fascination comes from.<br>
maybe it’s an autistic special interest.<br>
maybe it’s just how i’ve always tried to make sense of things - through shapes, <br>through patterns, <br>through place.<br>
-<br>
it was the monsoon season of 2021.<br>
midst of covid lockdown. my last year of high school.
rain on the roof every day.<br>
i opened openstreetmap one night and… that was it.<br>
the editor was slow, clunky, frustrating - but something about it felt right.<br>
i mapped a street.<br>
then my school.<br>
then a neighborhood.<br>
then a whole district.<br>
and then i edit.<br>
and edit.<br>
like nothing else matters.<br>
i know it’s not healthy.<br>
i know i’m not supposed to feel this alive hunched over a screen, tracing lines, renaming bus stops, aligning satellite tiles until my eyes blur.<br>
but it satisfies something.<br>
something deep.<br>
something hidden in a place i don’t have a name for.<br>
a warm ache in the center of me that only quiet edits can soothe.<br>
so i keep going.<br>
i expand.<br>
translating tools like josm into thai, writing wiki articles, answering forum posts like i’ve been part of this community forever.<br>
and maybe i have.<br>
maybe this is my hometown, too.<br>
not the real one, but the mapped one. <br>the shared one. <br>the infinite, editable one.<br>
and now i’m here.<br>
thousands of edits later.<br>
still tracing, still tagging.<br>still trying to name things.<br>
still looking for a way to understand the world a little better.<br>
openstreetmap is familiar to me now.<br>
like an old friend.<br>
like a ritual.<br>
and somewhere along the way i realized - <br>
i believe in open-source.<br>
i believe in open-content.<br>
i believe geographical data is a human right.<br>
i believe it should be free.<br>
for everyone.<br>
forever.<br>
and yes - <br>
i do love openstreetmap &lt;3<br>
-<br>
thanks for reading. if you’re here, you probably get it.<br>
-&nbsp;<br>
🗺️✳️<br>
krittin</p>
</description>
<dc:creator>Kri_ttt</dc:creator>
<pubDate>Sun, 29 Jun 2025 14:14:47 +0000</pubDate>
<comments>https://www.openstreetmap.org/user/Kri_ttt/diary/407004#comments</comments>
</item>
<item>
<title>مدينة أبوقير الجديدة</title>
<link>https://www.openstreetmap.org/user/%D9%90Ahmed%20Yahia/diary/407002</link>
<guid>https://www.openstreetmap.org/user/%D9%90Ahmed%20Yahia/diary/407002</guid>
<description><p dir="auto">مدينة أبوقير الجديدة</p>
</description>
<dc:creator>ِAhmed Yahia</dc:creator>
<pubDate>Sun, 29 Jun 2025 03:19:36 +0000</pubDate>
<comments>https://www.openstreetmap.org/user/%D9%90Ahmed%20Yahia/diary/407002#comments</comments>
<geo:lat>31.33774480715643</geo:lat>
<geo:long>30.0522766134236</geo:long>
<georss:point>31.33774480715643 30.0522766134236</georss:point>
</item>
<item>
<title>Personal Mappilary project-2025</title>
<link>https://www.openstreetmap.org/user/Bayazid%20Ahmed/diary/407001</link>
<guid>https://www.openstreetmap.org/user/Bayazid%20Ahmed/diary/407001</guid>
<description>
<h1 dir="auto" id="a-journey-on-foot-a-project-from-the-heart">🚶♂️ A journey on foot, a project from the heart.</h1>
<p dir="auto">This project began with my own steps — capturing street-level imagery from Daffodil International University to Eastern University, Dhaka, Savar. Using <a href="https://www.mapillary.com/app/user/Bayazid_Ahmed?lat=23.875891461564834&amp;lng=90.31950214803999&amp;z=17&amp;pKey=3506563999480053" rel="nofollow noopener noreferrer">Mapillary</a>, I documented the road to support open mapping.</p>
<p dir="auto">These images aren’t just photos — they’re vital pieces that will directly support and enhance OpenStreetMap. Every frame contributes to a bigger, collaborative mission: building a better, more accurate map for everyone.</p>
<p dir="auto"><img src="https://media.licdn.com/dms/image/v2/D5622AQFJ-HSn2SMBUQ/feedshare-shrink_800/B56Ze4MlfwH8Ag-/0/1751141998388?e=1753920000&amp;v=beta&amp;t=04p3jQuwMxGDAS8z72IMQe560H4pTeotDfAl1Vfojtg" alt="" loading="lazy"></p>
<p dir="auto">The journey is still ongoing, day by day. Feel free to share any powerful screenshots — let’s map the future, together. 🌍</p>
</description>
<dc:creator>Bayazid Ahmed</dc:creator>
<pubDate>Sat, 28 Jun 2025 20:17:19 +0000</pubDate>
<comments>https://www.openstreetmap.org/user/Bayazid%20Ahmed/diary/407001#comments</comments>
<geo:lat>23.866547745076932</geo:lat>
<geo:long>90.31389892101288</geo:long>
<georss:point>23.866547745076932 90.31389892101288</georss:point>
</item>
<item>
<title>OsmAnd Live, Free for OSM Mappers</title>
<link>https://www.openstreetmap.org/user/buy_osmand/diary/407000</link>
<guid>https://www.openstreetmap.org/user/buy_osmand/diary/407000</guid>
<description><p dir="auto">are eligible for free unlimited map downloads and live updates. To qualify: <a href="https://osmand.net/docs/user/plugins/osm-editing" rel="nofollow noopener noreferrer">Enable the OpenStreetMap Editing plugin</a>. Log in with your OSM username. Maintain at least 30 edits over the last two months.</p>
<p dir="auto"><a href="https://osmand.net/docs/user/personal/maps-resources?_highlight=live#free-for-osm-mappers" rel="nofollow noopener noreferrer">?_highlight=live#free-for-osm-mappers</a></p>
<h1 dir="auto" id="alhamdullilahirrabilaalaameen">Alhamdullilahirrabilaalaameen!</h1>
</description>
<dc:creator>buy_osmand</dc:creator>
<pubDate>Sat, 28 Jun 2025 14:55:26 +0000</pubDate>
<comments>https://www.openstreetmap.org/user/buy_osmand/diary/407000#comments</comments>
</item>
<item>
<title>Request to Add Charchall Village – Akre District, Kurdistan Region</title>
<link>https://www.openstreetmap.org/user/Harkimuhamad/diary/406999</link>
<guid>https://www.openstreetmap.org/user/Harkimuhamad/diary/406999</guid>
<description><p dir="auto">Hello everyone,</p>
<p dir="auto">I would like to request the addition of a missing village to OpenStreetMap. The village is called Charchall, located in the Akre District, Sawsana Subdistrict, Duhok Governorate, in the Kurdistan Region of Iraq.</p>
<p dir="auto">Basic information:</p>
<p dir="auto">🏘️ Village name: Charchall</p>
<p dir="auto">🗺️ District: Akre</p>
<p dir="auto">🏞️ Subdistrict: Sawsana</p>
<p dir="auto">🏴 Governorate: Duhok – Kurdistan Region, Iraq</p>
<p dir="auto">🧾 Postal Code: 24005</p>
<p dir="auto">🛣️ Main connecting road: Charchall Road</p>
<p dir="auto">📍 Nearby village: benatah</p>
<p dir="auto">This village is recognized by local government maps, but it is still missing from OpenStreetMap. We kindly ask for it to be added so that the area can be better represented for residents, navigation, and future development.</p>
</description>
<dc:creator>Harkimuhamad</dc:creator>
<pubDate>Sat, 28 Jun 2025 12:28:24 +0000</pubDate>
<comments>https://www.openstreetmap.org/user/Harkimuhamad/diary/406999#comments</comments>
<geo:lat>36.7519516162354</geo:lat>
<geo:long>43.74403953552246</geo:long>
<georss:point>36.7519516162354 43.74403953552246</georss:point>
</item>
<item>
<title>résumé</title>
<link>https://www.openstreetmap.org/user/Gasconha18/diary/406998</link>
<guid>https://www.openstreetmap.org/user/Gasconha18/diary/406998</guid>
<description><h2 dir="auto" id="objc">objc.</h2>
<ul dir="auto">
<li>Road networks / Réseaux routiers</li>
</ul>
<p dir="auto">(esp. ref /
spé. ref)</p>
<h2 dir="auto" id="zone">zone</h2>
<ul dir="auto">
<li>Gironde + Northern Landes (France) / Gironde + Nord des Landes (France)</li>
</ul>
</description>
<dc:creator>Gasconha18</dc:creator>
<pubDate>Sat, 28 Jun 2025 00:00:21 +0000</pubDate>
<comments>https://www.openstreetmap.org/user/Gasconha18/diary/406998#comments</comments>
</item>
<item>
<title>none</title>
<link>https://www.openstreetmap.org/user/BKPC/diary/406995</link>
<guid>https://www.openstreetmap.org/user/BKPC/diary/406995</guid>
<description><p dir="auto">none</p>
</description>
<dc:creator>BKPC</dc:creator>
<pubDate>Fri, 27 Jun 2025 15:03:33 +0000</pubDate>
<comments>https://www.openstreetmap.org/user/BKPC/diary/406995#comments</comments>
</item>
<item>
<title>Introduction</title>
<link>https://www.openstreetmap.org/user/Ofoyrwoth/diary/406994</link>
<guid>https://www.openstreetmap.org/user/Ofoyrwoth/diary/406994</guid>
<description><p dir="auto">Today is my introduction to OSM through an internship process by Mr Samson who take as through an online intern, we are getting into it before you know it and this will mark the start of one of the greatest open street mappers who has ver been born, am actually learning a lot from this process and looking forward to contributing so much to the members of the community, we wanna make Uganda great and make my village the best in the world
#2025OptusAcademyInternship</p>
</description>
<dc:creator>Ofoyrwoth</dc:creator>
<pubDate>Fri, 27 Jun 2025 08:26:53 +0000</pubDate>
<comments>https://www.openstreetmap.org/user/Ofoyrwoth/diary/406994#comments</comments>
<geo:lat>0.051757798037387476</geo:lat>
<geo:long>32.46254588729994</geo:long>
<georss:point>0.051757798037387476 32.46254588729994</georss:point>
</item>
<item>
<title>Isócronas en Python</title>
<link>https://www.openstreetmap.org/user/kaxtillo/diary/406993</link>
<guid>https://www.openstreetmap.org/user/kaxtillo/diary/406993</guid>
<description><h2 dir="auto" id="resaltar-reas-transitables-en-python">Resaltar áreas transitables en Python</h2>
<p dir="auto"><img src="https://live.staticflickr.com/65535/54615084087_a4742d1dd2.jpg" alt="Isócronas Popayán" loading="lazy">
En las ciencias geoespaciales y la inteligencia de ubicación, las isócronas representan áreas geográficas accesibles en un tiempo determinado desde un punto específico. Por ejemplo, en el contexto de las distancias a pie, las isócronas son herramientas útiles para profesionales como los urbanistas que buscan comprender la accesibilidad y la conectividad dentro de un área determinada.</p>
<p dir="auto">Al visualizar las isócronas, la ciencia de datos puede proporcionar una herramienta rápida y fácil de usar para ayudar a obtener información sobre el nivel de conectividad y accesibilidad a pie de los vecindarios, ayudar a identificar áreas que están bien conectadas y señalar áreas potenciales de mejoras de infraestructura.</p>
<p dir="auto">En este artículo, explico cómo generar isócronas de distancia a pie mediante los paquetes de Python NetworkX (diseñado para análisis de grafos) y OSMNnx (que combina OpenStreetMap y NetworkX). Tomamos como ejemplo Perímetro urbano de la ciudad de Popayán. Primero, descargamos la red vial del área, seleccionamos un nodo aleatorio (una intersección aleatoria) y dibujamos las isócronas de distancia a pie de 5, 10, 20 y 30 minutos a su alrededor.</p>
<h2 dir="auto" id="adquisicin-de-datos">1. Adquisición de datos</h2>
<p dir="auto">Primero, importaremos OSMnx y lo usaremos para descargar los límites administrativos del área objetivo. Puede reemplazarlo por el nombre de cualquier lugar que prefiera, que puede consultar fácilmente en OpenStreetMap. A continuación, usaremos OSMnx para descargar la red vial del área objetivo y mostrar el tamaño de esta red de nodos en términos de número de intersecciones y segmentos viales. Además, debemos especificar el tipo de red , que ahora está configurado como “walk” para obtener solo las partes transitables de la red vial.</p>
<pre dir="auto"><code># Importing osmnx
import osmnx as ox
# Configurar Matplotlib para visualización si es necesario
# import matplotlib.pyplot as plt
# Definir el polígono para la ciudad de Popayán, Cauca, Colombia
# Es importante ser específico para que OSMnx identifique correctamente el área.
# Puedes probar con diferentes niveles de especificidad si la primera no funciona,
# por ejemplo: 'Popayán, Colombia' o 'Popayán'.
# 'Perímetro urbano de Popayán, Cauca, Colombia' es un buen punto de partida.
print("Geocodificando la ciudad de Popayán...")
try:
admin_district = ox.geocode_to_gdf('Perímetro urbano de Popayán, Cauca, Colombia')
print("Geocodificación exitosa.")
except Exception as e:
print(f"Error al geocodificar Popayán: {e}")
print("Asegúrate de que la cadena de ubicación sea correcta y haya conexión a internet.")
# Puedes probar con una cadena menos específica si da error, como 'Popayán, Colombia' o 'Popayán'
admin_district = ox.geocode_to_gdf('Popayán, Colombia') # Intento alternativo
# Muestra el polígono en un gráfico (opcional, para verificar que es correcto)
print("Mostrando el polígono geocodificado...")
admin_district.plot()
# Si estás en un entorno interactivo como Jupyter, la trama se mostrará automáticamente.
# Si estás en un script .py, puedes añadir plt.show() al final para que la ventana del gráfico aparezca.
# plt.show()
# Extraer la geometría del polígono de la primera fila del GeoDataFrame
# Asumimos que el primer resultado es el correcto para la ciudad de Popayán.
# Puedes inspeccionar admin_district si hay múltiples geometrías.
admin_poly = admin_district.geometry.values[0]
# Guardar imagen del mapa
png_path = os.path.join(output_dir, "map.png")
plt.savefig(png_path, dpi=300, bbox_inches='tight')
# Cargar el grafo de la red de calles dentro de ese polígono
print("Cargando el grafo de la red de calles de Popayán...")
G = ox.graph_from_polygon(admin_poly, network_type='walk')
print("Grafo cargado exitosamente.")
print('\nAnálisis de la red de calles de Popayán:')
print('Número de intersecciones (nodos): ', G.number_of_nodes())
print('Número de segmentos de carretera (aristas):', G.number_of_edges())
# Opcional: Visualizar el grafo
# print("\nVisualizando el grafo...")
# fig, ax = ox.plot_graph(G, figsize=(10, 10), node_size=0, edge_linewidth=0.5, show=False, close=False)
# plt.title("Red Peatonal de Popayán")
# plt.show()
</code></pre>
<h2 dir="auto" id="polgonos-de-alcanzabilidad">2. Polígonos de alcanzabilidad</h2>
<p dir="auto">Ahora, construyamos los polígonos isócronos de transitabilidad. Para ello, primero, asumimos una velocidad promedio de caminata de 5 km/h (1,39 m/s) y, con esta velocidad, asignamos un tiempo de caminata a cada borde de la red vial. Luego, seleccionamos un nodo aleatorio para comenzar y definimos la lista de rangos de transitabilidad: 5, 10, 20 y 30 minutos.</p>
<p dir="auto">Para crear los polígonos de accesibilidad, primero usamos la función integrada de NetworkX llamada _ego graph , que devuelve un subgrafo específico de la red vial original que contiene todos los nodos dentro de un radio determinado, según las métricas de distancia que elijamos. Si seleccionamos _travel time , podemos devolver el subgrafo accesible en un tiempo determinado y almacenarlo como un atributo de borde llamado _travel time .</p>
<p dir="auto">Luego, necesitamos extraer todas las coordenadas de los nodos de este subgrafo, que almacenaremos en la lista _node points . Finalmente, las convertimos en un polígono, lo graficamos y lo guardamos para la siguiente sección.</p>
<p dir="auto">El resultado: todos los polígonos isócronos de transitabilidad, para 5, 10, 20 y 30 minutos, respectivamente</p>
<pre dir="auto"><code># Define the walking speed (5 km/h -&gt; 1.39 m/s)
walking_speed = 1.39 # in meters per second
# Calculate travel time for each edge
for u, v, data in G.edges(data=True):
# Calculate travel time in seconds
data['travel_time'] = data['length'] / walking_speed
# Pick a center node
center_node = list(G.nodes())[30] # starting point
# Generate isochrones
isochrone_times = [5, 10, 20, 30] # isochrones in minutes
# Library imports
import networkx as nx
from shapely.geometry import Point, Polygon
import geopandas as gpd
isochrone_polys = []
for time in isochrone_times:
subgraph = nx.ego_graph(G,
center_node,
radius=time*60,
distance='travel_time')
node_points = [Point((data['x'], data['y']))
for node, data in subgraph.nodes(data=True)]
polygon = Polygon(gpd.GeoSeries(node_points).unary_union.convex_hull)
gpd.GeoDataFrame([polygon], columns = ['geometry']).plot()
isochrone_polys.append(gpd.GeoSeries([polygon]))
</code></pre>
<h2 dir="auto" id="visualizando-las-iscronas">3. Visualizando las isócronas</h2>
<p dir="auto">Por último, utilicemos Matplotlib y la coloración de rojo a verde para trazar y visualizar las isócronas sobre la red de carreteras.</p>
<pre dir="auto"><code>import os
# Crear carpeta de salida (si no existe)
output_dir = "isochrones_popayan"
os.makedirs(output_dir, exist_ok=True)
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
import osmnx as ox
import networkx as nx
import geopandas as gpd
ox.settings.use_cache = True
ox.settings.log_console = True
# 1. Obtener geometría de Popayán
admin_district = ox.geocode_to_gdf('Perímetro urbano de Popayán, Cauca, Colombia')
polygon = admin_district.geometry.iloc[0]
# 2. Descargar red caminable
G = ox.graph_from_polygon(polygon, network_type='walk', simplify=True)
# 3. Proyectar grafo a CRS métrico
G_proj = ox.project_graph(G)
nodes_proj = ox.graph_to_gdfs(G_proj, nodes=True, edges=False)
# 4. Nodo de inicio: centroide proyectado
# Coordenadas del punto inicial (WGS84)
lat, lon = 2.441901, -76.606439
# Crear GeoSeries y proyectar al CRS del grafo
point_wgs = gpd.GeoSeries([gpd.points_from_xy([lon], [lat])[0]], crs="EPSG:4326")
point_proj = point_wgs.to_crs(G_proj.graph['crs'])
x, y = point_proj.geometry.iloc[0].x, point_proj.geometry.iloc[0].y
# Obtener el nodo más cercano a esas coordenadas proyectadas
center_node = ox.distance.nearest_nodes(G_proj, X=x, Y=y)
# 5. Definir tiempos y distancias
trip_times = [5, 10, 15, 20] # minutos
meters_per_minute = 80 # m/min
travel_distances = [t * meters_per_minute for t in trip_times]
# 6. Generar polígonos de isócrona
def make_iso_polys(G, center_node, distances):
polys = []
for dist in distances:
subgraph = nx.ego_graph(G, center_node, radius=dist, distance='length')
nodes_gdf = ox.graph_to_gdfs(subgraph, nodes=True, edges=False)
if not nodes_gdf.empty:
union = nodes_gdf.unary_union
buffered = gpd.GeoSeries([union]).buffer(100) # Aumentar buffer para visibilidad
polys.append(buffered)
else:
polys.append(gpd.GeoSeries())
return polys
isochrone_polys = make_iso_polys(G_proj, center_node, travel_distances)
# 7. Visualización
fig, ax = plt.subplots(figsize=(10, 10))
colors = ['red', 'orange', 'yellow', 'green']
# Dibujar isócronas
for idx, (poly, time) in enumerate(reversed(list(zip(isochrone_polys, trip_times)))):
if not poly.empty and not poly.is_empty.all():
poly.plot(ax=ax, color=colors[idx], alpha=0.4)
poly.boundary.plot(ax=ax, color=colors[idx], linewidth=2)
# Leyenda manual
handles = [
mpatches.Patch(color=colors[idx], alpha=0.5, label=f'{time} min')
for idx, time in enumerate(reversed(trip_times))
]
ox.plot_graph(G_proj, ax=ax, node_size=0, edge_linewidth=0.5, show=False)
ax.set_title("Isócronas desde el centro de Popayán, Cauca", fontsize=15)
plt.legend(handles=handles)
plt.tight_layout()
# Guardar imagen del mapa
png_path = os.path.join(output_dir, "isochrones_map.png")
plt.savefig(png_path, dpi=300, bbox_inches='tight')
plt.show()
</code></pre>
<p dir="auto"><a href="https://github.com/kaxtillo/OSMnx/blob/main/OSMnx_isochrone.ipynb" rel="nofollow noopener noreferrer">Repositorio</a></p>
</description>
<dc:creator>kaxtillo</dc:creator>
<pubDate>Thu, 26 Jun 2025 20:14:11 +0000</pubDate>
<comments>https://www.openstreetmap.org/user/kaxtillo/diary/406993#comments</comments>
<geo:lat>2.4415215095572482</geo:lat>
<geo:long>-76.60780334263109</geo:long>
<georss:point>2.4415215095572482 -76.60780334263109</georss:point>
</item>
<item>
<title>OsmAPP 1.7.0 released</title>
<link>https://www.openstreetmap.org/user/zby-cz/diary/406992</link>
<guid>https://www.openstreetmap.org/user/zby-cz/diary/406992</guid>
<description><ul dir="auto">
<li>URL: <a href="https://osmapp.org" rel="nofollow noopener noreferrer" dir="auto">https://osmapp.org</a></li>
<li>Full changelog: <a href="https://github.com/zbycz/osmapp/releases/tag/v1.7.0" rel="nofollow noopener noreferrer" dir="auto">https://github.com/zbycz/osmapp/releases/tag/v1.7.0</a></li>
</ul>
<p dir="auto">OsmAPP is the one integrated app for OpenStreetMap ecosystem for both web and mobile. It should be as easy to use as Google Maps, but fully open-source using all the great services around. It was first aimed at broad public, but now it becomes apparent, that it works best for the OpenStreetMap contributors, who want better UX or share OSM around.</p>
<p dir="auto">Special thanks to all our 6 contributors in this release. 🎉</p>
<h3 dir="auto" id="the-new-relation-editor">The new Relation editor</h3>
<p dir="auto">The main feature of this release is the reworked Edit dialog with the new Relation editor. That took a lot of work and refactoring. Now if you click (or create) a relation, you can browser through its members and its parents and easily edit metadata accross whole hierarchies.</p>
<p dir="auto">It is the most useful on hierarchies like the <code dir="auto">climbing=area</code>, <code dir="auto">climbing=crag</code> and routes (<a href="https://osmapp.org/relation/17130099/edit" rel="nofollow noopener noreferrer">example here</a>), but it is written in general manner and can help OSM contributors in unexpected ways.</p>
<p dir="auto"><img width="500" alt="editdialog" src="https://raw.githubusercontent.com/zbycz/osm-static/main/screenshots/release-1.7.0/editdialog.jpg" loading="lazy"></p>
<h3 dir="auto" id="indoor-maps---">Indoor maps 🏢 🏣 🏛️</h3>
<p dir="auto">Thanks to <a href="https://2metz.fr/" rel="nofollow noopener noreferrer">@francois2metz</a> who created vector tiles for indoor features (<a href="https://indorequeal.com/" rel="nofollow noopener noreferrer">indorequeal.com</a>), you can now browse inside of buildings, where it is mapped with <code dir="auto">level=*</code> and <code dir="auto">indoor=*</code> tags. (<a href="https://osmapp.org/#17.85/50.0726/14.4023" rel="nofollow noopener noreferrer">Example</a>). Or find some examples in your neighborhood with query: <code dir="auto">level=* and indoor=*</code> which you can enter in the search box (or <a href="https://osmapp.org/?q=level=*%20and%20indoor=*" rel="nofollow noopener noreferrer">link</a>)</p>
<p dir="auto"><img width="500" alt="indoor" src="https://raw.githubusercontent.com/zbycz/osm-static/main/screenshots/release-1.7.0/indoor.jpg" loading="lazy"></p>
<h3 dir="auto" id="directions-evolved----">Directions evolved 🚶 🚴 🚗 🚀</h3>
<p dir="auto">Directions form has evolved to the industry standard. You can add multiple destinations, drag&amp;drop them, click the map, drag the markers or choose “My location”. Thanks to <a href="https://www.openstreetmap.org/user/jvaclavik" rel="nofollow noopener noreferrer">@jvaclavik</a> for development, and <a href="https://github.com/karussell" rel="nofollow noopener noreferrer">@karussell</a> for providing a free tier on the Graphhoper.com. ❤️</p>
<p dir="auto"><img width="400" alt="directions" src="https://raw.githubusercontent.com/zbycz/osm-static/main/screenshots/release-1.7.0/directions.jpg" loading="lazy"></p>
<h3 dir="auto" id="wikimedia-commons-category-preview">Wikimedia Commons Category preview</h3>
<p dir="auto">One fun addition was to develop a custom “masonry-style” preview image, when an OSM feature links to a Wikimedia Commons Category. OsmAPP now download first 10 images and tries to fit them in a nice collage. You can explore OSM items in your vicinity by executing this Overpass query in the OsmAPP searchbox: <code dir="auto">op:nwr["wikimedia_commons"~"Category"]</code>
(or <a href="https://osmapp.org/?q=op:nwr%5B%22wikimedia_commons%22~%22Category%22%5D" rel="nofollow noopener noreferrer">link</a>).</p>
<p dir="auto"><img width="400" alt="category preview" src="https://raw.githubusercontent.com/zbycz/osm-static/main/screenshots/release-1.7.0/category.jpg" loading="lazy"></p>
<h3 dir="auto" id="other-notable-changes">Other notable changes</h3>
<ul dir="auto">
<li>⚙️ Add metric/imperial switch to settings by <a href="https://github.com/dlurak" rel="nofollow noopener noreferrer">@Dlurak</a>, <a href="https://github.com/zbycz/osmapp/pull/812" rel="nofollow noopener noreferrer">PR</a>
<ul dir="auto">
<li>You can choose the system by clicking the measure component in the down left. It will be instantly propagated through the whole app.</li>
</ul>
</li>
<li>🌎 Use globe 3D projection by <a href="https://www.openstreetmap.org/user/jvaclavik" rel="nofollow noopener noreferrer">@jvaclavik</a>, <a href="https://github.com/zbycz/osmapp/pull/817" rel="nofollow noopener noreferrer">PR</a>
<ul dir="auto">
<li>Because flat-earth is so old-school. 🙂 🗺️</li>
</ul>
</li>
<li>🚌 add transport layer from Thunderforest.com + dark mode by <a href="https://github.com/zbycz" rel="nofollow noopener noreferrer">@zbycz</a>, <a href="https://github.com/zbycz/osmapp/pull/789" rel="nofollow noopener noreferrer">PR</a>
<ul dir="auto">
<li>This is the only layer on OsmAPP, which follows the user setting of Dark mode / Light mode.</li>
</ul>
</li>
<li>📍 Coordinate and OLC search by <a href="https://github.com/dlurak" rel="nofollow noopener noreferrer">@Dlurak</a>, <a href="https://github.com/zbycz/osmapp/pull/927" rel="nofollow noopener noreferrer">PR</a>
<ul dir="auto">
<li>Plus codes and coordinates can be pasted in the SearchBox to display it on the map. Also when you share</li>
</ul>
</li>
</ul>
<h3 dir="auto" id="climbing-project-update">Climbing project update</h3>
<p dir="auto">OpenClimbing.org is a standalone app for using the rock climbing data in OpenStreetMap. It is fully based on OsmAPP and with this release we celebrate the public launch of the service.</p>
<p dir="auto">You can read more in a dedicated blogpost: <a href="https://www.openstreetmap.org/user/jvaclavik/diary/406991" rel="nofollow noopener noreferrer">HERE</a></p>
<h3 dir="auto" id="summary-of-all-cool-features-in-osmapp----">Summary of all cool features in OsmAPP 🗺 📱 🖥</h3>
<ul dir="auto">
<li><strong>clickable map</strong> – POIs, cities, localities, ponds, airports (more coming soon)</li>
<li><strong>feature panel</strong> – presets and fields from iD editor
<ul dir="auto">
<li>Display multiple images from Wikipedia, Wikidata, Commons, Mapillary, KartaView, Panoramax or Fody</li>
<li>public transport: clickable line numbers (on stops), routes on map (on stations), stop itineraries (on routes)</li>
<li>Socket types on electric vehicle charging stations</li>
<li>Runway table on airports, viewpoint direction arrow, colors as colors</li>
</ul>
</li>
<li><strong>editing</strong> – Save changes with osm login. Insert note for anonymous users.
<ul dir="auto">
<li>Opening hours editor – use simple editor for most common cases.</li>
<li>Relation hierarchy editor - simply click through relation childs and parents. Optimized for climbing=area, climbing=crag and routes.</li>
</ul>
</li>
<li><strong>search engine</strong> – try for example “Tesco, London” (powered by Photon).
<ul dir="auto">
<li>Category search using <a href="https://github.com/openstreetmap/id-tagging-schema" rel="nofollow noopener noreferrer">iD editor presets</a></li>
<li>For advanced users: support for overpass queries (e.g. <code dir="auto">amenity=*</code> or <code dir="auto">op:&lt;query&gt;</code>)</li>
</ul>
</li>
<li><strong>directions</strong> - everyhing you need from modern app - drag&amp;drop destinations, drag markers, click to map to select, etc. (by <a href="https://www.graphhopper.com/" rel="nofollow noopener noreferrer">GraphHopper Directions API</a>)</li>
<li><strong>vector maps</strong> – with the possibility of tilting to 3D (drag the compass, or do two fingers drag)
<ul dir="auto">
<li>3D terrain – turned on when tilted</li>
<li>tourist map – vector Outdoor map from MapTiler including marked routes</li>
</ul>
</li>
<li><strong>layer switcher</strong> – you can add your own layers, also select from <code dir="auto">editor-layer-index</code> list</li>
<li><strong>mobile applications</strong> – using PWA technology, see <a href="https://osmapp.org/install" rel="nofollow noopener noreferrer">osmapp.org/install</a></li>
<li><strong>permanent URLs</strong> – eg. <a href="https://osmapp.org/way/123557148" rel="nofollow noopener noreferrer">osmapp.org/way/123557148</a> and shortener, eg. <a href="https://osmapp.org/kkjwwaw" rel="nofollow noopener noreferrer">osmapp.org/kkjwwaw</a></li>
<li><strong>creating POIs</strong> – after clicking the coordinates (see e.g. <a href="https://osmapp.org/50.1,14.39" rel="nofollow noopener noreferrer">osmapp.org/50.1,14.39</a>)</li>
<li><strong>languages</strong> – interface in English, Czech, German, Polish, Spanish, Amharic, Italian, French, Japanese</li>
<li><strong>undelete</strong> – undo accidental delete in osmapp or elsewhere, e.g. <a href="https://osmapp.org/node/1219767385" rel="nofollow noopener noreferrer">here</a></li>
<li>and a lot of little details 🙂</li>
</ul>
<hr>
<p dir="auto">We are looking forward to any feedback!</p>
<p dir="auto">Thank you for your support!</p>
<p dir="auto"><a href="https://www.openstreetmap.org/user/zby-cz" rel="nofollow noopener noreferrer">@zbycz</a> and <a href="https://www.openstreetmap.org/user/jvaclavik" rel="nofollow noopener noreferrer">@jvaclavik</a></p>
</description>
<dc:creator>zby-cz</dc:creator>
<pubDate>Thu, 26 Jun 2025 15:44:00 +0000</pubDate>
<comments>https://www.openstreetmap.org/user/zby-cz/diary/406992#comments</comments>
</item>
<item>
<title>Openclimbing.org - climbing guides & topos in OpenStreetMap</title>
<link>https://www.openstreetmap.org/user/jvaclavik/diary/406991</link>
<guid>https://www.openstreetmap.org/user/jvaclavik/diary/406991</guid>
<description><p dir="auto">The goal of <a href="https://openclimbing.org" dir="auto" rel="nofollow noopener noreferrer">https://openclimbing.org</a> is to offer a <strong>non-commercial alternative to traditional climbing apps</strong>. Instead of filling private databases, we decided to design a structure for <a href="https://wiki.openstreetmap.org/wiki/Key:wikimedia_commons:path" rel="nofollow noopener noreferrer">mapping climbing routes</a> directly into OpenStreetMap.</p>
<p dir="auto">This way, <strong>all data in the app is fully open and can be freely used or edited by anyone</strong>.</p>
<p dir="auto"><img src="https://janvaclavik.cz/wp-content/uploads/2025/06/hlubocepy.png" alt="Climbing guide for climbing crag Hlubočepy, Czechia" loading="lazy">
<a href="https://openclimbing.org/relation/17262674/climbing/photo/Hlubo%C4%8Depsk%C3%A9%20plotny%20-%20Prav%C3%A1%20plotna.jpg#17.00/50.0432/14.3924" rel="nofollow noopener noreferrer">Image: Crag with marked climbing routes in Hlubočepy, Czechia</a></p>
<h2 dir="auto" id="key-features-of-openclimbingorg">Key Features of openclimbing.org</h2>
<ul dir="auto">
<li>
<p dir="auto">Both the database and the <a href="https://github.com/zbycz/osmapp" rel="nofollow noopener noreferrer">code</a> are completely open, so anyone can contribute with content or code. Thanks to the open data approach, anyone can create new ways to use or visualize the data.</p>
</li>
<li>
<p dir="auto">Each climbing route has defined GPS coordinates, making it easier to find in the terrain. This is big advantage but also a limitation – you cannot add routes without it.</p>
</li>
</ul>
<p dir="auto"><img src="https://janvaclavik.cz/wp-content/uploads/2025/06/map.png" alt="Showing climbing routes on the map" loading="lazy">
<a href="https://openclimbing.org/relation/17089246#18.58/49.6540/14.2522" rel="nofollow noopener noreferrer">Image: Climbing routes on the map</a></p>
<ul dir="auto">
<li>Optimized for mobile devices, so it can be used directly in the field.</li>
<li>Integration of the map with photo EXIF data – you can see on the map where a photo was taken and where climbing routes are located.</li>
</ul>
<h3 dir="auto" id="d-climbing-maps">3D climbing maps</h3>
<ul dir="auto">
<li>Fully mapped climbing crags can be displayed in 3D – tilt the map (ctrl/cmd+drag)</li>
</ul>
<p dir="auto"><img src="https://janvaclavik.cz/wp-content/uploads/2025/06/divadylko.png" alt="climbing crag in 3D" loading="lazy">
<a href="https://openclimbing.org/relation/17424001" rel="nofollow noopener noreferrer">Image: Kačák climbing area, Czechia</a></p>
<p dir="auto"><img src="https://janvaclavik.cz/wp-content/uploads/2025/06/uskedalen.png" alt="Climbing area Uskedalen in 3D" loading="lazy">
<a href="https://openclimbing.org/relation/19136912" rel="nofollow noopener noreferrer">Image: Uskedalen climbing area, Norway</a></p>
<ul dir="auto">
<li>A basic climbing logbook for tracking ascents, with the option to display them directly on the map.</li>
<li>For drawing climbing routes onto photos, we use the <a href="https://wiki.openstreetmap.org/wiki/Key:wikimedia_commons:path" rel="nofollow noopener noreferrer">wikimedia_commons:path specification</a>, and the photos are stored in <a href="https://commons.wikimedia.org/" rel="nofollow noopener noreferrer">Wikimedia Commons</a>. Additionally, we use a climbing tagging scheme documented directly on the <a href="https://wiki.openstreetmap.org/wiki/Tag:sport%3Dclimbing" rel="nofollow noopener noreferrer">OSM Wiki</a>, which is also supported by the iD editor.</li>
</ul>
<h3 dir="auto" id="grade-systems-conversion">Grade systems conversion</h3>
<ul dir="auto">
<li>The app includes a <a href="https://openclimbing.org/climbing-grades" rel="nofollow noopener noreferrer">converter</a> for most commonly used climbing grade systems.
<img src="https://janvaclavik.cz/wp-content/uploads/2025/06/grades.png" alt="Climbing grades table in openclimbing.org" loading="lazy"></li>
</ul>
<h1 dir="auto" id="stats">Stats</h1>
<ul dir="auto">
<li>We generate our own climbing tiles on the map, where we display:
<ul dir="auto">
<li>26,000+ climbing areas</li>
<li>22,000+ climbing routes</li>
<li>1,700+ climbing routes drawn on photos</li>
<li>8,000+ artificial climbing walls</li>
<li>200+ via ferratas</li>
</ul>
</li>
</ul>
<p dir="auto">We are looking forward to any feedback!</p>
<p dir="auto">Thank you for your support.</p>
<p dir="auto"><a href="https://www.openstreetmap.org/user/zby-cz" rel="nofollow noopener noreferrer">@zbycz</a> and <a href="https://www.openstreetmap.org/user/jvaclavik" rel="nofollow noopener noreferrer">@jvaclavik</a></p>
</description>
<dc:creator>jvaclavik</dc:creator>
<pubDate>Thu, 26 Jun 2025 15:40:57 +0000</pubDate>
<comments>https://www.openstreetmap.org/user/jvaclavik/diary/406991#comments</comments>
</item>
<item>
<title>Unicore UM980 use with RTKLIB for </title>
<link>https://www.openstreetmap.org/user/hopet/diary/406985</link>
<guid>https://www.openstreetmap.org/user/hopet/diary/406985</guid>
<description><p dir="auto">UM980 is relatively affordable chip allowing multi-constellation multi-frequency GNSS with capability to provide raw phase measurements and hence potentially suitable for use in OpenStreetMap environment for precise mapping susing RTK.</p>
<p dir="auto">In this post (or potentially series of posts), I will document my experiences with using UM980 with RTKLIB and other open-source or free tools.</p>
<h1 dir="auto" id="hardware">Hardware</h1>
<ul dir="auto">
<li>UM980 RTK GNSS USB Dongle with SMA antenna - ELT0222 (from <a href="https://gnss.store/unicore-gnss-modules/247-401-elt0222.html#/77-ant_mb2-no_antenna" rel="nofollow noopener noreferrer">gnss.store</a>)</li>
<li>EM-FD700 antenna (form <a href="https://www.aliexpress.com/item/1005007944873653.html" rel="nofollow noopener noreferrer">AliExpress</a>)</li>
</ul>
<p dir="auto">The module can easily be configured using UPrecise tool coming with UM980. It is advisable to have faster than default COM port rate
~~~
CONFIG COM1 230400
~~~
and use the signal group 2 (note that this leads to reset of the UM980 module
~~~
CONFIG SIGNALGROUP 2
~~~</p>
<p dir="auto">If you need to stop the stream of measured data, you can use
~~~
UNLOG
~~~
You can also UNLOG just specific messages.</p>
<p dir="auto">If you want to store your config of the module so that it survives unplugging and restarting the module, use
~~~
SAVECONFIG
~~~</p>
<h1 dir="auto" id="software-setup-on-android">Software setup on Android</h1>
<h2 dir="auto" id="rtkgps---collecting-raw-phase-measurements">RTKGPS+ - collecting raw phase measurements</h2>
<p dir="auto">This is to collect the raw data in real time. The <a href="https://github.com/sctg-development/RtkGps" rel="nofollow noopener noreferrer">last RTKGPS+ tool is release</a> is unfortunately relatively old and hence does not support, so the native UniCore support, which is available in <a href="https://github.com/rtklibexplorer/RTKLIB/releases/" rel="nofollow noopener noreferrer">demo5_b34L version of RTKLIB</a>, is not yet available in RTKGPS+. Hence it is mostly useful for collecting raw data, rather than providing real-time solutions. If you want to collect the data, choose BINEX as the format and just log the input stream from the USB. This is how to configure the module:</p>
<pre dir="auto"><code>CONFIG PPP DISABLE
OBSVMB 1
GPSEPHB 120
BDSEPHB 120
BD3EPHB 120
GLOEPHB 120
GALEPHB 120
GPSIONB 120
BDSIONB 120
BD3IONB 120
GALIONB 120
</code></pre>
<p dir="auto">If you want to have faster measurements, you can use
~~~
OBSVMB 0.2
~~~
But it may be then advisable to use at least 240kbaud rate of the COM port (which is generally well supported by RTKGPS+).</p>
<p dir="auto">The input stream configuration is 230400/8-N-1 and format to store the data is BINEX.</p>
<h2 dir="auto" id="rtkgps---undocumented-navtel-compatible-mode">RTKGPS+ - undocumented NavTel-compatible mode</h2>
<p dir="auto">Alternatively, one can attempt to use it using undocumented mode of UM980 to produce binary data compatible data:
~~~
RANGEB COM1 0.2
~~~
However, I had problem that only very poor solutions were found, with only using GLONASS and Galileo constellation - probably due to lack of ephemeris included (use of “CONFIG ALLEPHRTCM ENABLE” option is still to be explored).</p>
<p dir="auto">Then the input format is NovAtel OEMV/4.</p>
<h2 dir="auto" id="rtkgps---recording-the-base-data">RTKGPS+ - recording the base data</h2>
<p dir="auto">It is possible to use the RTKGPS+ to log also the data from the base, a nearby coming from IGS or from EUREF (both requiring a free registration) and store the data in RTCM 3 format.</p>
<h2 dir="auto" id="sw-maps---free-software-on-android-to-read-nmea-data">SW Maps - free software on Android to read NMEA data</h2>
<p dir="auto">This is an example how to use PPP on the UM980 module and collect the data using <a href="https://play.google.com/store/apps/details?id=np.com.softwel.swmaps&amp;hl=en" rel="nofollow noopener noreferrer">SW Maps</a>.
~~~
CONFIG PPP ENABLE E6-HAS
CONFIG PPP DATUM WGS84
CONFIG PPP TIMEOUT 120
CONFIG PPP CONVERGE 15 30</p>
<p dir="auto">GPGGA 0.2
GPGSA 1
GPGST 1
GPGSV 1
GPGLL 1
GPGNS 1
GPRMC 1
~~~</p>
<h1 dir="auto" id="use-of-rtklib-on-the-windows">Use of RTKLIB on the Windows</h1>
<p dir="auto">This assumes use of <a href="https://github.com/rtklibexplorer/RTKLIB/releases/" rel="nofollow noopener noreferrer">demo5_b34L version of RTKLIB</a> or later.
Once the data is captured using RTKLIB, one can process the data using convbin and rtkpost from RTKLIB to process the data</p>
<h2 dir="auto" id="converting-from-unc-and-rtcm3-formats">Converting from UNC and RTCM3 formats</h2>
<pre dir="auto"><code>convbin -od -os -oi -ot rover_20250626042937.unc
convbin -od -os -oi -ot base_20250626042937.rtcm3
</code></pre>
<h2 dir="auto" id="rtkpost-config-for-postprocessing-with-output-to-pos-file">rtkpost config for postprocessing with output to pos file</h2>
<pre dir="auto"><code># rtkpost options (2025/06/26 04:39:16, v.demo5 b34L)
pos1-posmode =kinematic # (0:single,1:dgps,2:kinematic,3:static,4:static-start,5:movingbase,6:fixed,7:ppp-kine,8:ppp-static,9:ppp-fixed)
pos1-frequency =l1+l2+l5+l6 # (1:l1,2:l1+l2,3:l1+l2+l5,4:l1+l2+l5+l6)
pos1-soltype =combined # (0:forward,1:backward,2:combined,3:combined-nophasereset)
pos1-elmask =15 # (deg)
pos1-snrmask_r =off # (0:off,1:on)
pos1-snrmask_b =off # (0:off,1:on)
pos1-snrmask_L1 =38,38,38,38,38,38,38,38,38
pos1-snrmask_L2 =0,0,0,0,0,0,0,0,0
pos1-snrmask_L5 =0,0,0,0,0,0,0,0,0
pos1-snrmask_L6 =0,0,0,0,0,0,0,0,0
pos1-dynamics =on # (0:off,1:on)
pos1-tidecorr =0 # (1:solid+2:otl+4:spole)
pos1-ionoopt =brdc # (0:off,1:brdc,2:sbas,3:dual-freq,4:est-stec,5:ionex-tec,6:qzs-brdc)
pos1-tropopt =saas # (0:off,1:saas,2:sbas,3:est-ztd,4:est-ztdgrad)
pos1-sateph =brdc # (0:brdc,1:precise,2:brdc+sbas,3:brdc+ssrapc,4:brdc+ssrcom)
pos1-posopt1 =off # (0:off,1:on)
pos1-posopt2 =off # (0:off,1:on)
pos1-posopt3 =off # (0:off,1:on,2:precise)
pos1-posopt4 =off # (0:off,1:on)
pos1-posopt5 =off # (0:off,1:on)
pos1-posopt6 =off # (0:off,1:on)
pos1-exclsats = # (prn ...)
pos1-navsys =47 # (1:gps+2:sbas+4:glo+8:gal+16:qzs+32:bds+64:navic)
pos2-armode =fix-and-hold # (0:off,1:continuous,2:instantaneous,3:fix-and-hold)
pos2-gloarmode =fix-and-hold # (0:off,1:on,2:autocal,3:fix-and-hold)
pos2-bdsarmode =off # (0:off,1:on)
pos2-arfilter =on # (0:off,1:on)
pos2-arthres =3
pos2-arthresmin =3
pos2-arthresmax =3
pos2-arthres1 =0.1
pos2-arthres2 =0
pos2-arthres3 =1e-09
pos2-arthres4 =1e-05
pos2-varholdamb =0.1 # (cyc^2)
pos2-gainholdamb =0.01
pos2-arlockcnt =0
pos2-minfixsats =4
pos2-minholdsats =5
pos2-mindropsats =10
pos2-arelmask =15 # (deg)
pos2-arminfix =100
pos2-armaxiter =1
pos2-elmaskhold =15 # (deg)
pos2-aroutcnt =20
pos2-maxage =30 # (s)
pos2-syncsol =off # (0:off,1:on)
pos2-slipthres =0.05 # (m)
pos2-dopthres =0 # (m)
pos2-rejionno =1 # (m)
pos2-rejcode =10 # (m)
pos2-niter =1
pos2-baselen =0 # (m)
pos2-basesig =0 # (m)
out-solformat =llh # (0:llh,1:xyz,2:enu,3:nmea)
out-outhead =on # (0:off,1:on)
out-outopt =on # (0:off,1:on)
out-outvel =off # (0:off,1:on)
out-timesys =gpst # (0:gpst,1:utc,2:jst)
out-timeform =hms # (0:tow,1:hms)
out-timendec =3
out-degform =deg # (0:deg,1:dms)
out-fieldsep =
out-outsingle =on # (0:off,1:on)
out-maxsolstd =0 # (m)
out-height =geodetic # (0:ellipsoidal,1:geodetic)
out-geoid =internal # (0:internal,1:egm96,2:egm08_2.5,3:egm08_1,4:gsi2000)
out-solstatic =all # (0:all,1:single)
out-nmeaintv1 =0 # (s)
out-nmeaintv2 =0 # (s)
out-outstat =residual # (0:off,1:state,2:residual)
stats-eratio1 =300
stats-eratio2 =300
stats-eratio5 =300
stats-eratio6 =300
stats-errphase =0.003 # (m)
stats-errphaseel =0.003 # (m)
stats-errphasebl =0 # (m/10km)
stats-errdoppler =1 # (Hz)
stats-snrmax =52 # (dB.Hz)
stats-errsnr =0 # (m)
stats-errrcv =0 # ( )
stats-stdbias =30 # (m)
stats-stdiono =0.03 # (m)
stats-stdtrop =0.3 # (m)
stats-prnaccelh =3 # (m/s^2)
stats-prnaccelv =1 # (m/s^2)
stats-prnbias =0.0001 # (m)
stats-prniono =0.001 # (m)
stats-prntrop =0.0001 # (m)
stats-prnpos =0 # (m)
stats-clkstab =5e-12 # (s/s)
ant1-postype =llh # (0:llh,1:xyz,2:single,3:posfile,4:rinexhead,5:rtcm,6:raw)
ant1-pos1 =0 # (deg|m)
ant1-pos2 =0 # (deg|m)
ant1-pos3 =0 # (m|m)
ant1-anttype =
ant1-antdele =0 # (m)
ant1-antdeln =0 # (m)
ant1-antdelu =0 # (m)
ant2-postype =single # (0:llh,1:xyz,2:single,3:posfile,4:rinexhead,5:rtcm,6:raw)
ant2-pos1 =0 # (deg|m)
ant2-pos2 =0 # (deg|m)
ant2-pos3 =0 # (m|m)
ant2-anttype =
ant2-antdele =0 # (m)
ant2-antdeln =0 # (m)
ant2-antdelu =0 # (m)
ant2-maxaveep =1
ant2-initrst =on # (0:off,1:on)
misc-timeinterp =off # (0:off,1:on)
misc-sbasatsel =0 # (0:all)
misc-rnxopt1 =
misc-rnxopt2 =-EPHALL
misc-pppopt =
file-satantfile =
file-rcvantfile =
file-staposfile =
file-geoidfile =
file-ionofile =
file-dcbfile =
file-eopfile =
file-blqfile =
file-tempdir =
file-geexefile =
file-solstatfile =
file-tracefile =
</code></pre>
<h2 dir="auto" id="rtkpost-config-for-postprocessing-with-output-to-nmea-file">rtkpost config for postprocessing with output to NMEA file</h2>
<pre dir="auto"><code># rtkpost options (2025/06/26 06:28:15, v.demo5 b34L)
pos1-posmode =kinematic # (0:single,1:dgps,2:kinematic,3:static,4:static-start,5:movingbase,6:fixed,7:ppp-kine,8:ppp-static,9:ppp-fixed)
pos1-frequency =l1+l2+l5+l6 # (1:l1,2:l1+l2,3:l1+l2+l5,4:l1+l2+l5+l6)
pos1-soltype =combined # (0:forward,1:backward,2:combined,3:combined-nophasereset)
pos1-elmask =15 # (deg)
pos1-snrmask_r =off # (0:off,1:on)
pos1-snrmask_b =off # (0:off,1:on)
pos1-snrmask_L1 =38,38,38,38,38,38,38,38,38
pos1-snrmask_L2 =0,0,0,0,0,0,0,0,0
pos1-snrmask_L5 =0,0,0,0,0,0,0,0,0
pos1-snrmask_L6 =0,0,0,0,0,0,0,0,0
pos1-dynamics =on # (0:off,1:on)
pos1-tidecorr =0 # (1:solid+2:otl+4:spole)
pos1-ionoopt =brdc # (0:off,1:brdc,2:sbas,3:dual-freq,4:est-stec,5:ionex-tec,6:qzs-brdc)
pos1-tropopt =saas # (0:off,1:saas,2:sbas,3:est-ztd,4:est-ztdgrad)
pos1-sateph =brdc # (0:brdc,1:precise,2:brdc+sbas,3:brdc+ssrapc,4:brdc+ssrcom)
pos1-posopt1 =off # (0:off,1:on)
pos1-posopt2 =off # (0:off,1:on)
pos1-posopt3 =off # (0:off,1:on,2:precise)
pos1-posopt4 =off # (0:off,1:on)
pos1-posopt5 =off # (0:off,1:on)
pos1-posopt6 =off # (0:off,1:on)
pos1-exclsats = # (prn ...)
pos1-navsys =47 # (1:gps+2:sbas+4:glo+8:gal+16:qzs+32:bds+64:navic)
pos2-armode =fix-and-hold # (0:off,1:continuous,2:instantaneous,3:fix-and-hold)
pos2-gloarmode =fix-and-hold # (0:off,1:on,2:autocal,3:fix-and-hold)
pos2-bdsarmode =off # (0:off,1:on)
pos2-arfilter =on # (0:off,1:on)
pos2-arthres =3
pos2-arthresmin =3
pos2-arthresmax =3
pos2-arthres1 =0.1
pos2-arthres2 =0
pos2-arthres3 =1e-09
pos2-arthres4 =1e-05
pos2-varholdamb =0.1 # (cyc^2)
pos2-gainholdamb =0.01
pos2-arlockcnt =0
pos2-minfixsats =4
pos2-minholdsats =5
pos2-mindropsats =10
pos2-arelmask =15 # (deg)
pos2-arminfix =100
pos2-armaxiter =1
pos2-elmaskhold =15 # (deg)
pos2-aroutcnt =20
pos2-maxage =30 # (s)
pos2-syncsol =off # (0:off,1:on)
pos2-slipthres =0.05 # (m)
pos2-dopthres =0 # (m)
pos2-rejionno =1 # (m)
pos2-rejcode =10 # (m)
pos2-niter =1
pos2-baselen =0 # (m)
pos2-basesig =0 # (m)
out-solformat =nmea # (0:llh,1:xyz,2:enu,3:nmea)
out-outhead =on # (0:off,1:on)
out-outopt =on # (0:off,1:on)
out-outvel =on # (0:off,1:on)
out-timesys =gpst # (0:gpst,1:utc,2:jst)
out-timeform =hms # (0:tow,1:hms)
out-timendec =3
out-degform =deg # (0:deg,1:dms)
out-fieldsep =
out-outsingle =on # (0:off,1:on)
out-maxsolstd =0 # (m)
out-height =geodetic # (0:ellipsoidal,1:geodetic)
out-geoid =internal # (0:internal,1:egm96,2:egm08_2.5,3:egm08_1,4:gsi2000)
out-solstatic =all # (0:all,1:single)
out-nmeaintv1 =0 # (s)
out-nmeaintv2 =0 # (s)
out-outstat =state # (0:off,1:state,2:residual)
stats-eratio1 =300
stats-eratio2 =300
stats-eratio5 =300
stats-eratio6 =300
stats-errphase =0.003 # (m)
stats-errphaseel =0.003 # (m)
stats-errphasebl =0 # (m/10km)
stats-errdoppler =1 # (Hz)
stats-snrmax =52 # (dB.Hz)
stats-errsnr =0 # (m)
stats-errrcv =0 # ( )
stats-stdbias =30 # (m)
stats-stdiono =0.03 # (m)
stats-stdtrop =0.3 # (m)
stats-prnaccelh =3 # (m/s^2)
stats-prnaccelv =1 # (m/s^2)
stats-prnbias =0.0001 # (m)
stats-prniono =0.001 # (m)
stats-prntrop =0.0001 # (m)
stats-prnpos =0 # (m)
stats-clkstab =5e-12 # (s/s)
ant1-postype =llh # (0:llh,1:xyz,2:single,3:posfile,4:rinexhead,5:rtcm,6:raw)
ant1-pos1 =0 # (deg|m)
ant1-pos2 =0 # (deg|m)
ant1-pos3 =0 # (m|m)
ant1-anttype =
ant1-antdele =0 # (m)
ant1-antdeln =0 # (m)
ant1-antdelu =0 # (m)
ant2-postype =single # (0:llh,1:xyz,2:single,3:posfile,4:rinexhead,5:rtcm,6:raw)
ant2-pos1 =0 # (deg|m)
ant2-pos2 =0 # (deg|m)
ant2-pos3 =0 # (m|m)
ant2-anttype =
ant2-antdele =0 # (m)
ant2-antdeln =0 # (m)
ant2-antdelu =0 # (m)
ant2-maxaveep =1
ant2-initrst =on # (0:off,1:on)
misc-timeinterp =off # (0:off,1:on)
misc-sbasatsel =0 # (0:all)
misc-rnxopt1 =
misc-rnxopt2 =-EPHALL
misc-pppopt =
file-satantfile =
file-rcvantfile =
file-staposfile =
file-geoidfile =
file-ionofile =
file-dcbfile =
file-eopfile =
file-blqfile =
file-tempdir =
file-geexefile =
file-solstatfile =
file-tracefile =
</code></pre>
<h2 dir="auto" id="using-rtkpost">Using rtkpost</h2>
<p dir="auto">Simply select .obs and .nav data provided by your rover (generated using convbin above) and .obs data from your base (also generated using convbin above).</p>
<h1 dir="auto" id="next-steps">Next steps</h1>
<ul dir="auto">
<li>figure out if “CONFIG ALLEPHRTCM ENABLE” option has any impact</li>
<li>explore if GPS/GNSS ephemeris can be used with RANGEB undocumented option</li>
<li>update RTKGPS+ to demo5_b34L</li>
<li>figure out if SW Maps can be used to feed RTCM3 data from base to feed the UM980 to compute RTK on the module in real time</li>
</ul>
</description>
<dc:creator>hopet</dc:creator>
<pubDate>Thu, 26 Jun 2025 08:24:15 +0000</pubDate>
<comments>https://www.openstreetmap.org/user/hopet/diary/406985#comments</comments>
</item>
<item>
<title>What food is there - and can I get a wheelchair in?</title>
<link>https://www.openstreetmap.org/user/SomeoneElse/diary/406982</link>
<guid>https://www.openstreetmap.org/user/SomeoneElse/diary/406982</guid>
<description><p dir="auto">I recently updated <a href="https://map.atownsend.org.uk/maps/map/map.html#20/51.51012/-0.12892" rel="nofollow noopener noreferrer">this map</a>:</p>
<p dir="auto"><img src="https://map.atownsend.org.uk/tmp/Screenshot_20250624_205644.png" alt="Some restaurants in London (raster)" loading="lazy"></p>
<p dir="auto">and <a href="https://map.atownsend.org.uk/vector/index.html#19/51.51013/-0.12889" rel="nofollow noopener noreferrer">this one</a>:</p>
<p dir="auto"><img src="https://map.atownsend.org.uk/tmp/Screenshot_20250624_205807.png" alt="Some restaurants in London (vector)" loading="lazy"></p>
<p dir="auto">to show different types of restaurants (the most common cuisine types cause the top part of the icon to be modified), just like that map has shown fast food for some time now. However, it’s not technically difficult to also show what wheelchair access is available - <a href="https://www.openstreetmap.org/node/6173754810" rel="nofollow noopener noreferrer">this one</a>:</p>
<p dir="auto"><img src="https://map.atownsend.org.uk/tmp/Screenshot_20250624_210325.png" alt="A restaurant icon with a pizza slice above (Italian) and a yellow flash below (limited wheelchair)" loading="lazy"></p>
<p dir="auto">is an Italian restaurant with limited wheelchair access. The yellow flash for that is deliberately small so as to not dominate the view, but visible if you are looking for it.</p>
<p dir="auto">Shouldn’t showing that information be “table stakes” for maps showing OSM data?</p>
</description>
<dc:creator>SomeoneElse</dc:creator>
<pubDate>Tue, 24 Jun 2025 20:09:34 +0000</pubDate>
<comments>https://www.openstreetmap.org/user/SomeoneElse/diary/406982#comments</comments>
<geo:lat>51.510003</geo:lat>
<geo:long>-0.128226</geo:long>
<georss:point>51.510003 -0.128226</georss:point>
</item>
<item>
<title>My MapRoulette presentation at SOTM US</title>
<link>https://www.openstreetmap.org/user/mvexel/diary/406980</link>
<guid>https://www.openstreetmap.org/user/mvexel/diary/406980</guid>
<description><p dir="auto">I had a fantastic time at SOTM US. Thanks to all at OSM US for their work putting the event together.</p>
<p dir="auto">I gave two presentations, one on MapRoulette and one on the new Meet Your Mappers tool. I posted annotated slides for the MapRoulette talk <a href="https://mvexel.prose.sh/20250623-maproulette-sotmus-2025" rel="nofollow noopener noreferrer">on my blog</a>.</p>
</description>
<dc:creator>mvexel</dc:creator>
<pubDate>Tue, 24 Jun 2025 16:43:50 +0000</pubDate>
<comments>https://www.openstreetmap.org/user/mvexel/diary/406980#comments</comments>
</item>
<item>
<title>On Overture's Avoidance of the ODbL</title>
<link>https://www.openstreetmap.org/user/jacobwhall/diary/406979</link>
<guid>https://www.openstreetmap.org/user/jacobwhall/diary/406979</guid>
<description><p dir="auto">Dear Overture Team and OpenStreetMap Community,</p>
<p dir="auto">This diary entry is a follow-up to an in-person conversation I had with some of the Overture team at State of the Map U.S. To their credit, they were quick to admit to and apologize for some of these omissions and verbally committed to making appropriate changes. I am therefore posting this entry for the following reasons:</p>
<ul dir="auto">
<li>to fully document my concerns,</li>
<li>to invite others to (respectfully please!) share their perspectives,</li>
<li>to hold the Overture team accountable for making these changes.</li>
</ul>
<h2 dir="auto" id="clarity-on-attribution-page">Clarity on Attribution Page</h2>
<p dir="auto">In my opinion, Overture does not take care to spell out the necessity of OpenStreetMap attribution on their <a href="https://docs.overturemaps.org/attribution/" rel="nofollow noopener noreferrer">Attribution and Licensing</a> page. After an optional citation comes the following language:</p>
<blockquote>
<p dir="auto">The Overture Maps Foundation does not require text attribution or an OMF logo on maps, visualizations, and graphics created with our datasets. If you would like to credit Overture, we suggest: <code dir="auto">© Overture Maps Foundation</code>.</p>
</blockquote>
<p dir="auto">So far it seems pretty easy to use Overture data. We can attribute…but only if we want. Easy peasy! After that, the potential for additional attribution requirements is raised:</p>
<blockquote>
<p dir="auto">Some of the data sources we use in Overture datasets do require their own attribution, according to their licenses. For example, our Explore tool displays several Overture datasets that are made wholly or in part from OpenStreetMap data, so we added the following line of attribution to adhere to the requirements of the <a href="https://opendatacommons.org/licenses/odbl/" rel="nofollow noopener noreferrer">Open Database License</a>: <code dir="auto">© OpenStreetMap contributors, Overture Maps Foundation</code>.</p>
</blockquote>
<p dir="auto">Let’s take a close look at this paragraph. In Overture’s only mention of OpenStreetMap attribution requirements (that I could find), they frame it as a passing example. It’s as if the OpenStreetMap community should feel lucky that Overture chose us as their example of potential attribution requirements. To me, this deflection of our dataset’s license comes across as deeply disrespectful.</p>
<p dir="auto">So, how much of Overture is derived from OpenStreetMap data? Clicking into each of the dataset descriptions, <em>four out of the six</em> datasets are derived from OpenStreetMap and therefore distributed under the ODbL: “Base,” “Buildings,” “Divisions,” and “Transportation.”</p>
<p dir="auto">With that in mind, Overture seems better-described as an OpenStreetMap distribution with some extra data tacked on. Great, ODbL needs to be front-and-center on their <a href="https://overturemaps.org/download/" rel="nofollow noopener noreferrer">download page</a>, release pages, and <a href="https://docs.overturemaps.org/attribution/" rel="nofollow noopener noreferrer">Attribution page</a>, with a link to the <a href="https://osmfoundation.org/wiki/Licence/Attribution_Guidelines" rel="nofollow noopener noreferrer">official OpenStreetMap Attribution Guidelines</a>. Overture has a responsibility to ensure its data consumers correctly attribute OpenStreetMap Contributors, and understand the legal liability they open themselves up to if they do not properly attribute. Beyond legal requirements, attribution is the respectful thing for hard-working OpenStreetMap volunteers whose work gets used in a commercial context.</p>
<h2 dir="auto" id="the-faq-page">The FAQ Page</h2>
<p dir="auto">The further we get from Overture’s attribution page, the worse things get. On the FAQs page, under “How Is Overture Data Licensed?” lies the following text (pasted in full):</p>
<blockquote>
<p dir="auto">Generally, <a href="https://docs.overturemaps.org/attribution/" rel="nofollow noopener noreferrer">Overture data is licensed</a> under the Community Database License Agreement – Permissive v2 (CDLA) unless derived from a source that requires publishing under a different license, such as data derived from OpenStreetMap, that constitutes a “Derivative Database” (as defined under ODbL v1.0), which will be licensed under ODbL v1.0.</p>
</blockquote>
<blockquote>
<p dir="auto">Overture considers (A) any maps or outcomes obtained by computational analysis that are created using Overture data licensed under CDLA Permissive v 2.0, or (B) the supplementing of (1) a Data Recipient’s content or (2) a third-party’s data – in either case, obtained through computational analysis – with CDLA Permissive v.2-licensed data from Overture, to be “Results” and according to Section 3, not subject to the requirement to provide the text of the license.</p>
</blockquote>
<p dir="auto">This seems to be purposefully misleading. As stated above, <em>four out of six</em> of Overture’s datasets are distributed under the ODbL, so saying Overture is “generally” CDLA is untrue. Perhaps Overture wishes to have more CDLA datasets in the future?</p>
<p dir="auto">Secondly, this FAQ fully omits the need for attribution to OpenStreetMap, which is required for the majority of Overture datasets. Surely that is worthy of inclusion on your FAQ page.</p>
<h2 dir="auto" id="elsewhere-on-the-overture-site">Elsewhere on the Overture Site</h2>
<p dir="auto">The <a href="https://overturemaps.org/" rel="nofollow noopener noreferrer">Overture homepage</a> makes no mention of OpenStreetMap, one of their primary data sources. The two featured links at the top of its page, <a href="https://docs.overturemaps.org/getting-data/" rel="nofollow noopener noreferrer">“Getting Started”</a> and <a href="https://overturemaps.org/about/who-we-are/" rel="nofollow noopener noreferrer">“Learn More”</a> point to pages that also make no mention of OpenStreetMap.</p>
<p dir="auto">On the aforementioned <a href="https://docs.overturemaps.org/getting-data/" rel="nofollow noopener noreferrer">“Getting Started”</a> page, there are many download links provided to OpenStreetMap-derived datasets, without any mention of the ODbL. That page links to <a href="https://docs.overturemaps.org/getting-data/overturemaps-py/" rel="nofollow noopener noreferrer">this one</a> about the Python CLI, which features a one-liner for downloading the Overture “Buildings” dataset (which includes OpenStreetMap data) without one word about attribution requirements. Not only is this disrespectful to the OSM community, but it’s dangerous to your users who need to understand what the terms of that data use are.</p>
<p dir="auto">The “Learn More” page includes this gem from Executive Director Marc Prioleau:</p>
<blockquote>
<p dir="auto">With the collective insights of our expanding community, it’s not just about amassing datasets. Instead, it’s a conscious effort to lay the groundwork for a future where map data remains current and interoperable, serving a wide range of applications. Overture is about harnessing available high-quality data sources and building bridges of cooperation.</p>
</blockquote>
<p dir="auto">At least we could properly attribute those bridges, eh Marc?</p>
<h2 dir="auto" id="final-thoughts">Final Thoughts</h2>
<p dir="auto">I really like Overture’s work. They offer clean extracts of geospatial data from OpenStreetMap and other data sources, with end-users in mind. They help bridge the gap between OSM tagging madness and company X’s need for a clean map.</p>
<p dir="auto">I want to believe that Overture cares about the OpenStreetMap community and wishes to grow with us. I met a couple of them at State of the Map U.S. and they were friendly. They helped fund the event, and expressed genuine, positive sentiment about the community who makes their work possible. Indeed, most of their datasets rely on our data.</p>
<p dir="auto">I am concerned by Overture’s willingness to gloss over OpenStreetMap and the ODbL on their website. Overture enjoys ample funding from their corporate partners, and has a responsibility to pass some of that success on to the sources they rely on, including OpenStreetMap. I worry that when Overture is not attending SOTMUS, they might be forgetting to mention where their data comes from to all those <a href="https://overturemaps.org/become-a-member/" rel="nofollow noopener noreferrer">$3M/yr members</a>.</p>
<p dir="auto">Overture, fix your website. Show some real enthusiasm about our community in your marketing materials. Help sustainably fund-raise for the institutions you rely on. Do the work to build those bridges you claim to build.
<br><br><br>
Best Regards,<br>
Jacob Hall</p>
</description>
<dc:creator>jacobwhall</dc:creator>
<pubDate>Mon, 23 Jun 2025 15:52:01 +0000</pubDate>
<comments>https://www.openstreetmap.org/user/jacobwhall/diary/406979#comments</comments>
</item>
</channel>
</rss>
If you would like to create a banner that links to this page (i.e. this validation result), do the following:
Download the "valid RSS" banner.
Upload the image to your own server. (This step is important. Please do not link directly to the image on this server.)
Add this HTML to your page (change the image src
attribute if necessary):
If you would like to create a text link instead, here is the URL you can use:
http://www.feedvalidator.org/check.cgi?url=http%3A//www.openstreetmap.org/diary/rss