OpenStreetMap

Users' Diaries

Recent diary entries

Am 24.04.2024 fand für die Touristiker des Saarlandes der zweite Teil eines Seminars zum Thema Route 3.0 & OpenStreetMap statt. Auf Einladung durch Klaus Wallach von der Tourismus Zentrale Saarland nahmen mit Barthwo und mir auch zwei saarländische Mapper an dem von Thomas Froitzheim durchgeführten Seminar teil. Motiviert wird das Seminar durch die neue Richtlinie Route 3.0 des Deutschen Tourismusverband (DTV).

Ziel des Seminars war es, die Touristiker mit dem Konzept OpenStreetMap bekannt zu machen und zur Kontrolle der richtigen Hinterlegung von Wander- und Radtourrelationen in OSM zu schulen. Dabei konnten die Touristiker sehen, dass sehr viele der Routen bereits von fleißigen Mappern in OSM hinterlegt wurden. Im Rahmen der Schulung kamen Tools wie BRouter-Web, GPX Viewer sowie WayMarkedTrails zum Einsatz. Anhand dieser Tools können die Touristiker nun:

  • die aktuellen .gpx-Dateien bestehender Routen aus ihren Datensystemen mit den Relationen in OSM vergleichen, um fehlende oder fehlerhafte Relationen zu identifizieren, sowie
  • ohne Vorerfahrung mit wenigen Klicks .gpx-Dateien erstellen, die bei kurzzeitigen temporären Umleitungen den Touristen zur Verfügung gestellt werden können.

Die meisten Touristiker kamen im Rahmen des Seminars zum ersten Mal mit der Datenstruktur von OpenStreetMap in Kontakt. Da das Anlegen oder Modifizieren von Relationen durch unerfahrene Nutzer viele Risiken birgt, wird eine Lösung unter Zuhilfenahme der Mapper-Community benötigt, anstatt den Touristikern das recht komplexe und zeitaufwendige Thema Relationen aufzubürden.

So stellte Thomas Froitzheim auch eine uMap vor, die von der Mapper-Community der Mittelweser- und Minden-Region erarbeitet wurde und bei den lokalen Touristikern auf reges Interesse stieß. Die uMap bietet ein benutzerfreundliches Kommunikationswerkzeug, über das Fehler in Relationen gemeldet werden können, ohne dass die Touristiker fortgeschrittenes Wissen in OSM-Relationen haben müssen. So können erfahrene Mapper aus der Region die Relation basierend auf Meldungen der Touristiker, die in der uMap eingetragen werden, überarbeiten. Umgekehrt herum können auch Mapper Rückmeldungen zu Beschilderungen oder Schäden der Wege als Medien in die uMap eintragen. Diese können dann wiederum von den Betreibern genutzt werden, um die Qualität der Wege selbst zu steigern. Darüber hinaus lassen sich Gegebenheiten durch die Farbgebung optisch gut hervorheben und über den uMap-Link leicht mit den Gemeinden teilen, so Thomas Froitzheim. Es ergibt sich eine Win-Win-Situation für alle Beteiligten.

Die saarländische Mapper-Community strebt an, in Zukunft enger mit den Touristikern des Landes zusammen zu arbeiten und eine ähnliche uMap für das Saarland zu entwickeln. Es sind sehr schöne Entwicklungen, dass OpenStreetMap im Tourismus mittlerweile als Standard etabliert ist.

The SMCoSE YouthMappers Chapter, renowned as one of Tanzania’s largest mapping communities, hosted a transformative mapathon on April 14, 2024, at the esteemed Sokoine University of Agriculture. This event marked a pivotal moment of collaboration, extending invitations to other YouthMappers chapters in Morogoro, thus amplifying the inclusivity and impact of the initiative. Central to the mapathon’s objective was the concerted effort to contribute to Project #15530 within the HOT Tasking Manager, focusing on mapping cities across the Eastern and Southern Africa Region. By leveraging the power of open data, participants aimed to craft detailed base maps crucial for diverse applications, ranging from urban planning to efficient disaster response strategies.

Amidst an atmosphere described as “fantastic,” the event witnessed a remarkable accomplishment, the successful mapping of approximately 25,000 buildings. This feat not only underscores the collective dedication of the participants but also showcases the tangible outcomes of community-driven endeavors. Moreover, the mapathon served as a platform for new mappers to acquaint themselves with essential mapping tools such as ID Editors and JOSM, empowering them to contribute meaningfully to the OpenStreetMap ecosystem.

Special recognition is duly owed to the Open Mapping Hub Eastern and Southern Africa (OMHESA) for their unwavering support, notably through the prestigious Spatial People Award. This acknowledgment not only highlights the significance of collaborative partnerships but also accentuates the pivotal role of organizations in facilitating impactful mapathons and community initiatives. In essence, the event epitomized the ethos of collaboration, learning, and contribution inherent within the mapping community, further advancing the cause of open data dissemination and spatial awareness in the region.

In conclusion, the SMCoSE YouthMappers Chapter’s mapathon stands as a testament to the transformative potential of collective action in harnessing the power of mapping for societal benefit. It exemplifies how collaborative efforts can foster tangible change, driving forward the agenda of open data accessibility and spatial literacy within Tanzania and beyond. “We don’t just build maps, we build Mappers”

Location: Mazimbu Darajani, Morogoro Municipal, Morogoro Region, Coastal Zone, 67000, Tanzania

Theatro da Paz, Belém/Pará - Brasil

O Theatro da Paz foi fundado em 15 de fevereiro de 1878, durante o período áureo do Ciclo da Borracha, quando ocorreu um grande crescimento econômico na região amazônica. Belém foi considerada “A Capital da Borracha”. Mas, apesar desse progresso a cidade ainda não possuía um teatro de grande porte, capaz de receber espetáculos do gênero lírico. https://www.theatrodapaz.com.br/

Credito da Foto; Wikipedia, https://pt.wikipedia.org/wiki/Wikip%C3%A9dia:Wiki_Loves_Par%C3%A1#/media/Ficheiro:Teatro_da_Paz_3.jpg Theatro da Paz, Belém/Pará - Brasil

Mais um ponto turístico da cidade de Belém atualizada na plataforma OpenStreetMap https://www.openstreetmap.org/changeset/150449820 através do projeto #MapeaiaBelem, https://projetomapeiabelem.my.canva.site/home que tem como objetivo disponibilizar dados atualizado para todos a comunidade local e também para aqueles que estarão presente aos grandes eventos que acontecerá entre 2024 e 2025, #SOTMLATAM #FOSS4G #COP30 sem contar que esses dados poderá ser utilizado por todos através de APPs como OsmAnd entre outros apps.

2024, SotM_Latam2024, FOSS4G 2024 , Belém, Cop30Belém

Projeto MapeaiaBelem,

Site do Projeto Mapeia Belém. https://projetomapeiabelem.my.canva.site/home Objeto mapeado no Openstreetmap, https://www.openstreetmap.org/changeset/150449820

esse é mas um projeto da UMBRAOSM - União dos Mapeadores Brasileiros do Openstreetmap

site: www.umbraosm.com.br

Instagram: https://www.instagram.com/umbraosmbrasil/

E-mail: contato@umbraosm.com.br

Location: Campina, Belém, Região Geográfica Imediata de Belém, Região Geográfica Intermediária de Belém, Pará, North Region, Brazil

I am currently on a visit to Ireland 🇮🇪 and a lack of proper office space makes it difficult to stay productive. I will try to prepare something cool to show off this week. Sorry for keeping you waiting!

🍟

Location: Murphystown, Leopardstown Rise, Glencullen Electoral Division, Sandyford, Dún Laoghaire-Rathdown, County Dublin, Leinster, D18 CV48, Ireland
Posted by mpulve on 22 April 2024 in English. Last updated on 25 April 2024.

Why is OpenStreetMap ID not updated like OpenStreetMap ArcGIS? These are two different datasets that need to be linked/updated! Is ArcGIS taking over for OpenStreetMap and requiring a fee? ArcGIS needs to update OpenStreetMap ID if they participate! OpenStreetMap ArcGIS has not updated dataset in months! Please help with coordinating these two data set updates! Otherwise this in-browser edition will soon be obsolete! Use ArcGIS to compare your area with the link listed: ArcGIS OSM Are there any differences? Can anyone explain why? On the ArcGIS OSM there are more buildings that they imported from datasets. They should have updated the OSM ID data sets to match their information. Now there is a ArcGIS OSM version 2 that appears to be replacing ID OSM… ESRI

Location: Florence, Pinal County, Arizona, 85132, United States

IVIDES.org® realizou oficina sobre importação de POIs no OSM a partir de arquivo de dados do Censo Demográfico do Brasil 2022


O Instituto Virtual para o Desenvolvimento Sustentável promoveu uma oficina sobre importação de pontos de interesse (POI) no OpenStreetMap, a partir de um arquivo de valores separados por vírgula (.csv).

O conteúdo abrangeu os pontos de interesse obtidos do conjunto de dados do Censo Demográfico 2022, mas os organizadores salientam que a rotina pode ser utilizada para a importação de outros tipos de pontos geocodificados no OpenStreetMap.

Todos os arquivos da apresentação podem ser encontrados no portal do treinamento, que inclui também a agenda dos demais encontros.

https://ivides.org/oficinas-mapeamento-openstreetmap

Um agradecimento especial ao público participante ao vivo e aos(às) participantes futuros desta ação! Agradecemos ainda aos nossos parceiros: HUB YouthMappers Rio de Janeiro, YouthMappers Brasil, YouthMappers Internacional e os laboratórios associados - Laboratório de Cartografia - GeoCart-UFRJ, Laboratório ESPAÇO de Sensoriamento Remoto e Estudos Ambientais - Espaço-UFRJ, Laboratório integrado de Geografia Física Aplicada - LiGA-UFFRJ e Laboratório de Modelagem Geográfica - LabModel UERJ. E também ao Victor Hugo Timotheo, que participou da transmissão, no apoio técnico.

IVIDES.org® é uma marca registrada. Para entrar em contato sobre esta ação: ym.ufrj@gmail.com.


https://ivides.org/wp-content/uploads/2024/04/capa_yt.png

https://ivides.org/wp-content/uploads/2024/04/capa_yt2.png

A gravação da sessão pode ser encontrada no canal do IVIDES.org® no YouTube.


O DOWNLOAD DOS ARQUIVOS DA OFICINA está disponível! – Arquivo da apresentação e arquivos extras.

https://ivides.org/wp-content/uploads/2024/04/capa_yt7.png

https://ivides.org/wp-content/uploads/2024/04/capa_yt3.png

https://ivides.org/wp-content/uploads/2024/04/capa_yt4.png

https://ivides.org/wp-content/uploads/2024/04/capa_yt4.png

https://ivides.org/wp-content/uploads/2024/04/capa_yt4.png


P.S.: Sobre os dados de latitude e longitute, que foram mantidos como estiquetas no conjunto de dados da oficina, está incluída uma justificativa no arquivo da apresentação e na sessão gravada e disponível no YouTube. A wiki OSM informa que tais etiquetas são “descartáveis”, porém mantivemos os dados das coordenadas para facilitar as oficinas de validação que serão realizadas pelo YouthMappers UFRJ, após este estágio de mapeamento colaborativo dos pontos de interesse.


IVIDES_logo

youthmappers-ufrj

Introduction

Car in action with Insta360 ONE

In this post, I will try to explain my process how to get best out of Insta360 ONE RS 1-inch camera and successfully upload images to Mapillary. It started out of my frustration of dealing with this camera and Mapillary and I hope you will not have to go through what I have been🙂. I will be focusing here more on software side (how to deal with data) rather than on hardware side (how to set up rig for image capture).

Let me first start with disclaimer that this is not easiest camera to work with Mapillary (hence this guide) and that not even Mapillary is recommending it. It definitively captures better images than GoPro 360, but everything with GoPro is more smooth over whole process, so be aware of this. Camera needs to record in video mode and it relies on additional GPS dongle you have to buy.

This guide assumes familiarity with Python and Linux. Most steps are optional, and you can treat everything as pure recommendation, and while you can always ping me to help you, beware that some technical knowledge (and determination🙂) is needed if you want to extract highest quality from this camera.

Capturing street view

First, you will need another hardware - “GPS Action Remote” with this. In theory, you don’t need it, as you can record with phone (or some other device), but in practice - you just turn on this remote and it works. With phone, you need to have Insta app turned on all the time, worry about display, whether app will get killed by battery optimizations, GPS reception inside car…. I decided to keep my sanity and use this little gadget. It will record GPS (poorly). Connect them and pair them and you can control camera through this remote. Once it show green, it means it is connected to camera and it acquired GPS signal.

GPS Action Remote in action

Mapillary is suggesting to capture images in timelapse mode. If you do this, you will not get any GPS data (that is - you will get first coordinate and that lat/long will be on all images, so unusable). With this camera, you have to record in video mode. This will result in larger files, more drained battery and prolonged post-processing, but hey - at least it will work. You can expect 1h 10 min of recording if you fully top up battery.

If you are using it outside of car, you can strap both GPS remote and additional battery altogether (watch for hot days and direct exposure of battery to the sun!), but I recommend to go out every 10-20 minutes and check if tripod is holding good. If you are like me and you want to be anonymous and don’t like to be captured by camera, every time you go out, do stop and start video recording again. If you just have one large video, it will be harder to remove yourself (but not impossible), so consider doing this. If you don’t care if your head is in video, then no need for this. This is example how our setup looked like:

Insta 360 in action

If you do not want to do video splitting, you will have to keep your video under 7-8 minutes! If you go over this time, you will have to cut them in post-processing as Mapillary cannot ingest video larger than 8 minutes.

Getting video and track

Once you go home, you will end up with .insv files. Download and open Insta360 Studio application. Import this .insv file. You can adjust quality of image if you want. I usually cut beginning and end of video to only parts where I am driving. If I went outside of car and were checking tripod, I also cut those parts (you cannot cut parts of video, but you can export same video multiple times with different start/end cut times). Once satisfied with cutting, export video. Important thing here is to check “Export GPX track”.

If you don’t want to deal with Linux and cutting video/gpx later, this is your time to cut video into 5-6 minutes segments. Anything larger than this increases probability that Mapillary processing will fail (anything above 8 minutes is impossible to be processed).

At the end of the process, you should end with one .mp4 video file and one .gpx track file. Let’s call them input.mp4 and input.gpx.

Fixing GPX track (optional)

GPX that is recorded with this “Action Remote” dongle is crime against all scientist, engineers, mechanics and everyone who worked hard to give us ability to know where we are using GPS. For this part, you will need to run Python program. If you can live with poor GPS, no need to fix anything, but I just couldn’t. Here is how it looks before (turquoise color) and after (blue color) processing:

And, no, it is not error in OSM geometry

What I did is I used Geoapify platform to do map matching of GPX for me. This is process where you snap GPX trace to closest road. It is really hard problem and I found that Geoapify do very good job converting this Insta360 mess of GPX and their free pricing is more than enough (not affiliated with them, just found them good and easy to work with). First go to their website, sign in and obtain API key (click “New Project”, type any name and on next dialog, just remember generated API key). Here is simple Python script that will take your input.gpx, send it to Geoapify for map matching and then update original .gpx to have new points (while keeping all other attributes like time the same):

import xml.etree.ElementTree as ET
import json
import requests

ET.register_namespace('', 'http://www.topografix.com/GPX/1/1')
ns = {'': 'http://www.topografix.com/GPX/1/1'}

def gpx_to_json(input_filename):
    converted_gpx = {'mode': 'drive', 'waypoints': []}
    tree = ET.parse(input_filename)
    root = tree.getroot()
    trksegs = root.findall('.//trkseg', ns)[0]
    for trkseg in trksegs:
        converted_gpx['waypoints'].append({
            'timestamp': trkseg.find('time', ns).text,
            'location': [float(trkseg.attrib['lon']), float(trkseg.attrib['lat'])]
        })
    return converted_gpx

def do_mapmatching(input_json):
    url = "https://api.geoapify.com/v1/mapmatching?apiKey=<YOUR_APIKEY>"
    headers = {"Content-Type": "application/json"}
    resp = requests.post(url, headers=headers, data=json.dumps(input_json))
    if resp.status_code != 200:
        raise resp
    return resp.json()

def adopt_gpx(input_gpx_filename, mapmatched_json, output_gpx_filename):
    # Load original GPX and segments
    tree = ET.parse(input_gpx_filename)
    root = tree.getroot()
    trksegs = root.findall('.//trkseg', ns)[0]

    # Load mapmatched segments
    waypoints = mapmatched_json['features'][0]['properties']['waypoints']

    assert len(waypoints) == len(trksegs)

    # Change location in original gpx and save it
    for waypoint, trkseg, i in zip(waypoints, trksegs, range(len(waypoints))):
        assert i == waypoint['original_index']
        trkseg.attrib['lon'] = str(waypoint['location'][0])
        trkseg.attrib['lat'] = str(waypoint['location'][1])
    tree.write(output_gpx_filename, default_namespace="")

if __name__ == '__main__':
    input_gpx_filename = 'input.gpx'
    input_gpx_as_json = gpx_to_json(input_gpx_filename)
    mapmatched_json = do_mapmatching(input_gpx_as_json)
    adopt_gpx(input_gpx_filename, mapmatched_json, 'output.gpx')

Save this code as “mapmatching.py”, change “YOUR_APIKEY” to value obtained from Geoapify, run it with python3 mapmatching.py with input.gpx in same directory. At the end of it, you should get output.gpx. Open this file in GPX editor of your choice and manually inspect it. Move any bogus points (it can happen, especially with hairpin roads) and save it - you can now use this .gpx instead of old one. I am using GpsPrune software (available for Linux too) to move points. Here is (rare) example where mapmatching can go wrong:

Splitting videos (optional)

If you ended with videos larges than 8 minutes, this is your time to cut them. I am using ffmpeg and exiftool command from Linux. This is command that will take input.mp4 and split it into out000.mp4, out001.mp4 … files, each up to 5 minutes in length. After that, I am using exiftool to bring back metadata from original video (just so it is nicer to play it in 360 mode in VLC, but I think it is not required for Mapillary):

ffmpeg -i input.mp4 -c copy -strict experimental -map 0:0 -segment_time 00:05:00 -f segment -reset_timestamps 1 out%03d.mp4
exiftool -api LargeFileSupport=1 -tagsFromFile input.mp4 -all:all out000.mp4 # repeat for other out*.mp4 files

Unfortunately, you will have to split .gpx manually (I could create Python script for this too if someone wants, but it was easier for me to just split it in text editor). That is - open .gpx in any text editor, observe time of first point, add 5 minutes to that value and remove all points that happened after exactly fifth minute. If you do this correctly and if you had video of 14 minutes and you cut it in 6 minute segments, you should end up with 3 video - 6 minutes, 6 minutes and 2 minutes as well as 3 .gpx traces - 6 minutes, another one with middle 6 minutes and another one with final 2 minutes. Do rename .mp4 and .gpx to have same names!

You are now ready to upload all these video using Mapillary Desktop Uploader. As long as names of .mp4 and .gpx are the same, you can just drag .mp4 file into Desktop Uploader app and it will show you trace and it will let you upload to Mapillary.

Producing images (optional)

In general, you don’t need this step. This is step if you want to convert video to bunch of images. Some of the reason you might want images:

  • You don’t like how Mapillary is handling videos (street view images too close to each other), or
  • you ended up with large videos that you cannot/don’t know how to split, or
  • you have part of video that you don’t want in Mapillary at all, and you don’t want to split it in Insta Studio app all the time
  • you don’t want to backup large videos, you would rather have images
  • you have poor internet connection to upload those giant video files

In these cases, you can try to generate bunch of images from your videos and upload these. For this, mapillary_tools can help you, but it is not easy to get proper arguments. What I found that works for me is this set of options:

mkdir tmp/
mapillary_tools video_process ./out000.mp4 ./tmp/ --geotag_source "gpx" --geotag_source_path ./out000.gpx --video_sample_distance -1 --video_sample_interval 1 --interpolation_use_gpx_start_time --overwrite_all_EXIF_tags --interpolate_directions

Conclusion

I hope this guide could help you with this camera, if you plan to use it for street view. Feel free to ping me if you need help in any of these steps or if you find that something is missing, or that Mapillary made some things easier in the meantime! Big thanks to friends BrackoNe and borovac who borrowed me this camera and who took these pictures (and whose car this is🙂).

En aout dernier, j’avais été surpris de la facilité avec laquelle j’étais devenu le contributeur n°1 en Grèce, via l’application StreetComplete. Je viens d’accomplir la même chose, mais en contribuant sur la France. Capture d'écran de l'application, où l'on voit mon classement

Comment mi suis-je pris :

  • J’ai pris un endroit loin de chez moi, où je n’avais pas encore travaillé
  • J’ai sept jours durant fait une sortie à vélo d’une heure avec StreetComplete et vesspucci
  • j’ai tagué, j’ai ajouté et tagué

C’est aussi simple que cela et ne prend pas beaucoup de temps. Je ne reproduirai sans doute pas la chose, car près de chez moi, ça commence à faire un sacré trajet afin que je rentre dans des zones en besoin de tags.

We created a F-Droid repository for all Agroecology Map applications.

F-Droid is an open source app store and software repository for Android.

Agroecology Map is a Free Software, based on OpenStreetMap, citizen science platform that aims to assist in mapping and exchanging experiences in Agroecology.

  • How to add the Agroecology Map F-Droid repository?
  1. Settings
  2. Repositories
  3. Add (+) Repository (https://fdroid.agroecologymap.org/repo/)
  4. Scan QR Code or Enter repository URL manually

Step-by-step https://youtube.com/shorts/4Cw3jPzmS2I?si=zYxrgR1fHMfHEDq7

私たちが使っているGoogle mapなどにはかず多くのレイヤーを用いて作られていると学びました。自分でマッピングすることが、日本地図を測量して初めて作った伊能忠敬のようでワクワクしています。ちなみに彼の記念館や屋敷、昔の街並みは千葉県の香取市にあり、「佐原の町並み」として観光地になっています。