Coordinates iOS - Roadmap to 8.0.0 Working with polygon / Shape file / KML

This section is for preparing the iOS Coordinates app for a major version upgrade. New features will be introduced over time until version 8.0.0 is released.

Feature list

  • Import .kml file - Version 7.4.1

  • Export .kml file - Version 7.4.1

  • Add/Edit overlay pin - Version 7.4.2

  • Draw Overlay/Shape - Version 7.5.0

  • Distance/Area Measurement - Version 7.5.0

  • Custom Pin - Version 7.5.1

  • Open Street - Version Map 7.6.0

As this is currently an experimental feature. Please make sure you read this post entirely before proceed using. Always save the existing coordinates list before experimenting.

There are limitations and quirks behind this feature. And They are subject to change. It is highly recommended to come back to this post every time when there’s a new app update. Change logs will be posted right at the top for quick access.


Overlay Tools (7.5.1)+

Warning: Since version 7.5.3, the app will store overlays on the memory, but they are not included in the coordinates list. Please export to the .kml file manually to prevent losing progress.

From here you can add extra pins, lines, shapes, or circles. On top of the original coordinates list

Distance and Area data are provided alongside the shape you drew as well.

Note: These pins will not be saved alongside coordinates pin data. Please export to .kml to save these added pins for later use.

To access the menu. Press pencil button

Add Pin

  • To add pin. Press green button.

  • Type pin name and description as needed. The description will appear under the pin title as a subtitle.

Edit pin

  • to edit pin, press at the pin on the map until pin name appear at the bottom bar

  • From here, you may edit pin, delete pin as desired

Delete all pin

  • Press delete all button

Note: This will only delete all pins created through this menu. All coordinates pins created through another method are not deleted here.

Add Shape

It is recommended to follow this step

  1. Choose Shape

Press to switch between options: Polyline, Polygon, Circle

Polyline (Line)

Polygon (Closed Shape)

Circle

2. Choose color

Press color wheel to begin choose color

Default color is black

Color updated to blue

3. Start drawing

In this tutorial we will try draw a closed shape on apple campus like so

Step 1: Pick Polygon and choose desired color

Step 2: Move the map to starting location

Step 3: Press add button

Step 4. Move the map to next location

Repeat step 3 and 4 until getting a full shape

Step 5: Close shape
Press close shape button or press the text at the bottom screen

Step 6: Add pin if required

From here, you can

  • Edit pin name.

  • Read distance/perimeter. Read area calculation

  • Add or not to add pin at the desired position

Step 7: (Optional) Repeat step 1 onward to add more shapes.

Custom pins

You can change pins from a standard pin to any shape you want by specifying the prefix of the pin title to match specific keywords.

To edit. Go to setting by pressing wrench button at the bottom right of the screen

Then scroll down until you see this section. Press Edit.

From here you can edit pin information. Since this is still under construction, it will look a bit overwhelming.

An example script has three lines. each line is divided into three sections.

Here is a structure of the data

<prefix>,<colorcode>,<url>

Let’s look at the first line from the above example


diamond,ADD8E6,https://upload.wikimedia.org/wikipedia/commons/thumb/1/1c/MK_road_sign_306.svg/480px-MK_road_sign_306.svg.png



Here is an explanation.


Any pin which has ‘diamond’ as a prefix of a title will have an icon image https://upload.wikimedia.org/wikipedia/commons/thumb/1/1c/MK_road_sign_306.svg/480px-MK_road_sign_306.svg.png tinted in ADD8E6 (light-blue) color


Note: The image needs to have a transparency layer and the image will always be filled in a single color.

This is how the app process image file


Note: To know which color code, you can try this site https://htmlcolorcodes.com/color-picker

34FF10 is what you have to fill in the script


KML Files (v7.4.0+)

Starting from version 7.4.0. We are introducing new features related to .kml files

You will be able to import/export .kml files and use it as overlay inside the app.

Read more about .kml file here https://en.wikipedia.org/wiki/Keyhole_Markup_Language

Import Overlay (.kml)

You may access this feature through the blue import button on the left side of the map.

Press the blue button to launch import menu

  • Read manual

    • You are here now at this page :)

  • Load .kml file

    • Load .kml file from files app. Which will be explained in the next section

  • Load sample .kml file

    • The app will load sample overlay file and display on the map.



How to load .kml file

  • Once download is completed. Press blue arrow button to see list of downloaded files.

Back to Coordinates app. Go press import overlay button and press import .kml file

  • If you are not inside “Download” folder. Press back/browse until you go back to the top screen.

  • From here you will see download folder

  • From here Selected .kml file

  • Success!

Remove overlays

  • Press red button to open prompt screen

  • Press delete all to delete all previously imported overlays/pins

Note: Coordinates pins placed by other menus are not affected. You may remove those pins manually through another screen.

Export .kml file

Very important

In order to export every pin correctly. You must change the pin display mode back to “Old Style” before continue

  • Go to the setting menu (Wrench button on the bottom right) -> Pin Display section

  • Change to “Old Style”

  • Completely close the app. Then re-open the app.

  • Then, press green button to proceed

  • Then select “Export .kml file”

  • Choose saving destination as required. Then save.

  • You may later access the .kml though files app

Note: The color of each polygon will reset. Each will be randomly assigned a color.

Note2: All original placed coordinates points, .kml imported polygons, .kml imported polylines, .kml imported pins all will be combined and saved in the new .kml file.

Note3: If you are using the app with a device language other than supported by the coordinates app. "My location” pin may appear in the result. Please double-check and edit the file manually.

Things you need to know

  • These overlays will only display momentarily, it won’t be saved alongside the original coordinates pins placed in the app. Once you reset the app or close the screen. You will need to re-import them.

  • Currently, only vector .kml file is supported. Raster images will not display inside the app.

  • Icon images are not included in .kml file.

  • With some workarounds, it is possible to import .kmz or .shp files too, but you will first need to convert them to a .kml file first. You may do it here.

  • For .kmz file. It is possible to convert the file to .kml without 3rd party tool. Just decompress the file to get .kml file by changing .kmz file extension to .zip then unzip the file.

  • For .shp file do not forgot to upload also associated .dbf and .shx files (and if available also .prj and .cpg files)

  • If you can’t see the imported overlay. You may have to manually zoom in on the map to see overlays.

  • If your .kml file doesn’t work at all. You can try importing it to KMZ to KML converter and use that export file and try again. If it still doesn’t work. Please double-check check syntax of the files following the examples provided above.

  • Sometimes, pins that are imported through .kml files are grouped together. You can try changing the pin display mode back to “Old Style” for better visibility

    • Go to the setting menu (Wrench button on the bottom right) -> Pin Display section

    • Change to the desired mode

    • Completely close the app. Then re-open the app.


Open Street Map

Starting from version 7.6.0. You may switch the map from the original Apple Map to Open Street Map

Apple Map

Open Street Map

Go to Setting -> Change Map -> Choose between Apple Map or Open Street Map

Coordinates updates

First, I have to say sorry that the update on the Coordinates app may be a bit too frequent. Please enjoy it while I spend total energy to make the app as good as possible.

….

Anyway, let’s go back to the topic

I just added the feature that you are all waiting for (or not).

Searchable Coordinates format selector!

iOS Version

Android Version

This feature is surprisingly hard to implement. But I finally did it.

For now, I will stop releasing new updates on the Android version. So everyone can relax and not to have updated the app daily.

Starting next week I will continue working on the Coordinates iOS version. The new update will be BIG. I want it to be much more usable in professional work than being just a simple coordinates pinner app.

I hopefully plan to release it before December.

Lastly, many features added are actually from your suggestions! I would like to say thank you for the messages sent via email/contact form.

Updates to Android Version

Good evening.

As you might already know, there were ongoing big maintenance and updates for the Android version of our apps.

Coordinates

We added these missing features from an iOS version below

  • Fix issues with what3words format

  • The import/Export feature is now available with cross-platform compatibility between iOS and Android

  • Zoom in Zoom out button

  • 100s of new formats

  • Input your own custom Proj4 format

  • Move between pins on the map

  • Press the center button (In this case “No:4) to rename or delete pin right on the main page

  • Zoom out to see all pins

  • Hide/Show all pins

  • Pin Count

Distance

  • New update after a year of inactivity

  • Bug fixes and update framework to the latest version

Elevation

  • Instead of bugfix. We rewrite the app from scratch for future compatibility

InspireMe

  • Ported from the iOS version

I also would like to apologize that the update may be a bit too frequent, I would like to ship the new feature as soon as possible without further delay. Feel free to report bugs if any.

Thanks for reading and have a nice day!

Mid-October Update

Good evening!


I would like to share news regarding our app development progress. Things are right on track

Here is a short list of updates:

BlastSim (Android)

  • Complete port from iOS counterpart.

  • Android Version is now available here https://play.google.com/store/apps/details?id=com.myice92.blastsim

Elevation (Android)

  • Complete the rewrite from scratch to make the app works again.

  • The updated version is now available here: https://play.google.com/store/apps/details?id=com.myice92.elevation

Coordinates (Android)

  • After some consideration, I’ve decided to continue to develop the Coordinates app using native code since it’s much faster to implement missing features. Such as the one below.

  • Import-export coordinates data between iOS and Android devices. Including GPX import and export! (Version 4.0) This feature is extremely important as everyone must be able to export/backup their data, if big code migration is ever implemented.

  • The update 4.0 will be available as soon as possible.

  • Then, we will slowly add missing coordinates type to match iOS counterparts.

Distance (Android)

  • I will push for an update soon. If the original codebase is working fine without issue then we won’t migrate to flutter yet.

That’s all for this week. Have a great day!

Android Versions

As you might know, our company has a variety of applications for iOS. We are really proud of that. 😊

However, we can't argue that we still have subpar Android apps. Some of them are mediocre. Some apps don’t work at all….😔

I don’t want to sound lazy. But as the one and only developer in the company, it’s very difficult to maintain several codebases. Our iOS and Android app were coded with totally different outdated languages and architecture. Language Not to mention code-breaking changes for every OS update. This really stops us from being motivated on the Android platform which currently doesn’t generate revenue at all.

This can’t last forever. 😡

Finally, I made up my mind and decided to continue Android app development once again. 💪 But continuing to develop using Java might not be a great idea since most documentation has been upgraded to Kotlin.

So, should I start learning Kotlin? Maybe. 🤔

My current iOS app codebase is Objective-C which is currently replaced by Swift. There’s no point in changing the language if the app could operates normally. but I will eventually need to learn that language anyway.

I knew that this will probably take forever and de-motivated me again. 🤕

So instead decided to research more on multi-platform languages.

My early experience with React Native was a disaster. It was supposed to save time, but I had to code in three languages. Instead of saving time, it did the opposite. 🤮

Until I found out about Flutter and I fell absolutely in love with the language. 😍 Flutter is much more simple to write than Java or Objective-C. I can say that it saves me countless times not having to fix annoying bugs.

Today, I finally finished rewriting Elevation for Android, and it took me less than 3 days to learn the languages from scratch. 🤯

And here is what the new version will look like. It should be live in the Play Store once reviewed by Google Team.

Range Elevation

Single Point

Do you like it?

So here is the plan:

  1. We will replace all of our Android apps to Flutter. Keeping the same feature as Java counterparts.

  2. Implement missing features to the Android versions to at least match iOS versions.

  3. We will most likely release completely new Flutter apps which aren’t related to the current lineup to both Play Store and Appstore.

  4. The absolute goal of this migration is to eventually replace the iOS version of every app with Flutter. We will add all the missing features, cross-platform sharing, and much more. It will require vigorous testing though. Hopefully, we can do it this time.

Time to go back to work. 💪

Have a great day.

Quick update for BlastSim and Elevation

I just submitted fixes for both apps.


BlastSim

  • Estimate Casualties doesn’t work for quite a while because the source population API server was shut down. If you try googling none of the sites works anymore as well.

  • So we implemented another way of estimating population data around the area. This time is self-hosted so It won’t ever fail again. It’s not yet perfect or completed. But it should work similarly to the previous version.

  • So feel free to contact us to add more geographical data so we can add it to our database.

Elevation

  • We switched the data source of elevation data for free users. It should be much more reliable than the previous one.

  • Paid users always have access to much more accurate data sources—up to 0.1-meter accuracy.

That’s it for now!

It's been a while

Hello Everyone!

I am sorry for lacking updates for the past months. A lot of kinds of stuff happened when I was away.

This probably sounds very personal. I just married a woman who will also help us with the company and I’m pretty sure she is a lot more workaholic than me :)

I’m very grateful to everyone who supports our apps. Without you all, we would not be here.

——————-

Here’s some update regarding apps

  • We are still able to maintain all apps to work fine after huge iOS updates. Trust me, it was a disaster before.

  • As our backend failed because of a severe technical issue, so we admit we switched to the worst data source for the free-tier of Elevation app. Paid users are still able to get the best data available. We will try to get better data sources for free users to try on in the future.

  • Some apps are discontinued so we could focus more on the most important apps.

  • New features are planned for our most important apps. But we will need to spend most of our resources to work on the hidden side of the code as well. Just to ensure future compatibility with future versions of OS.

  • We are still debating if we should migrate our code base to a cross-platform engine. So that we could improve our apps on the Android side as well.

Thanks for reading. Thanks for supporting us!

Coordinates 7.0

We are happy to announce a big update for Coordinates.

Coordinates 7.0

Screenshot 2020-12-02 at 14.01.27.png

[50+ new coordinates formats]

  • More than 50 new coordinates to choose from (Quick access menu)

  • EPSG:2462 / Albanian 1987 / Gauss-Kruger zone 4

  • EPSG:3102 / American Samoa 1962 / American Samoa Lambert

  • EPSG:2195 / NAD83(HARN) / UTM zone 2S

  • EPSG:2000 / Anguilla 1957 / British West Indies Grid

  • EPSG:2001 / Antigua 1943 / British West Indies Grid

  • EPSG:24819 / PSAD56 / UTM zone 19N

  • EPSG:2317 / PSAD56 / ICN Regional

  • EPSG:3112 / GDA94 / Geoscience Australia Lambert

  • EPSG:3577 / GDA94 / Australian Albers

  • EPSG:3416 / ETRS89 / Austria Lambert

  • EPSG:20499 / Ain el Abd / Bahrain Grid

  • EPSG:25884 / ETRS89 / TM Baltic93

  • EPSG:3106 / Gulshan 303 / Bangladesh Transverse Mercator

  • EPSG:21292 / Barbados 1938 / Barbados National Grid

  • EPSG:3812 / ETRS89 / Belgian Lambert 2008

  • EPSG:31370 / Belge 1972 / Belgian Lambert 72

  • EPSG:5589 / Sibun Gorge 1922 / Colony Grid

  • EPSG:3770 / BDA2000 / Bermuda 2000 National Grid

  • EPSG:5266 / DRUKREF 03 / Bhutan National Grid

  • EPSG:5530 / SAD69(96) / Brazil Polyconic

  • EPSG:3920 / Puerto Rico / UTM zone 20N

  • EPSG:5247 / GDBD2009 / Brunei BRSO

  • EPSG:3978 / NAD83 / Canada Atlas Lambert

  • EPSG:3347 / NAD83 / Statistics Canada Lambert

  • EPSG:4826 / WGS 84 / Cape Verde National

  • EPSG:5367 / CR05 / CRTM05

  • EPSG:3766 / HTRS96 / Croatia LCC

  • EPSG:3765 / HTRS96 / Croatia TM

  • EPSG:5513 / S-JTSK / Krovak

  • EPSG:2002 / Dominica 1945 / British West Indies Grid

  • EPSG:5460 / Ocotepeque 1935 / El Salvador Lambert

  • EPSG:26237 / Massawa / UTM zone 37N

  • EPSG:3301 / Estonian Coordinate System of 1997

  • EPSG:5316 / ETRS89 / Faroe TM

  • EPSG:3460 / Fiji 1986 / Fiji Map Grid

  • EPSG:3067 / ETRS89 / TM35FIN(E,N) -- Finland

  • EPSG:2154 / RGF93 / Lambert-93 -- France

  • EPSG:5523 / WGS 84 / Gabon TM 2011

  • EPSG:5223 / WGS 84 / Gabon TM

  • EPSG:5243 / ETRS89 / LCC Germany (E-N)

  • EPSG:25000 / Leigon / Ghana Metre Grid

  • EPSG:5938 / WGS 84 / EPSG Greenland Polar Stereographic

  • EPSG:2003 / Grenada 1953 / British West Indies Grid

  • EPSG:4559 / RRAF 1991 / UTM zone 20N

  • EPSG:4414 / NAD83(HARN) / Guam Map Grid

  • EPSG:2095 / Bissau / UTM zone 28N

  • EPSG:2326 / Hong Kong 1980 Grid System

  • EPSG:5325 / ISN2004 / Lambert 2004

  • EPSG:3893 / ED50 / Iraq National Grid

  • EPSG:6646 / Karbala 1979 / Iraq National Grid

  • EPSG:2039 / Israel 1993 / Israeli TM Grid

  • EPSG:3448 / JAD2001 / Jamaica Metric Grid

  • EPSG:3066 / ED50 / Jordan TM

  • EPSG:24600 / KOC Lambert

  • EPSG:22780 / Deir ez Zor / Levant Stereographic

  • EPSG:22770 / Deir ez Zor / Syria Lambert

  • EPSG:3177 / LGD2006 / Libya TM

  • EPSG:3346 / LKS94 / Lithuania TM

  • EPSG:2169 / Luxembourg 1930 / Gauss

  • EPSG:20936 / Arc 1950 / UTM zone 36S

  • EPSG:29702 / Tananarive (Paris) / Laborde Grid approximation

  • EPSG:4026 / MOLDREF99 / Moldova TM

  • EPSG:2004 / Montserrat 1958 / British West Indies Grid

  • EPSG:28992 / Amersfoort / RD New -- Netherlands - Holland - Dutch

  • EPSG:3163 / RGNC91-93 / Lambert New Caledonia

  • EPSG:3851 / NZGD2000 / NZCS2000

  • EPSG:28192 / Palestine 1923 / Palestine Belt

  • EPSG:5469 / Panama-Colon 1911 / Panama Lambert

  • EPSG:5472 / Panama-Colon 1911 / Panama Polyconic

  • EPSG:3783 / Pitcairn 2006 / Pitcairn TM 2006

  • EPSG:2180 / ETRS89 / Poland CS92

  • EPSG:3763 / ETRS89 / Portugal TM06

  • EPSG:4437 / NAD83(NSRS2007) / Puerto Rico and Virgin Is.

  • EPSG:28600 / Qatar 1974 / Qatar National Grid

  • EPSG:3844 / Pulkovo 1942(58) / Stereo70

  • EPSG:2005 / St. Kitts 1955 / British West Indies Grid

  • EPSG:2006 / St. Lucia 1955 / British West Indies Grid

  • EPSG:4467 / RGSPM06 / UTM zone 21N

  • EPSG:2007 / St. Vincent 45 / British West Indies Grid

  • EPSG:2318 / Ain el Abd / Aramco Lambert

  • EPSG:31028 / Yoff / UTM zone 28N

  • EPSG:3414 / SVY21 / Singapore TM

  • EPSG:3794 / Slovenia 1996 / Slovene National Grid

  • EPSG:5179 / Korea 2000 / Unified CS

  • EPSG:2062 / Madrid 1870 (Madrid) / Spain

  • EPSG:5234 / Kandawala / Sri Lanka Grid

  • EPSG:5235 / SLD99 / Sri Lanka Grid 1999

  • EPSG:31121 / Zanderij / UTM zone 21N

  • EPSG:3829 / Hu Tzu Shan 1950 / UTM zone 51N

  • EPSG:25231 / Lome / UTM zone 31N

  • EPSG:5887 / TGD2005 / Tonga Map Grid

  • EPSG:2163 / US National Atlas Equal Area

[Custom formats]

  • New custom format section to record coordinates with any format! It’s now possible to specify your own coordinates in proj.4 format and record them. Or search more than 10000+ formats from online database.

  • Search and select 10000+ coordinates format from search menu.

  • Supported specified UTM zone conversion


[UI enhancement and fixes]

  • Show number of points on the map

  • Zoom out to show all coordinates points

  • Show line between points

  • Scroll search menu to the top when pressing WGS84 section

  • Performance improvement