I want to know is it possible to write a program that generates a 2d occupancy grid map from an open source map such as "Openstreetmap" in order to use it with robot localization ..
Will the information that can be extracted from such maps will be enough to know if this is a building so it's an occupied cell but this is a street so it's a free cell?
The program should take a map in XML file for example and automatically output the OGM.
Related
The examples all seem to use the countries primary language when rendering the maps which is cool but is challenging when I'm looking at countries written in languages I'm not familiar with. With that in mind how I can setup the map view to show all the cities, countries, etc. in a specified language?
I'm assuming that you are using the default OpenStreetMap source, but the same applies for all image-based maps. For image-based maps the labels are part of the images that are loaded from the map service to display the map. For example, see the following OpenStreetMap map tile, which shows a part of Japan, you can see that the label is in the image itself: https://tile.openstreetmap.org/3/7/2.png
As such there is no way to change the locale on the fly in the component itself. Instead, if you want to display labels in a different language, you need to use different map data that provides images that contain the labels in a different language. OpenStreetMaps has a Map Internationalization page that provides some information and resources. There are also commercial map services that provide maps in different locales. When you have found a service that provides map data in the locale that you want to use, then you can configure a source in the map component to load data from that service. See the map sources documentation on how to do that.
I have been using the GMLib for Google Maps operations for some years now without any problems and have made some interesting things if I must say so.
But now I am working on another project where I have a full address and needs to geocode that, but I don't need to show it on a map since I just need the latitude and longitude to calculate a QRA locator (it is a system of map grids used by HAM operators all over the world)
I think I could speed up the process by not using a map since it takes time to load every time.
Are there any components or libraries that could help me or isn't it possible to do at all.
We have a mapping application currently in the app store (https://itunes.apple.com/us/app/atlanta-fire/id825146524?ls=1&mt=8) and now we would like to add one or two overlays (the city limits, county limits, etc).
I have this GIS data available as a shape file and can also export as a pdf, png, svg, mbtiles and as a MapNik XML.
I do not want to override the native apple map (such as with Open Streets or MapBox), but just need to incorporate the shape file info.
Suggested strategies?
I've been working on something similar. There is a Shapefile C Library that I found
here:
Also there is a sample project that incorporates this into Mapkit here:
I'm trying to draw a map with a lot of markers on it. Just say more than 3000 markers, and this is taking a very long time to process and is using a lot of memory.
But I have the same map on Google Earth and this open very quickly. Somebody knows a way to speedup the process using gmLib?
Take a look at RTree structures.
R-trees are tree data structures used for spatial access methods,
i.e., for indexing multi-dimensional information such as geographical
coordinates, rectangles or polygons.
A common real-world usage for an R-tree might be to store spatial
objects such as restaurant locations or the polygons that typical maps
are made of: streets, buildings, outlines of lakes, coastlines, etc.
and then find answers quickly to queries such as "Find all museums
within 2 km of my current location", "retrieve all road segments
within 2 km of my location"
Queries like the one you expect will become almost immediate... :)
I use the RTree extension available in SQLite3. Our Open Source framework interfaces this kind of virtual tables with Delphi classes. BTW it works from Delphi 6 up to XE5.
If you are afraid of using a RTree, just ordering the data in order will help a lot searching e.g. via a binary search algorithm.
I have an application that successfully uses a pre loaded tile cache of Open Street Map .png files for a small city area about 20km x20km to support the presentation of tourist information on the web, iPad and iPhone. It is written in HTML5 and uses MoSync to create the wrapper to deliver it on the mobile devices.
This approach works well for cities but I would like to extend the app to work in countryside areas (in the UK initially) where if I could access it, Ordnance Survey mapping 25000,50000 and 250000 would deliver a much better user experience.
My specific questions are:
How do I get hold of topographic tiles?
Can I get tiles that have the same slippy map structure as OSM.
Can I use Ordnance Survey as a source for the UK and if so is it a one off license fee?
What zoom levels are available? I expect 25000, 50000 and 250000. Is 100000 available?
What formula do I use to identify the specific tile from a lat and long pair?
Will all the tiles at a specified zoom level be the same delta lat and delta long? If not how do I tile them?
Answering a few of your questions:
There are several OSM based maps with topographic elements. Take a look at the list of tile servers and the list of OSM based services. Remember to check each usage policy first before using them in your application.
For determining the filenames of the slippy map for a given latitude, longitude and zoom level, read the slippy map tilenames page in the OSM wiki.