OpenStreetMap logo OpenStreetMap

n42k's Diary

Recent diary entries

3D models in OSM?! 3D Model Repository has just launched!

Posted by n42k on 21 March 2018 in English. Last updated on 22 March 2018.

It is with great pleasure that I announce the launch of the 3D Model Repository, available at https://3dmr.eu!

The main aim of the project is to enable a better 3D rendering of OSM data, placing 3D models at everything from landmarks, such as the Eiffel Tower, to benches on the street.

Starting off from my Google Summer of Code project, over the past few months, along with my mentors, Jan and Tobias, I have been working hard on setting up the infrastructure required for the launch, namely a web server and the domain, which have been warmly provided by FOSSGIS. Along with this, some new features and bugfixes were added to the repository, including a PR by dkiselev. Finally, the last few miscellaneous issues before the launch have been resolved, and a few sample models were added to the repository.

On the renderer side, -karlos- has been making great progress with OSM go, having provided us with an easy way to show off the features of the repository. An example rendering can be seen here or in the picture below.

See full entry

Call for 3d model repository API users

Posted by n42k on 18 December 2017 in English.

As we’re nearing the launch of the 3d model repository, we now have a test server set up. This means that if you have a tool that could benefit from the use of this repository, you can start live testing it against our API, to support our repository earlier. As this is a closed server meant for testing and only able to handle a small load, I decided against sharing the IP address publicly. If you have an interest in using our API, feel free to send me a private message here to get it!

Additionally, we have decided the 2 licenses we will be allowing users to pick when uploading their models: “Creative Commons CC0 1.0 Universal Public Domain Dedication” and “Creative Commons Attribution 4.0 International“, and are working on acquiring a server for the upcoming launch.

GSoC Diary: Conclusion

Posted by n42k on 25 September 2017 in English.

Google Summer of Code is over, and the 3D model repository was successfully completed, with great results: all the requirements are accounted for, and there were a few extra features implemented.

In August, many crucial features were added: model uploading, map, nightlies, administration of the models, comments and users, and finishing both documenting and implementing the API. I’ve also done lots of polishing, namely in the documentation, caching the models, layout improvements and fixed lots of issues in general, from bugs to simple color changes. The extra features that were added are model editing and revising, letting users alter the submitted models.

Screenshot of the model upload page The model uploading page, allowing users to add new models to the repository, and specify their metadata, including title, description, their coordinates (which they can pick on a Leaflet map), license and transformations.

See full entry

GSoC Diary: Backend and the Live Preview

Posted by n42k on 18 July 2017 in English.

With the front end design of the repository complete, I’ve been working on the backend. So far, most of the pages have been implemented, namely the homepage and the model information and search results pages.

Screenshot of the search results page The search page. Note that there’s a single result per page, for testing.

The user page has also begun to be implemented.

See full entry

The first coding period of the Google Summer of Code has begun! So far, I’ve worked on a draft for the REST API, which you can see here, so that we can iterate on it, and 3D visualizers for OSM can start planning their implementation. I’ve also designed all the web pages that will be used for the 3D Model Repository, using Bootstrap, as can be seen at the end of this entry.

I have also changed how the nightlies were generated from my original proposal, which defined them as a collection of the most important models, to having all the models in the nightlies, so that you can get all files from the repository by downloading all of them. They will be in separate size-limited chunks now, to make it easier to download versus a big file.

Now that my semester is over, the pace should pick up quite a bit, with the full design of the database schema, integration of the web designs into Django and OAuth authentication planned until the end of the month.

Finally, we now have a (possibly temporary) repository on GitLab!

See full entry

GSoC Diary: Start of Community Bonding

Posted by n42k on 22 May 2017 in English.

Hi! I’m Pedro Amaro, an undergraduate student from Portugal. Currently, I’m studying Informatics and Computing Engineering at FEUP (Faculty of Engineering of the University of Porto). I will be working on a project for the OSM community for Google Summer of Code 2017. I took a special interest in OSM for my GSoC proposal, as I had used it before multiple times, mostly to know my bearings and also in the FlightGear flight simulator.

One of the most interesting suggested projects, that mixed some of my interests, including 3D graphics and web applications, was the implementation of a 3D Model Repository. This project consists of implementing a repository for 3D models, where users can upload freely licensed models and their metadata to it, so that 3D visualizers can use this data to render beautiful graphics for buildings (such as the Eiffel Tower) or smaller features such as trees. After a lot of back and forth with the project proposal with Tordanik, I submitted it, and around a month later, was accepted.

In my proposal, I had suggested using OpenLayers as the API for drawing maps in the repository, and having the live 3D preview of models be optional. Upon further discussion, we decided to change the API to Leaflet and start working on the preview early in the summer, by June.

To explore both ideas, I built a small demonstration of each, to get acquainted with the tools I will be using, namely Leaflet and Three.js.

See full entry