Map rendering using OpenStreetMap - openstreetmap

Does OpenStreetMap just provide GIS data? To render maps and have a browser based UI to show maps with data, would a developer need to use something like Mapnik?

OpenStreetMap provides data yes, and you'll need specific tools to make map with them. You first need to put the data in a true GIS format, which OSM is not. Think about PostGIS, an osm2pgsql tool is designed for that. Then, you'll need a rendering tool, i.e. a cartographic engine. You can use Mapnik or MapServer. Tilemill or Kosmtik can help you designing your map styles.
Take a look here.

yo can export data form OpenStreetMap and render your own map.
Take a look at
http://www.slideshare.net/jones139/rendering-openstreetmap-data-using-mapnik
http://www.slideshare.net/artemp/mapnik-sotm-2007

There's a fuller list of rendering libraries for OpenStreetMap data here, both free and commercial.
http://wiki.openstreetmap.org/wiki/Renderer
Disclosure: I am the developer of one of them.

OpenStreetMap provides map data out to a wide sprawling ecosystem of different downloads and tools offering developers different map-making and map using possibilities. Here is a diagram I drew which captures some of this:
So the data comes out of the core of OpenStreetMap, in the form of 'planet downloads', one big unwieldy blob of XML (and diffs), but from there it fans out into a range of other offerings to developers, many of which are provided by 3rd parties. Taken together "OpenStreetMap & Friends" provide lots of possibilities.
If you are inclined to run your own rendering system, then yes, Mapnik is a good choice. Powerful and scaleable (most successful OSM tile servers run Mapnik), but takes a bit of setting up. You normally load OSM XML data into PostGIS, and run mapnik from that (tutorials on switch2osm.org)
If you are not inclined to run your own rendering system (for more lightweight web development tasks this seams reasonable!) you don't have to! You can configure LeafletJS or OpenLayers or others to fetch map tiles from a tile server run by somebody else. There are many providers. See the providers list on switch2osm.org and the Tile Servers list.

Related

Replacement for NOAA Seamless Raster Navigational Chart Services?

NOAA stopped their Seamless Raster Navigational Chart Services URL this year. I was using it in a simple leaflet.js project, and need a replacement or update.
Going through the various documents on using their new vector data gets me lost very quickly. Is there a "simple" workaround? Or a suggestion or pointer to simpler documentation that doesn't require significant GIS knowledge? Or an alternative service, similar to Open Street Maps but more nautically focused?
Thanks.

Tile styling in Open Street Map (with Leaflet)

Is it possible to use different colors for Tiles in Open Street Map?
In Google Maps API you can style the map - is there a same feature in Open Street Map or even better are there any different tile templates on the web for download and use in OSM?
OpenStreetMap project provides map data. In order to display web maps OSM data needs to be pre-processed and rendered. Depending on whether you use raster (for example default leafler) or vector tiles (mapbox-gl) steps to modify styles are completely different. Raster styles are usually generated using mapnik rendering library with mod_tile and apache web server. OSM data needs to be imported into PostgreSQL database. Depending on the amount of data you want to process it can take different time from couple of hours for single city to days for the whole planet and require very good hardware (6-8 cores/ 32 GB ram and higher). Then you need to edit special CartoCSS styles to change map appearance. Vector maps and tiles is completely different story but it will require comparable efforts to create your custom map style.
What I suggest is to go and find OSM maps provider that have different styles from default OSM by the way here is an excerpt their tile usage policy (https://operations.osmfoundation.org/policies/tiles/):
OpenStreetMap data is free for everyone to use. Our tile servers are not.
So look at these providers, they can save you a lot of time and money:
https://openmaptiles.org
https://getmaps.io
https://stadimaps.com
and others from https://switch2osm.org/providers/

Serving a large dataset with minimal bandwidth

I want to serve a large spatial dataset, preferably without webgl support, over minimal bandwith. I've seen many examples doing so. For example:
https://interaktiv.morgenpost.de/europakarte/
What would be the best way to achieve something like this? Is it possible without hosting my data on mapbox, maybe host the data on AWS S3? How should I approach this?
I found a solution. There's a technology called an UTFGrid, which are tiles in JSON format. These tiles can be generated in many ways, for example by using TileMill and MB-util. These tiles are very small, but enable the user to see featureinfo on hover. Once these tiles are generated they can be hosted anywhere you want, AWS S3 or your own web-server.

Use OSM for routing in GeoServer (The best practise)

I am new in OSM but now I need create application which will use GIS (Geoserver) and will be provide service to get road from point A to point B.
I found some informations about this but I still have any questions.
My is download open street maps and extract to database (PostgreSQL), and for routing use plugin pgRouting. Next connect db to map server and provide api for clients.
Questions:
1. Is that correct way?
2. How osm format could I use for postgre? (osm.pbf? shp.zip?, or something else?)
Thanks for answers
Let me elaborate, what things needed to start till end:
First you need to download, OSM data, for which you can simply use Overpass API.
OSM2PO JAVA based CLI tool to convert OSM data into routable data, here is the good guidline how to use this tool.
Postgresql with postgis and pgRouting extensions, you will use dijkstra algorithm to get shortest route, or any other algorithm that best suits you.
Finally you will need Geoserver, that will provide OGC standards e.g. WMS and WFS, through which you can get your route in raster or vector format, you can store your table as layers and you may need a SQL View.
Further, for front end you can use OpenLayers, which is a JavaScript Web Mapping Library or you can use Leaflet,
You can easily do WMS and WFS requests from these libraries to Geoserver and Geoserver will send you a response, with your requested data, if request is correct.
NOTE: You can use QGIS v2 with pgRouting plugin for testing.

Is there any free/open source map engine for iPhone?

I have a bunch of map images and i wonder if there is any free/open source map engine that I can use for iPhone development. Just like google map api but they are for native development
I would highly recommend using OpenStreetMap as a mapping framework rather then the Google API mapping.
OpenStreetMap is less restrictive in license terms then Google maps.
You can provide better mapping data with OpenStreetMap then with Google maps using custom or predefined mapping layers.
In regards to engines (frameworks/api's) that access the OSM data. Check out the following.
route-me
CloudMade
If you would like to find more information on using OSM on the iPhone/iPod Touch check out the OSM iPhone Wiki
Hope this information helps.
It looks like there is, and it's called Route-me. Licensed under licensed under the BSD license.
Adding some frameworks/api's that access the OSM data, I recommend you to have a look at Navit (it's an open source projects) and skobbler's OSM SDK (it's a good solutions with a free tier plan that might be large enough for your needs).
Another possibility is cloudmade.com - its a layer on the OSM and includes an iphone library routing toolkit etc.