Embed Personal City mapping


I want to create a mobile application that uses an entire city. I have to map it over 70%, but can i do it locally on my pc just for myself to use it in the app?
Also can i use it with opentStreetMap api if so?

Thanks in advance!

“Have to map it 70%” sounds like a homework assignment as it is just just not meaningful in terms of a map that will never be complete but is growing all the time…

Typically you would use the OSM API to extract a working copy of the map, and then format it into own optimised format. The OSM API is not intended to be heavily used for end user mapping.

Chelu, please give us more details about your task!

So basically i must map a small city for a company that doesn’t want competitor access to it. The company uses osm for their mobile client applications. The mapping is already started on openStreetMap and i want to continue from that point,

All data in OSM can be accessed by all data consumers. So I don’t know how you will fulfil the requirement " that doesn’t want competitor access to it" when you put the data in OSM. But on the other end, buildings and such will be mapped anyway someday, so there won’t be a competitive advantage after all.

I was thinking more of a way to use a render server maybe from the osm made with josm (probably).

Hello Chelu,

so what are the details you want to know from us??

When you create houses in any OSM editor like JOSM, you can upload these new objects to the main OSM database server, so that anyone can use it, including you or that mentioned company.

Then you can download complete map data from OSM server for your needed area, and do with that data whatever you want, as long as you obey the OpenDatabase Licence.

There are companies that set up a clone of the main OSM server, and let JOSM point to that server. All data they create with that JOSM goes to their private instance. No-one else sees that data. You could then work with that data in all kinds of programs, such as renderers, Maperitive, QGIS, etc. when you configure them to use that private instance.

But you will have to sync with the main database from time to time, in order to get the updates that other people make. Otherwise your database will soon be out-of-date and your competitive benefit will be lost.

I think it is better to map everything (street, buildings, etc.) on the “global” server and have some private data (e.g. customers or other data no one else needs to know/can know) in your local DB. You can overlay one on the other with JavaScript libraries such as Leaflet or OpenLayers or within your App.

I got my question answered!

Thank you!