Map editor for indoor navigation - ios

I would like to create indoor navigation app. But have some trouble with a floor plan.
And I need a good map(floor) editor maybe like ArcGis,JOSM.
Will be great if this editor can create database by map (door, windows, corridors,...).
I will integrate this map in iOS app.
Thanks!

I found solution. I had this floor plan in jpg.
My steps:
1)Convert your image through GDAL to Gtiff.
2)Create project in TileMill without globe.
3)Press on the button "Add new layer".
4)Choose destination to your gtiff file and type in SRS field "900913".
5)Save.
6)In the CSS set on the image layer raster-scaling:bilinear;
7)Zoom your map while you will see the map.
8)Export your project to MBTile.
9)Use MapBox SDK to integrate your MBTile.
For GDAL:
gdal_translate \
-of GTiff \
~/Downloads/Plateosaurus_big.jpg \
~/Downloads/Plateosaurus_big.tif

You are free to choose any vector GIS you like to use to create indoor floor plans. Thus, you need to develop an speficiation for your model, so that you can create rules for routers etc. Next you need to think about how to store them (shapefiles, PostGIS, ...) and how you want to create the final products (rendered maps, routing graphs, ...).
I'm not sure how you want to create/collect your floorplans (experts vs. VGI) but JOSM sounds like a good starting point, esp. as the OSM community has already some experience with indoor mapping: http://wiki.openstreetmap.org/wiki/Indoor
Hint 1: There seems to be currently no final solution to indoor geolocation with adequat resoluton for your usecase (indoor routing).
Hint 2: The indoor topic is only in use within a very small part of the OSM community. So expect some refuses/critics if you add such data to the global OSM database.
Hint 3: In some countries are floorplans also intellectual property, so copy&trace might be a copyright infridgement.

Although that's not what it was made for, you could check out indoo.rs. You can use the product without indoor localization, but indoor map creation and indoor navigation.

Related

Is it possible to create IndoorMaps like airports from Apple with IMDF?

Im quite confused about creating an IndoorMap for our company to display it on iPad's.
Regarding to the new IndoorMaps-Program from Apple I thought I found the perfect solution. Nice examples are shown at some airports in the official Maps App.
But the more I dig deeper into this topic, I understand less and less.
At airport indoor maps, provided by Apple directly, the max. zoom level is nearly disabled. You can zoom insanely deep into the indoor map (close to 5m). When I am creating a map with MapKit I can zoom not even close enough to a building, to fill it fullscreen. Is it even possible to get that zoom level as a private developer?
In the documentation about IMDF-files they mentioned, that as an private developer,
you will need to create IMDF yourselves. The good news is there are a number of third party platforms and tools that can make creating and updating IMDF easier. See section on third party platforms below.
So I studied these third party platforms and noticed, that I can only create IMDF, when I am using it together with their provided software and map-SDK's. So I would make me dependent to another platform and SDK, which isn't in my interest. I didn't found anything about one platform/software to simply convert some floor plans to IMDF. Where is the trick? Am I thinking to complicated?
The most confusing part of IMDF is: What is IMDF exactly? Third party platforms advertise it with the new file for indoor maps. Apple on the other hand, mentioned that
IMDF is a data model that is used to describe an indoor space. IMDF is output as a set of GeoJSON files.
So is it a file or a format? Would it be enough to get a tool to create GeoJSON-files?
Maybe somebody got a little bit experience with this topic and can get me some hints for my questions or can even suggest another simpler and better solution to display indoor maps for example warehouses.
The Indoor Mapping Data Format is Apple's way of modeling how to map indoor spaces. An IMDF archive is one manifest.json file with many .geojson files which are tightly related to the id property in some of the GeoJSON.
See the IMDF Sandbox link to get a sample IMDF archive from Apple
If you are building indoor maps for your example warehouse, and you want to stay independent of other parties, then you need to create your own GeoJSON. You would use the IMDF Sandbox from Apple to validate and/or report any issues you may have with your IMDF archive.
You mentioned a few links above, let me summarize your links plus a couple of others that we used to learn development of our IMDF solution.
Indoor Mapping Data Format — https://register.apple.com/resources/imdf/
Introducing the Indoor Maps Program - https://developer.apple.com/videos/play/wwdc2019/245
Video 245 from WWDC 2019 describes the IMDF Sandbox — https://register.apple.com/indoor/imdf-sandbox
Because building and understanding IMDF can be a bit more complicated, there is the IMDF Sandbox, a tool for visualization, archive inspection, editing and experimentation with an IMDF archive.
Adding Indoor Maps to your App and Website — https://developer.apple.com/videos/play/wwdc2019/241
Video 241 from WWDC 2019 gives sample MapKit & MapKit JS projects
Displaying an Indoor Map — https://developer.apple.com/documentation/mapkit/displaying_an_indoor_map
Displaying Indoor Maps with MapKit JS — https://developer.apple.com/documentation/mapkitjs/mapkit/displaying_indoor_maps_with_mapkit_js
I apologize that this was downvoted by someone, it's likely that someone deemed it not a programming question. I thought it a worthwhile question enough to answer.
To answer your questions:
What is IMDF exactly?
See https://register.apple.com/resources/imdf/Reference/#archives
Datasets MUST be delivered as ZIP compressed archives
Archives MUST contain a Manifest object supplied in a dedicated file named manifest.json
Features MUST be packaged as homogenous GeoJSON FeatureCollections
Is it possible to create IndoorMaps like airports from Apple with IMDF?
Yes, See the IMDF Sandbox link above, as they have an example of Victoria YYJ International Airport
Is it even possible to get that zoom level as a private developer?
Zoom level or MKMapView.CameraZoomRange would have to be determined empirically.
If you are familiar with GIS solutions, ESRI has a own indoor mapping template using which you can create Indoor maps and then export them into IMDF format.
The process should be:
Map you components and path using the ArcGIS Pro of ESRI and store them in a geodatabase.
Getting Started with ArcGIS Indoor Maps
Complete you map test the paths and openings using navigation tool to make sure everything is perfect.
Export the existing geodatabase into IMDF format using the Generate Unit Openings tool.
Export Indoor Maps data to IMDF

Mapbox iOS Search by Attributes or Features

I have a common use case that I haven't found documentation or examples on. I've added data to my iOS Mapbox app via TileSets in MapBox Studio. I'd like to simply implement a UISearch function on the data in that Tileset using some attribute. For example, I've added a TileSet with 100 different roads in some county in Alaska, and I'd like the user to be able to search for a specific road in the search bar. This seems like it should be easier than I am making it, but I've been working on it for weeks. The original data is geoJSON but I'd like it to be hosted in MapBox Studio so I can update the data without needing to update the app once its released.
Note that this is different than the visibleFeatures function which returns MGLFeatures by location or Rect. I really just need to get all features list from a layer so I can populate it in the UISearch functionality.
Any suggestions? Much appreciated.
Update after talking with Mapbox customer support and folks familiar with how to do this.
Two ways to query features in map:
(1) use the MapBox visibleFeaturesAt() function for features within the rendered map: lots of documentation on this. But this is limited in that it only returns features nearby to your mapview camera. If you want to do a big global search, can't rely on this. So second option is
(2) for global searches, transition to using an external database outside of mapbox. Mapbox isn't designed to be searched up globally for features like this question. If you want to search an attribute that is unrelated map-wise to current view, start using a back-end database like FireBase.

AR Google Tango Project

I'd like to know how to create a target for architectural large scale AR on a real site.In other words, I need that Google superimposed my 3d model on a specific place.
I have tried Google tango Area Learning tutorials (https://developers.google.com/tango/apis/unity/unity-codelab-area-learning), but after showing the message WALK AROUND TO RELOCALIZE the tablet does nothing, although I walk around to detect the real space, then after few minutes the message Unity project has stopped appears on the Google Tango tablet screen.
Could ADF file used instead of relocalizing the environment?
I've detected some interior scenes by Tango explorer and saved them,but I'm not able to use them for environment recognition purpose
I work on Unity and Google Tango tablet.
Thank you in advance for your response.
For anyone else facing this problem - the likely cause is not having a recent ADF file already on the device.
You need to first create a Area Description file (ADF) by scanning, and then you can separately Localise to that ADF - so you cannot "use an ADF instead of relocalising."
The tutorial you link above needs you to have separately created an ADF for your location - it simply chooses the most recent one you have.
You can use the Area Learning example to create your ADFs, and try localising to them. It also shows superimposing 3D models.
Also, look at the augmented reality one to see how to have objects load already in a specific place.

Indoor navigation (MapBox perhaps?)

Good day,
I was wondering, is it possible to create "indoor" maps with Mapbox for iOS (or does anyone have another suggestion)? I have a PDF of an indoor floor plan. I think I need to convert that to the MBTiles ( http://mapbox.com/developers/mbtiles/ ) format. How could I acchieve this?
Allso, when drawning the "walking route" for the person to certain facilities in the building. "it" should know where the person could walk.
Currently I am trying to create something with CATiledLayers (but I am kinda stuck (I can display the map, using "a tile" format.) and was looking and MapBox might be usefull since it has things like 'drawning' vectors on the map, or icons with information and such. For the walking directions I was thinkin about 'dotting' the walking routes so "Dijkstra's" algorithm" could determine the path. How could I go about this in Mabbox, even if possible?
Any help in the right directions would be greatly appreciated.
Kind regards,
Matthijn Dijkstra
You can likely do this with MapBox. In order to get an image or PDF into MBTiles format, you will want to use TileMill. You basically need to get your imagery into a geographic format. The easiest way would be to export the PDF as a TIFF, then make it a GeoTIFF and follow these instructions. That will let you geo-enable the imagery, get it into TileMill, then export it as MBTiles. Then, you could use the MapBox iOS SDK to bring it to iOS.
You could use a service such as indoor.io to generate the maps. There are a bunch of indoor services out there and more coming on the market.

Good examples of MapServer / OpenLayers

I want to convince some clients to use MapServer and OpenLayers. Please can anyone suggest attractive websites to show off the possiblities!
The clients will be impressed by:
A density map (otherwise known as a heat map, colour-shaded grid coverage, contour plot...).
The ability for the user to download the underlying data for the density map, restricted to the area being viewed, in some format such as netCDF.
Standard OpenLayers stuff. Zooming, panning, scale bar, overview map...
Different base layers. Could be WMS, Google, Bing...
Searching for a placename, map is panned to display the place.
Exposing the heatmap data for other people to use in mashups as WMS or WCS
MapServer.org is back up but demo.mapserver.org seems to be down right now :( But from memory their examples didn't have the "wow" factor. The OpenLayers examples demonstrate only one or two features per example - I want something to wow the clients by showing all the capabilities in one example.
PS If you have good examples that use some other open source tools, post them by all means. But just JavaScript please: customer says no rich client.
EDIT Come on StackOverflow, someone must have an example that uses a density map?? I'm even offering a bounty now...
Note this answer is no longer relevant. The open source maps have since been replaced with a commercial alternative by a different company
http://maps.seai.ie/wind/ - mapping onshore and offshore wind speeds and farms in Ireland
http://maps.seai.ie/geothermal/ - mapping geothermal temperatures in Ireland, and borehole data
uses WMS services (and TileCache) for all the layers, so can be accessed by other client GIS's (well once I've set up metadata etc..)
has a variety of different base maps to choose from
built using MapFish / ExtJS
has drop down gazetteers for County and Townland (an Irish administrative unit)
all the basic map navigation tools and a simple info tool
right click on a layer to set transparency
uses MapServer opensource back-end, plus SQL Server 2008
The systems (and a third more complex Bioenergy Intranet system) got a mention here: http://www.geoconnexion.com/uploads/renewableenergy_intv9i4.pdf
http://haiticrisismap.org/ openlayes + geoxt
would it be possible to create a template map for the client with a bunch of data on it, census, socio, create some simple fake buffers.
Maybe have a look at the HeatMapAPI for Google Maps (not sure you'll wow the client with that though).
Another density map: http://maps.glassfish.org/server/ (showing the use of GlassFish around the world).
We're using the OpenLayers Heatmap layer, mostly because (for us) it handles large data volumes better than the Google Map version (your mileage may vary)
http://www.patrick-wied.at/static/heatmapjs/demo/maps_heatmap_layer/openlayers.php
By large data volumes, I mean location datasets with 100K+ rows
It also works nicely as an ASPX page with dynamic realtime data retrieval from an SQL Server database. I've used a stored procedure to pre-process the data into the array format, grouped by Latitude & Longitude.
For those that need a translation table to convert their UK Postcodes into Latitude & Longitude, here's a good source:
http://www.doogal.co.uk/UKPostcodes.php
The OneGeology Portal (http://portal.onegeology.org/OnegeologyGlobal/) has been online for about 10 years, currently running OpenLayers 2, with an OpenLayers 3 version in development.
The portal attempts to create a geological map of the world by pulling together disparate OGC services provided by data suppliers (mostly Geological Surveys) from across the globe. The portal provides access to data from WMS, WFS (simple and complex feature), and WCS. The portal uses CSW to help manage which functionality is available to a user, and provides the ability to style WMS layers through the application of custom SLD. Map contexts can be saved, shared and loaded using WMC.
There is a gazetteer to help you zoom to a location of choice, the ability to change projections, and scales, and the ability to create a KML file to allow the service to be used in Google Earth. Transparency can be changed on all layers.
There are currently 353 layers.
When the OneGeology project started, all documentation was geared to the support of services provided by MapServer, and many of the services in the portal are MapServer services. However, because the portal utilises open standards, any software that can provide services to those standards can be included.
This is an example of a classified grid generated in MapServer and displayed by OpenLayers: https://maps.greenwoodmap.com/sublette/mapserver/map#zcr=1/2690000/1170000/0&lyrs=slopesZ,townlim,ownership,roads. The raw, unclassified slope data can also queried by map click.

Resources