Hot answers tagged

7

I've done exactly the same thing for the same purposes - creating GIS-based rock climbing guides using GPS points taken with a mobile phone. I collected my points using an iPhone and the iGIS app. What I liked about iGIS was its ability to read/write directly to shapefiles, so you can get your attribute schema all setup outside of the app. Screenshot of ...


7

Now you can also use Overpass API to query and export OSM data by tags like "canal" (and also by area). It is more suitable for small to mid-size selections. There is a easy-to-use user interface called Overpass Turbo, where you can type Overpass API queries and immediately display the selection on map. Below is an example query that return all ways and ...


5

Basically you want to use the projectGeometry method from the AGSGeometryEngine class to convert from the GPS coordinate system to the coordinate system used by your map. Use the defaultGeometryEngine for this. Assuming your GPS is giving you WGS-84 coordinates you could do something like this: CLLocation* gpsLocation = .... // create a AGSPoint from the ...


5

Your hypothesis is conceptually correct. GPS is a one-way system, with your phone listening to satellites broadcasting hyper-accurate timestamps from orbiting atomic clocks. A regular GPS unit can take 10+ minutes to download the latest satellite positioning information (almanac and ephemeris) needed for triangulation. This can lead to very long delay before ...


5

GeoTools is a Java library which can read and write GeoJSON and provides access to features like area via the JTS library. It will also help you to reproject the geometries from the lat/lon of GeoJSON to a suitable projection for calculating areas in m^2.


4

In this case you might be more precise if you fine tune your points on a computer later. For example try to note the position of the point relatively to a tree or any other significant feature in the landscape. Anyway, even if you position your point perfectly at the right place, it is very likely that the user of your guide won't have a better GPS than ...


4

The ArcGIS app lets you view web maps, not web mapping applications. Web mapping applications are composed of HTML, Javascript and CSS and are accessed from a device's web browser. Here's an example of a web mapping application: http://keller.maps.arcgis.com/apps/PublicInformation/index.html?appid=6061c77c5f2e4b219e9ec91f9d4acd0c It is designed to work ...


4

tl;dr Does iOS know the phone's location solely from cell tower, i.e. without GPS data? Yes, iOS does, using Assisted GPS (Wikipedia, dmahr). How it works The article Deeper insights into Apple’s “GPS” explains how it works: All iPhones scan their environment for WiFi access points and cell towers and their signal strengths. If there is GPS ...


4

You can do this several ways, I think that the easiest (if you only have a few GIS things to do) is to use Turf see here There are also a couple of GIS library whom are a bit heavier (size wise) leaflet: how to After you can also try openlayers3


4

For Android, we looked into this a few years ago (circa 2014): https://github.com/CUTR-at-USF/OpenTripPlanner-for-Android/issues/356 We ended up just using raster tiles, but we were looking at the below tools to potentially do vector rendering at that time: Mapzen Vector Tile service - https://github.com/tilezen/vector-datasource/wiki/Mapzen-Vector-Tile-...


3

I agree with mapbarker and say TileMill would be the best route. However the problem you have is that the original raster files are in British National grid (epsg:27700) and need to be warped to the google sperical mercator projection (epsg:3857) The MapBox team have a good tutorial on this - https://www.mapbox.com/tilemill/docs/guides/reprojecting-geotiff/ ...


3

I've put a lot of time into trying to get route-me to render vectors. In my opinion using the built in vector rendering, RMPath and markers does not scale to the amount of data needed to render a map. That doesn't mean that route-me isnt an isn't an option, you could use mapnik to do the rendering, then pass the data to route-me to render. As of now there ...


2

As answered already, you can use the 2 notifications: AGSMapViewDidEndPanningNotification and AGSMapViewDidEndZoomingNotification However, if you need more immediate feedback you can add an observer to the AGSMapVeiw's visibleAreaEnvelope property: [self.mapView addObserver:self forKeyPath:@"visibleAreaEnvelope" options:NSKeyValueObservingOptionNew context:...


2

According to the class reference for AGSMapView, there are two NSNotifications that are broadcast whenever the map pans or zooms to a new extent. Set up a listener for those notifications. The map component also broadcasts 2 notifications - AGSMapViewDidEndPanningNotification and #AGSMapViewDidEndZoomingNotification .


2

First how are you planning to connect the external GPS to your iOS device? Because you either have to purchase an external GPS that already has the capability to connect to an iOS device, or the GPS device can transmit the location via Bluetooth Low Energy (LE). Apple doesn't allow any device to communicate with their iOS devices unless it's part of the ...


2

The Collector for ArcGIS supports maps with multiple tiled layers. It currently doesn't have offline maps but that will be supported in an update being released this month.


2

If you use ArcGIS, you could try CarryMap. It is a software tool to export a map from ArcGIS to a mobile device. It supports multiple raster layers. Although you cannot alter the transparency of layers on the mobile device, their transparency is preserved. So if the corresponding ArcGIS raster layers had a transparency setting, the raster is shown with ...


2

The phone with 6.1.2 must have had an older version of Collector installed and when you try to update it from iTunes it will continue to reinstall the older version of Collector (from 2013) that supported iOS 6. The current (10.2.7) version (and all Collector versions since 2/2014) require at least iOS 7. We needed at least iOS 7 in order to support ...


2

MapBox open-source stack seems to be quite performant indeed - and used in production by many. If you want to host your own OSM tileserver have a look at our project http://osm2vectortiles.org/. You can get there downloadable vector tiles for world or countries - and free software to host it (or generate the vector tiles on your own). We work now on ...


2

SpatiaLite ,a spatial extension to SQLite is the best option for mobile applications.


2

You can check if zoomLevel was changed in delegate mapView:regionDidChangeAnimated: (void)mapView:(MGLMapView *)mapView regionDidChangeAnimated:(BOOL)animated


2

I'm the maintainer of the app that Sean Barbeau linked to, and I must say that yes, Leaflet is pretty solid on mobile. You can install the MTA Bus Time app to see how it performs. That said, Leaflet 1.0 looks like it will be even better. If your requirements are not onerous (e.g. you don't need OpenGL), it's the easiest way to go.


2

OpenCyleMap is a set of map tiles made from OpenStreetMap data. You just need to create a mapping application showing a user's location, with those tiles as a basemap. The URL for the tilelayer is http://{s}.tile.opencyclemap.org/cycle/{z}/{x}/{y}.png, with a and b subdomains (e.g. http://b.tile.opencyclemap.org/cycle/1/1/1.png, which ends up in the ocean).


2

For very simple and small maps it may be fine your better off using MBTILES or GPKG GEOPACKAGE TILES You can use GDAL to produce these or QGIS. Just note if you choose MBTILES first re project data to spherical web Mercator EPSG 3857. If you have vector data use vector tiles MBTILES using Tippecanoe or geopackage features.


2

What you are looking for is WhirlyGlobe for Android. It's a 3D globe and it allows for tilting to see perspective view. You can even include Cesium STK Terrain data. They have their own terrain tool that makes a sqlite database. Elevation Tile Pyramid tool. http://mousebird.github.io/WhirlyGlobe/ Another option is to embed in a WebView CesiumJS or ...


2

Mapbox Studio and Mapbox Maps SDK for iOS v4.0 support expressions, which are much more flexible and powerful than style functions. The first step is to convert your existing textOpacity style function to an expression. Based on this migration guide, the expression would look like this: NSExpression(format: "mgl_step:from:stops:($zoomLevel, 0, %@)", ...


2

So I've been able to render tiles from a .mvt source, using MapBox's SDK's MapSnapshotter. These tiles can then be displayed on the Google Maps SDK (using a custom TileProvider). It's working well: a little bit slower than most raster tiles, but still usable. On the downside, the MapSnapshotter automatically adds the map attribution label on each snapshot ...


2

You can try Input, which is based on QGIS and works on both Android and iOS: https://github.com/lutraconsulting/input Disclaimer: we develop Input which is free and open source


2

I'd argue that Bearing is more correct than Course in this context, although a big caveat is that I'm an Android developer. Also, the answers you get may differ depending on what industry they are coming from. Here's a related question on aviation.stackexchange.com comparing Bearing, Course, Direction, and Heading. Course, in the traditional sense, implies ...


1

Im not sure if the algorithm has been developed and deployed widely, but there is a way to improve the accuracy using multiple smart phones sharing information. See "High-Accuracy Differential Tracking of Low-Cost GPS Receivers" and "Centimeter Positioning with a Smartphone-Quality GNSS Antenna" Google Scholar


Only top voted, non community-wiki answers of a minimum length are eligible