GIST - New iOS Map/Nav/GIS app in Development

Commercial posts in this forum are permitted. This forum is only visible to members. Topics deleted after 2 idle years.
Forum rules
Topics here should be bushwalking-related. Topic titles should begin with abbreviated state and/or town/suburb enclosed in square brackets IF the topic is only relevant to a particular location. Eg [TAS Hbt].

Topics posted by commercial organisations to advertise or discuss their own products or services are subject to the following additional limitations:
  • maximum of one topic per commercial organisation per week
  • posts from new or otherwise unknown advertisers may be rejected or deleted by moderators if they have any reason to think it might be spam - to be on the safe side, new advertisers can obtain permission from site admins before posting their first advertising topic
  • It must be clear that the post has been written by the organisation which produces or sells the product(s) or service(s) by filling in the "Associated Organisations" field in the user profile.

Note that any content, commercial or otherwise, which is deemed inappropriate for any reason may be deleted without notice.

GIST - New iOS Map/Nav/GIS app in Development

Postby Son of a Beach » Thu 09 Feb, 2017 11:47 am

Late last year I started developing a new iOS app for mapping, navigation and GIS. The new app is tentatively named "GIST" which stands for "Geographic Information Systems Toolbox". Since developing another iOS mapping app some time ago, I have learned a lot about GIS, firstly as a hobby, and later at uni studies, and then I had a career change to GIS as well. So I should have a much better understanding of what I'm doing this time around.

GIST will be more GIS focused than my previous apps, but I'm hoping that it will still be just as easy for casual mappers/navigators to use (my own primary use will still be bushwalking and fitness tracking).

Development is very slow, as I don't have much time to work on this sort of thing (which is why I sold the old app in the first place). I'm only getting a handful of hours a week to work on this, but it has made some substantial progress in the few months since I began. This is the advantage of standing on the shoulders of giants (so to speak) who've done the heavy lifting of building the software libraries that I'm using for managing spatial data and for rendering map layers as images on screen.

At present, it only supports offline vector data and online raster services. However, I hope to expand it to offline rasters and online vectors eventually. It currently cannot download online data for offline viewing explicitly (this will come eventually), but it does cache online layers as they are viewed (although this cache is temporary and can get purged occasionally).

I'll post a few screenshots to illustrate progress so far, and will post updates to this topic occasionally as things progress.

icon.png
Icon
icon.png (8.43 KiB) Viewed 6086 times


map.PNG
Main map view
map.PNG (410.09 KiB) Viewed 6091 times


location.PNG
Select how map displays current location
location.PNG (265.81 KiB) Viewed 6091 times


layers.PNG
Manage the layers on the map
layers.PNG (109.89 KiB) Viewed 6091 times


attributes.PNG
Attributes editor
attributes.PNG (50 KiB) Viewed 6091 times


spatial_reference_system_selection.PNG
Select spatial reference system (coordinate system) - GDA2020 will be included by the software library very soon, I believe
spatial_reference_system_selection.PNG (112.84 KiB) Viewed 6091 times
Last edited by Son of a Beach on Fri 10 Feb, 2017 9:51 am, edited 3 times in total.
Son of a Beach
Lagarostrobos franklinii
Lagarostrobos franklinii
 
Posts: 6396
Joined: Thu 01 Mar, 2007 7:55 am
Region: Tasmania
Gender: Male

Re: GIST - New iOS Map/Nav/GIS app in Development

Postby potato » Thu 09 Feb, 2017 12:52 pm

Looks good. Any chance of an Android version?
potato
Athrotaxis cupressoides
Athrotaxis cupressoides
 
Posts: 159
Joined: Thu 28 Jan, 2016 1:06 pm
Region: Australian Capital Territory
Gender: Male

Re: GIST - New iOS Map/Nav/GIS app in Development

Postby Son of a Beach » Thu 09 Feb, 2017 1:24 pm

There is currently no plan for an Android version, even though I'd like to support that platform. The reason for this is that it would take me a long time to learn how to develop Android apps, and that would be time I can't spend on actual app development.

It's possible that in the future I may be able to partner with an Android developer to develop an Android version, or to learn one of the tools that allows cross-development simultaneously.

Cross-platform-development also has some challenges... Do you develop using tools that build for both platforms simultaneously, or do you maintain separate code bases. There are good reasons for either approach. Simulteneous development with a single code-base should be quicker and easier, but it doesn't take advantage of the unique aspects of each platform, and you end up with the lowest common denominator. With handheld devices with small screens, the UI is critical in order to make a good experience, so you really need to make the most of what UI options the platform makes available, where feasible. On the other hand, separate code bases for each platform (at least for the UI components) makes it a much bigger project to manage and maintain, and keeping the two in sync would be difficult, but could end up with a better experience on both platforms. In any case, I don't currently have the knowledge or skills to take on either approach, let alone decide between them.
Last edited by Son of a Beach on Fri 10 Feb, 2017 9:56 am, edited 1 time in total.
Son of a Beach
Lagarostrobos franklinii
Lagarostrobos franklinii
 
Posts: 6396
Joined: Thu 01 Mar, 2007 7:55 am
Region: Tasmania
Gender: Male

Re: GIST - New iOS Map/Nav/GIS app in Development

Postby Son of a Beach » Thu 09 Feb, 2017 1:28 pm

I should also note that the application already makes it easy to share configuration of online map services (eg, WMTS, TMS, OSM, XYZ) by email or SMS (or iMessage or facebook, etc).

An example of how this is done is illustrated below. Note that for WMS or TMS, the "Details" part of this can be pages long, and is not of any real interest to end users apart from diagnostics. The button in the middle of the top toolbar produces the iOS standard share options panel in the second image.

But even if you have to configure these online services yourself, you only have to enter the top-level service URL, and the application will parse the online service capabilities and give you a list of options to choose from. So you don't have to enter crazy long URLs and complicated options manually.

If somebody has sent such a layer definition to you, then you simply copy all the text from the email/SMS/whatever, and then go into the online layers list, then click the "Paste" button. The app automatically detects that you have an online layer definition on your pasteboard, and makes the "Paste" option available.

IMG_3271.PNG
Online layer details
IMG_3271.PNG (70.41 KiB) Viewed 6071 times


IMG_3272.PNG
Share online layer options
IMG_3272.PNG (77.42 KiB) Viewed 6071 times
Son of a Beach
Lagarostrobos franklinii
Lagarostrobos franklinii
 
Posts: 6396
Joined: Thu 01 Mar, 2007 7:55 am
Region: Tasmania
Gender: Male

Re: GIST - New iOS Map/Nav/GIS app in Development

Postby Son of a Beach » Mon 27 Feb, 2017 7:19 am

I've been working on getting the app to display a library of symbologies for use with local vector data. Finally got it looking nice in the app settings (see newer replacement image in later post).
Last edited by Son of a Beach on Tue 28 Feb, 2017 2:23 pm, edited 2 times in total.
Son of a Beach
Lagarostrobos franklinii
Lagarostrobos franklinii
 
Posts: 6396
Joined: Thu 01 Mar, 2007 7:55 am
Region: Tasmania
Gender: Male

Re: GIST - New iOS Map/Nav/GIS app in Development

Postby tastrax » Mon 27 Feb, 2017 7:36 am

It would be great if the symbology could be imported using some sort of style sheet. QGIS allows this and being able to reuse the same styles would be brilliant
Cheers - Phil

OSM Mapper
User avatar
tastrax
Athrotaxis selaginoides
Athrotaxis selaginoides
 
Posts: 1659
Joined: Fri 28 Mar, 2008 6:25 pm
Location: What3words - epic.constable.downplayed
ASSOCIATED ORGANISATIONS: RETIRED! - Parks and Wildlife Service
Region: Tasmania

Re: GIST - New iOS Map/Nav/GIS app in Development

Postby Son of a Beach » Mon 27 Feb, 2017 7:45 am

Thanks for the suggestion. Done!

Users can now share their entire styles library with other users and can paste (add) an entire library of styles from somebody else. (Sharing can be by mail, SMS, etc - see above for how this works with sharing layer definitions). Once I've finished implementing a symbology editor, I'll make sure that it can be used to share a single style as well (as opposed to an entire library of styles).

NB: These shared symbology definitions will only work with other users of this app (unless you find another application that users the open/public OGR Feature Style Specification). I may be able to support style definitions for other applications in the future by SLD format, but that's unlikely to be for a very long time.

Here's the updated version of the symbology library manager (notice the new 'Paste' button):

IMG_3286.PNG
Symbology Library with new 'Paste' button
IMG_3286.PNG (70.71 KiB) Viewed 5832 times


In order to make sure that the styles were being drawn authentically here, each one of those rows actually contains a full-on map. Each one of those maps contains one polygon, one line and one point (and the point has a label). In some cases, the symbology is only available for a subset of these features, so they are not all rendered.

The next stages will be to create an interface for people to create and edit symbology in the symbology library (and in their own vector layers), and to allow symbology from the library to be added to local vector layers. (At present, all local/offline vector layers are rendered exactly the same, so this will be a significant step forward).

I'm looking forward to having some pretty looking maps based on locally stored offline data, instead of just online maps. Nearly there!
Son of a Beach
Lagarostrobos franklinii
Lagarostrobos franklinii
 
Posts: 6396
Joined: Thu 01 Mar, 2007 7:55 am
Region: Tasmania
Gender: Male

Re: GIST - New iOS Map/Nav/GIS app in Development

Postby Son of a Beach » Sat 11 Mar, 2017 1:39 pm

Well implementing a symbology editor took a lot more work that I had anticipated. It's almost done... I just need to add a nicer UI for choosing label anchors (instead of entering a number and having to know what each number means from 1 to 12), and similarly for selecting symbol shapes visually (instead of having to know the exact text to enter for each shape).

Here's what it looks like so far (below). It is spread across 4 tabs in a tabbed view, with one tab each for
  • line/outline/pens
  • fill/brush
  • symbol
  • label

Multiple 'pens' facilitates more interesting lines/outlines as per the 'tracking' and 'railway' symbols in the previous post, particularly when combined with dashes/patterns.

style_editor_incomplete.png
style_editor_incomplete.png (73.42 KiB) Viewed 5760 times
Son of a Beach
Lagarostrobos franklinii
Lagarostrobos franklinii
 
Posts: 6396
Joined: Thu 01 Mar, 2007 7:55 am
Region: Tasmania
Gender: Male

Re: GIST - New iOS Map/Nav/GIS app in Development

Postby Son of a Beach » Wed 07 Jun, 2017 11:49 am

Development has been very slow over the last few months. But I've finally achieved one of my personal goals: Scale-dependent styles ("symbology"). This is something that ArcGIS cannot do without an annoying work around. Although it's not often required, it is exceedingly frustrating when it is required. The only way to do this in ArcGIS is to have multiple layers added to the map all sourcing data from the same feature class, but using different "symbology" (styles), and configured for different scale ranges. Not only is this an ugly work around, but it actually fails in some (rare) situations, causing weird anomolies if you happen to hit the scale where the two layers scale ranges meet (both styles are drawn) or in between the two scales ranges if they don't meet (no style is drawn).

With the GIST, I can now configure a single layer to have multiple styles, each one with a different minimum scale (zoom-out-threshold). Maximum scales (zoom-in-threshold) cannot be explicitly defined, but are based on the minimum of the next style in the list (or in the unlikely case that you'd want nothing displayed when zoomed in further, an empty style could be used). Configuring a style with a scale of "1:0" means there is no minimum scale for that style - ie, it will display no matter how far out you zoom (this is the default).

Why? What is the purpose of multiple scale-dependent styles for a single layer? Well, really... just because I can. I have a genuine need for this in ArcGIS at work and it really bugs me that we have to publish so many maps to our users using the ugly hack that is required to achieve this. And we have had one or two users that have their browser windows exactly the right size so that they consistently hit the drawing anomoly where the layer was not displayed at all. So I had to reconfigure the multiple layers to use scale ranges that meet and then of course it is possible to get both layers drawn if you hit that exact scale. Not happy Jan.

So I wanted to make sure the GIST can do it. It's like therapy. Makes me feel better that at last I can have some maps that can at least do this one thing the right way.

(Incidentally, every other GIS and spatial tool I've come across can do it. Geoserver and QGIS can do it using rule based styles in an SLD. OpenLayers can do it using a style function. And these are all free software. Why can't the most expensive GIS do it? Can you tell I find this very annoying?)

One example where scale-dependent styles is genuinely useful is that if you want larger point symbols, but they are too crowded when zoomed out, you can have the best of both worlds - smaller when zoomed out and crowded, but larger when zoomed in and less crowded. This is particularly useful when using several categorised large symbols when zoomed in, and a single simple small symbol when zoomed out. Ironically, the GIST does not do categorised symbols. Yet. Maybe in the future.

scaled_styles.PNG
The same feature Zoomed Out and Zoomed In - different style, including label content
scaled_styles.PNG (248.4 KiB) Viewed 5180 times


layer_editor.PNG
Part of the Layer Editor Showing Styles by Scale
layer_editor.PNG (50.85 KiB) Viewed 5180 times
Son of a Beach
Lagarostrobos franklinii
Lagarostrobos franklinii
 
Posts: 6396
Joined: Thu 01 Mar, 2007 7:55 am
Region: Tasmania
Gender: Male


Return to Specials, Discounts, Adverts

Who is online

Users browsing this forum: No registered users and 1 guest