Giter Club home page Giter Club logo

avenue-gpx-viewer's Introduction


A simple GPS exchange format viewer for macOS.

Avenue is a GPX file viewer that aims to allow quick and easy access to the data in a GPX file.

Requires macOS 10.12 Sierra and above.

For easier management, future updates will be distributed on the Mac App Store. You can still build your own copy using Xcode, if you wish.

Avenue is based on some codes over at iOS-Open-GPX-Tracker. This application was developed by the contributor of the project (me), initally as a personal use app, eventually it is developed to being more complete, and that it can be expected to be improved on as time goes by.

Features

  • Shows GPX file contents on Apple Maps (Waypoint and Track point support)
  • Display of total distance of the tracks
  • Dark mode support
  • Minimap for easier locating in complicated tracks (can be disabled)
  • Auto restore of previous settings when reopened (like chosen map source, etc)
  • Support for third-party map sources
    • Open Street Map
    • Carto DB (with Retina Support)
    • OpenTopoMap
    • Wikimedia Foundation (with Retina Support)

Upcoming features

  • Display of total tracked time
  • Documentation

Contributing

Contributions to this project will be more than welcomed. Feel free to add a pull request or open an issue. If you require a feature that has yet to be available, do open an issue, describing why and what the feature could bring and how it would help you!

Please do note that by contributing, you are providing me (Vincent Neo) the rights to include and distribute those changes on the binary app published on the App Store (which is released under Apple's Standard License Agreement).

Like the project? Check out these too!

  • iOS-Open-GPX-Tracker, an awesome open-sourced GPS tracker for iOS and watchOS.
  • LocaleComplete, a small library to make Locale identifier hunting more easy and straightforward.
  • CoreGPX, a library for parsing and creation of GPX files.

License

Avenue GPX Viewer for macOS.

Copyright © 2020-2023 Vincent Neo, with certain codes belonging to Juan M. Merlos (@merlos) from iOS-Open-GPX-Tracker, used with permission.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Please note that this source code was released under the GPL license. So any change on the code shall be made publicly available and distributed under the GPL license (this does not apply to the swift packages included in the project which have their own license).

Dependency

  • CoreGPX, used for parsing and handling of GPX files.
  • MapCache, awesome third-party map caching library.
  • Iconizer, for the draggable file icon on toolbar, for v1.4.x and above.

avenue-gpx-viewer's People

Contributors

vincentneo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

avenue-gpx-viewer's Issues

Support for Nautical Miles in units

I'm loving this app but my primary use case is tracking sailing races. Adding support for Nautical Miles would be fantastic, especially in quick look.

Xcode-Compatible GPX Not Loaded

I think this is a duplicate of #9, but since I don't know how to re-open an issue...

I have an Xcode-compatible GPX modified from template:

<?xml version="1.0"?>
<gpx version="1.1" creator="Xcode">
    
    <wpt lat="31.17122146982024" lon="121.0126880692052">
        <name>Minhang Dist., SH, China</name>
    </wpt>
    
</gpx>

This should puts me somewhere in Shanghai, China. But Avenue shows the middle of Atlantic Ocean instead. Took me a while to realize this looks like (0, 0) the other issue was talking about.

If I had to guess, it's because the Xcode example uses Waypoints (<wpt>) and you're reading Track Segments/Points (<trkseg>/<trkpt>).

I don't mind if there's an output that Avenue doesn't read. There's thousands of GPS handheld devices out there, and there's got to be some weird or legit format that's not supported. But you really SHOULD NOT fail silently or even show fallback results without explicit warning. Say something went wrong, please.

Feature suggestion: network proxy

Is it possible that an network proxy (socks5) is inregerated by Avenue? With out proxy, it is hardly to open OpenStreetMap in mainland China.

Feature request - some way to know which direction the route goes

Hi, I live Avenue, but recently I used it to open gpx trails for a race, and I wasn't sure where is the start and the end.

I have a few ideas how to solve this:

  • a green flag icon at the start, and finish line checkered flag at the end
  • an option to show directional arrows on the line
  • a mouse tooltip when hovering the line, showing distance from start - I could then mouse over the track to see where is the strat and the finish
  • a slight gradient between start and the end (so eg. start could be darker?)

Would one of these work?

Feature suggestion… altitude profile

Hi, any possibility of having the altitude profile of a track visible along the bottom of the window? A few other apps do this, but they don't use OpenStreetMaps, which I like! This would be much appreciated. P.

Avenue doesn't render GPX files that plot a "route" (instead of a "track")

Quite a lot of websites offer downloads of GPX files that plot so-called "routes" using the <rte> XML type:

<rte/> represents a route - an ordered list of waypoints representing a series of turn points leading to a destination

... instead of plotting so-called "tracks" using the <trk> XML type:

<trk/> represents a track - an ordered list of points describing a path

However, Avenue doesn't correctly render "routes" in GPX files. 😢

Opening the attached littlemill_rte.gpx file in Avenue results in:

littlemill_rte

After converting the "route" (<rte>) into a "track" (<trk> with a nested <trkseg>) opening the attached littlemill_trk.gpx file results in:

littlemill_trk

Considering how similar the two types of GPX files are, is there a specific reason Avenue can't render "routes" like it does "tracks"?

All online GPX viewers I've tested correctly render both littlemill_rte.gpx as well as littlemill_trk.gpx but that kinda defeats the purpose of installing Avenue for offline viewing of GPX files! 😅


original file: `littlemill_rte.gpx`
<?xml version="1.0"?>
<gpx xmlns="http://www.topografix.com/GPX/1/1" version="1.1" creator="Walkhighlands">
  <metadata>
    <desc>GPX file from Walkhighlands; file is copyright Walkhighlands and must not be publicly shared on other websites. Do not remove this notice.</desc>
    <copyright author="Walkhighlands">
      <year>2019</year>
    </copyright>
  </metadata>
  <rte><name>Inverarnie Esker Trail, Littlemill, near Daviot</name>
    <rtept lat="57.4010415703684" lon="-4.16388037435761">
      <ele>173.413808047518</ele>
      <name>WPT 001</name>
    </rtept>
    <rtept lat="57.4007407481676" lon="-4.16350309053043">
      <ele>178.26810294676</ele>
      <name>WPT 002</name>
    </rtept>
    <rtept lat="57.400376271282" lon="-4.16212333581857">
      <ele>180.987077073055</ele>
      <name>WPT 003</name>
    </rtept>
    <rtept lat="57.3998910488033" lon="-4.16149552001872">
      <ele>190.445050899754</ele>
      <name>WPT 004</name>
    </rtept>
    <rtept lat="57.4003634796158" lon="-4.16098403649551">
      <ele>190.777515937182</ele>
      <name>WPT 005</name>
    </rtept>
    <rtept lat="57.4008676961032" lon="-4.16113357836337">
      <ele>187.315331188634</ele>
      <name>WPT 006</name>
    </rtept>
    <rtept lat="57.4014158699739" lon="-4.16060656173462">
      <ele>183.766296677519</ele>
      <name>WPT 007</name>
    </rtept>
    <rtept lat="57.4015752325133" lon="-4.16011656678015">
      <ele>188.659296880204</ele>
      <name>WPT 008</name>
    </rtept>
    <rtept lat="57.4021752075781" lon="-4.15971242672395">
      <ele>188.232048828119</ele>
      <name>WPT 009</name>
    </rtept>
    <rtept lat="57.4026650770936" lon="-4.15818315370177">
      <ele>193.939983502083</ele>
      <name>WPT 010</name>
    </rtept>
    <rtept lat="57.4028743550368" lon="-4.1572965506685">
      <ele>195.595388409345</ele>
      <name>WPT 011</name>
    </rtept>
    <rtept lat="57.4030962846962" lon="-4.15693005591034">
      <ele>193.403757464614</ele>
      <name>WPT 012</name>
    </rtept>
    <rtept lat="57.4032944405129" lon="-4.15606275817459">
      <ele>198.420923163027</ele>
      <name>WPT 013</name>
    </rtept>
    <rtept lat="57.4034698634436" lon="-4.15589328103007">
      <ele>195.425051134745</ele>
      <name>WPT 014</name>
    </rtept>
    <rtept lat="57.4032751059834" lon="-4.15530253260378">
      <ele>199.649437258059</ele>
      <name>WPT 015</name>
    </rtept>
    <rtept lat="57.4025840054586" lon="-4.15536181611061">
      <ele>198.910051822482</ele>
      <name>WPT 016</name>
    </rtept>
    <rtept lat="57.4022114334918" lon="-4.15508025029854">
      <ele>198.828611692647</ele>
      <name>WPT 017</name>
    </rtept>
    <rtept lat="57.4015673610111" lon="-4.15554180094946">
      <ele>197.645168205844</ele>
      <name>WPT 018</name>
    </rtept>
    <rtept lat="57.4009834758536" lon="-4.15626654431129">
      <ele>198.835197831648</ele>
      <name>WPT 019</name>
    </rtept>
    <rtept lat="57.4002118467905" lon="-4.15662069064133">
      <ele>200</ele>
      <name>WPT 020</name>
    </rtept>
    <rtept lat="57.3996040190929" lon="-4.15748380159465">
      <ele>199.926484285751</ele>
      <name>WPT 021</name>
    </rtept>
    <rtept lat="57.399221363582" lon="-4.15716169725443">
      <ele>200</ele>
      <name>WPT 022</name>
    </rtept>
    <rtept lat="57.3984080124866" lon="-4.15743346230523">
      <ele>199.804540352692</ele>
      <name>WPT 023</name>
    </rtept>
    <rtept lat="57.3974154741672" lon="-4.15809413800318">
      <ele>201.274972110584</ele>
      <name>WPT 024</name>
    </rtept>
    <rtept lat="57.3966426434014" lon="-4.15788891445502">
      <ele>207.989658333141</ele>
      <name>WPT 025</name>
    </rtept>
    <rtept lat="57.3965906618307" lon="-4.15714687902774">
      <ele>209.743337294844</ele>
      <name>WPT 026</name>
    </rtept>
    <rtept lat="57.3971346996272" lon="-4.15560101270252">
      <ele>208.565054441251</ele>
      <name>WPT 027</name>
    </rtept>
    <rtept lat="57.3963535155529" lon="-4.15777205359342">
      <ele>209.590125697177</ele>
      <name>WPT 028</name>
    </rtept>
    <rtept lat="57.3942041019711" lon="-4.16050156331621">
      <ele>210</ele>
      <name>WPT 029</name>
    </rtept>
    <rtept lat="57.3932050683631" lon="-4.16028299556556">
      <ele>210</ele>
      <name>WPT 030</name>
    </rtept>
    <rtept lat="57.3924616351218" lon="-4.16087828853576">
      <ele>210</ele>
      <name>WPT 031</name>
    </rtept>
    <rtept lat="57.3918407614644" lon="-4.16249923676536">
      <ele>210.477985097183</ele>
      <name>WPT 032</name>
    </rtept>
    <rtept lat="57.3913262660868" lon="-4.1629481975498">
      <ele>210.992739239575</ele>
      <name>WPT 033</name>
    </rtept>
    <rtept lat="57.3910311684117" lon="-4.16255139112838">
      <ele>210.597985097183</ele>
      <name>WPT 034</name>
    </rtept>
    <rtept lat="57.3903692955606" lon="-4.16279196735389">
      <ele>211.035713487335</ele>
      <name>WPT 035</name>
    </rtept>
    <rtept lat="57.3900519208153" lon="-4.16369183773898">
      <ele>210</ele>
      <name>WPT 036</name>
    </rtept>
    <rtept lat="57.3895998511291" lon="-4.16364522474499">
      <ele>210</ele>
      <name>WPT 037</name>
    </rtept>
    <rtept lat="57.3884949016602" lon="-4.16519751577239">
      <ele>210.029452080862</ele>
      <name>WPT 038</name>
    </rtept>
    <rtept lat="57.3884981255131" lon="-4.16563700295689">
      <ele>209.672686920216</ele>
      <name>WPT 039</name>
    </rtept>
    <rtept lat="57.3889680953091" lon="-4.16652336363811">
      <ele>209</ele>
      <name>WPT 040</name>
    </rtept>
    <rtept lat="57.3896556367924" lon="-4.1660447535357">
      <ele>210</ele>
      <name>WPT 041</name>
    </rtept>
    <rtept lat="57.3908157592975" lon="-4.16567388169645">
      <ele>209.694949827358</ele>
      <name>WPT 042</name>
    </rtept>
    <rtept lat="57.3916317339627" lon="-4.16462368529037">
      <ele>210</ele>
      <name>WPT 043</name>
    </rtept>
    <rtept lat="57.3941961935645" lon="-4.1622186146709">
      <ele>207.800510547062</ele>
      <name>WPT 044</name>
    </rtept>
    <rtept lat="57.3943159182643" lon="-4.1642460772415">
      <ele>206.71643310321</ele>
      <name>WPT 045</name>
    </rtept>
    <rtept lat="57.3947117121409" lon="-4.16474373657452">
      <ele>204.088992711382</ele>
      <name>WPT 045 - WPT 046</name>
    </rtept>
    <rtept lat="57.394433316424" lon="-4.16682430166097">
      <ele>205.745622499593</ele>
      <name>WPT 045 - WPT 046 - WPT 045 - WPT 046 - WPT 046</name>
    </rtept>
    <rtept lat="57.3957392220743" lon="-4.16612748414462">
      <ele>196.684857483234</ele>
      <name>WPT 045 - WPT 046 - WPT 046</name>
    </rtept>
    <rtept lat="57.3967791008799" lon="-4.16438801026503">
      <ele>197.17804218825</ele>
      <name>WPT 046</name>
    </rtept>
    <rtept lat="57.3978399266249" lon="-4.1628926697723">
      <ele>196.567737998252</ele>
      <name>WPT 047</name>
    </rtept>
    <rtept lat="57.3984816265404" lon="-4.16257096700038">
      <ele>195.9229032549</ele>
      <name>WPT 048</name>
    </rtept>
    <rtept lat="57.3998580486117" lon="-4.16153352466443">
      <ele>190.39705089977</ele>
      <name>WPT 049</name>
    </rtept>
    <rtept lat="57.3998910202611" lon="-4.16149718285646">
      <ele>190.437050899761</ele>
      <name>WPT 050</name>
    </rtept>
    <rtept lat="57.400379861855" lon="-4.16212354737575">
      <ele>180.952580596161</ele>
      <name>WPT 051</name>
    </rtept>
    <rtept lat="57.4007407481676" lon="-4.16350309053043">
      <ele>178.268102946751</ele>
      <name>WPT 052</name>
    </rtept>
    <rtept lat="57.4010397750842" lon="-4.16388026849041">
      <ele>173.433920166747</ele>
      <name>WPT 053</name>
    </rtept>
  </rte>
</gpx>

converted file: `littlemill_trk.gpx`
<?xml version="1.0"?>
<gpx xmlns="http://www.topografix.com/GPX/1/1" version="1.1" creator="Walkhighlands">
  <metadata>
    <desc>GPX file from Walkhighlands; file is copyright Walkhighlands and must not be publicly shared on other websites. Do not remove this notice.</desc>
    <copyright author="Walkhighlands">
      <year>2019</year>
    </copyright>
  </metadata>
  <trk><name>Inverarnie Esker Trail, Littlemill, near Daviot</name><trkseg>
    <trkpt lat="57.4010415703684" lon="-4.16388037435761">
      <ele>173.413808047518</ele>
      <name>WPT 001</name>
    </trkpt>
    <trkpt lat="57.4007407481676" lon="-4.16350309053043">
      <ele>178.26810294676</ele>
      <name>WPT 002</name>
    </trkpt>
    <trkpt lat="57.400376271282" lon="-4.16212333581857">
      <ele>180.987077073055</ele>
      <name>WPT 003</name>
    </trkpt>
    <trkpt lat="57.3998910488033" lon="-4.16149552001872">
      <ele>190.445050899754</ele>
      <name>WPT 004</name>
    </trkpt>
    <trkpt lat="57.4003634796158" lon="-4.16098403649551">
      <ele>190.777515937182</ele>
      <name>WPT 005</name>
    </trkpt>
    <trkpt lat="57.4008676961032" lon="-4.16113357836337">
      <ele>187.315331188634</ele>
      <name>WPT 006</name>
    </trkpt>
    <trkpt lat="57.4014158699739" lon="-4.16060656173462">
      <ele>183.766296677519</ele>
      <name>WPT 007</name>
    </trkpt>
    <trkpt lat="57.4015752325133" lon="-4.16011656678015">
      <ele>188.659296880204</ele>
      <name>WPT 008</name>
    </trkpt>
    <trkpt lat="57.4021752075781" lon="-4.15971242672395">
      <ele>188.232048828119</ele>
      <name>WPT 009</name>
    </trkpt>
    <trkpt lat="57.4026650770936" lon="-4.15818315370177">
      <ele>193.939983502083</ele>
      <name>WPT 010</name>
    </trkpt>
    <trkpt lat="57.4028743550368" lon="-4.1572965506685">
      <ele>195.595388409345</ele>
      <name>WPT 011</name>
    </trkpt>
    <trkpt lat="57.4030962846962" lon="-4.15693005591034">
      <ele>193.403757464614</ele>
      <name>WPT 012</name>
    </trkpt>
    <trkpt lat="57.4032944405129" lon="-4.15606275817459">
      <ele>198.420923163027</ele>
      <name>WPT 013</name>
    </trkpt>
    <trkpt lat="57.4034698634436" lon="-4.15589328103007">
      <ele>195.425051134745</ele>
      <name>WPT 014</name>
    </trkpt>
    <trkpt lat="57.4032751059834" lon="-4.15530253260378">
      <ele>199.649437258059</ele>
      <name>WPT 015</name>
    </trkpt>
    <trkpt lat="57.4025840054586" lon="-4.15536181611061">
      <ele>198.910051822482</ele>
      <name>WPT 016</name>
    </trkpt>
    <trkpt lat="57.4022114334918" lon="-4.15508025029854">
      <ele>198.828611692647</ele>
      <name>WPT 017</name>
    </trkpt>
    <trkpt lat="57.4015673610111" lon="-4.15554180094946">
      <ele>197.645168205844</ele>
      <name>WPT 018</name>
    </trkpt>
    <trkpt lat="57.4009834758536" lon="-4.15626654431129">
      <ele>198.835197831648</ele>
      <name>WPT 019</name>
    </trkpt>
    <trkpt lat="57.4002118467905" lon="-4.15662069064133">
      <ele>200</ele>
      <name>WPT 020</name>
    </trkpt>
    <trkpt lat="57.3996040190929" lon="-4.15748380159465">
      <ele>199.926484285751</ele>
      <name>WPT 021</name>
    </trkpt>
    <trkpt lat="57.399221363582" lon="-4.15716169725443">
      <ele>200</ele>
      <name>WPT 022</name>
    </trkpt>
    <trkpt lat="57.3984080124866" lon="-4.15743346230523">
      <ele>199.804540352692</ele>
      <name>WPT 023</name>
    </trkpt>
    <trkpt lat="57.3974154741672" lon="-4.15809413800318">
      <ele>201.274972110584</ele>
      <name>WPT 024</name>
    </trkpt>
    <trkpt lat="57.3966426434014" lon="-4.15788891445502">
      <ele>207.989658333141</ele>
      <name>WPT 025</name>
    </trkpt>
    <trkpt lat="57.3965906618307" lon="-4.15714687902774">
      <ele>209.743337294844</ele>
      <name>WPT 026</name>
    </trkpt>
    <trkpt lat="57.3971346996272" lon="-4.15560101270252">
      <ele>208.565054441251</ele>
      <name>WPT 027</name>
    </trkpt>
    <trkpt lat="57.3963535155529" lon="-4.15777205359342">
      <ele>209.590125697177</ele>
      <name>WPT 028</name>
    </trkpt>
    <trkpt lat="57.3942041019711" lon="-4.16050156331621">
      <ele>210</ele>
      <name>WPT 029</name>
    </trkpt>
    <trkpt lat="57.3932050683631" lon="-4.16028299556556">
      <ele>210</ele>
      <name>WPT 030</name>
    </trkpt>
    <trkpt lat="57.3924616351218" lon="-4.16087828853576">
      <ele>210</ele>
      <name>WPT 031</name>
    </trkpt>
    <trkpt lat="57.3918407614644" lon="-4.16249923676536">
      <ele>210.477985097183</ele>
      <name>WPT 032</name>
    </trkpt>
    <trkpt lat="57.3913262660868" lon="-4.1629481975498">
      <ele>210.992739239575</ele>
      <name>WPT 033</name>
    </trkpt>
    <trkpt lat="57.3910311684117" lon="-4.16255139112838">
      <ele>210.597985097183</ele>
      <name>WPT 034</name>
    </trkpt>
    <trkpt lat="57.3903692955606" lon="-4.16279196735389">
      <ele>211.035713487335</ele>
      <name>WPT 035</name>
    </trkpt>
    <trkpt lat="57.3900519208153" lon="-4.16369183773898">
      <ele>210</ele>
      <name>WPT 036</name>
    </trkpt>
    <trkpt lat="57.3895998511291" lon="-4.16364522474499">
      <ele>210</ele>
      <name>WPT 037</name>
    </trkpt>
    <trkpt lat="57.3884949016602" lon="-4.16519751577239">
      <ele>210.029452080862</ele>
      <name>WPT 038</name>
    </trkpt>
    <trkpt lat="57.3884981255131" lon="-4.16563700295689">
      <ele>209.672686920216</ele>
      <name>WPT 039</name>
    </trkpt>
    <trkpt lat="57.3889680953091" lon="-4.16652336363811">
      <ele>209</ele>
      <name>WPT 040</name>
    </trkpt>
    <trkpt lat="57.3896556367924" lon="-4.1660447535357">
      <ele>210</ele>
      <name>WPT 041</name>
    </trkpt>
    <trkpt lat="57.3908157592975" lon="-4.16567388169645">
      <ele>209.694949827358</ele>
      <name>WPT 042</name>
    </trkpt>
    <trkpt lat="57.3916317339627" lon="-4.16462368529037">
      <ele>210</ele>
      <name>WPT 043</name>
    </trkpt>
    <trkpt lat="57.3941961935645" lon="-4.1622186146709">
      <ele>207.800510547062</ele>
      <name>WPT 044</name>
    </trkpt>
    <trkpt lat="57.3943159182643" lon="-4.1642460772415">
      <ele>206.71643310321</ele>
      <name>WPT 045</name>
    </trkpt>
    <trkpt lat="57.3947117121409" lon="-4.16474373657452">
      <ele>204.088992711382</ele>
      <name>WPT 045 - WPT 046</name>
    </trkpt>
    <trkpt lat="57.394433316424" lon="-4.16682430166097">
      <ele>205.745622499593</ele>
      <name>WPT 045 - WPT 046 - WPT 045 - WPT 046 - WPT 046</name>
    </trkpt>
    <trkpt lat="57.3957392220743" lon="-4.16612748414462">
      <ele>196.684857483234</ele>
      <name>WPT 045 - WPT 046 - WPT 046</name>
    </trkpt>
    <trkpt lat="57.3967791008799" lon="-4.16438801026503">
      <ele>197.17804218825</ele>
      <name>WPT 046</name>
    </trkpt>
    <trkpt lat="57.3978399266249" lon="-4.1628926697723">
      <ele>196.567737998252</ele>
      <name>WPT 047</name>
    </trkpt>
    <trkpt lat="57.3984816265404" lon="-4.16257096700038">
      <ele>195.9229032549</ele>
      <name>WPT 048</name>
    </trkpt>
    <trkpt lat="57.3998580486117" lon="-4.16153352466443">
      <ele>190.39705089977</ele>
      <name>WPT 049</name>
    </trkpt>
    <trkpt lat="57.3998910202611" lon="-4.16149718285646">
      <ele>190.437050899761</ele>
      <name>WPT 050</name>
    </trkpt>
    <trkpt lat="57.400379861855" lon="-4.16212354737575">
      <ele>180.952580596161</ele>
      <name>WPT 051</name>
    </trkpt>
    <trkpt lat="57.4007407481676" lon="-4.16350309053043">
      <ele>178.268102946751</ele>
      <name>WPT 052</name>
    </trkpt>
    <trkpt lat="57.4010397750842" lon="-4.16388026849041">
      <ele>173.433920166747</ele>
      <name>WPT 053</name>
    </trkpt>
  </trkseg></trk>
</gpx>

Crash when opening big gpx

I updated the 1.5.0 of Avenue, and the new feature --- show directional arrows is tured on.
When I open a big gpx file (about 85 MB), Avenue crashed (auto closes and the icon disappears from the dashboard).
If I disable the new feature and open this gpx file again, verything is OK.
I try to simplify the gpx file (from 85 MB to 50 MB), this problem is persist still.

My computer is MBP 19 with macOS Monterey 12.6.

Unable to view large POI files

When I load a GPX file with 12.000 EV charger waypoints, Avenue can cope with that.
But with larger files of 20.000 points, Avenue becomes unresponsive.
Can you make a fix for this ? You can find the gpx files at:
https://www.mostaladda.eu/GPX.htm
GB works but try Germany(OCM_DE.gpx) or even All of Europe. You will get a SPwOD.
Other requests:
Can you also show the description field in a text box so the details of the waypoint are shown when you select the waypoint ?
And zoom to the data ? Now Avenue always starts at the equator and you have to zoom out and scroll up.
Thanks

Feature suggestion: copy coordinates of a point on the map

Hello dev,
first of all thanks for the nice app!

I have a little feature suggestion that I think may come in handy for others as well: being able to copy the coordinates of an arbitrary point on the map. This could be achieved with a small contextual menu (which could also show the coordinates as a greyed-out item for a quick glance), or maybe just clicking with the right/secondary mouse button.

My personal use case is that I love driving aimlessly and my dashcam records GPX tracks. I often go through the route again on the map and want to see what the Street View and/or Look Around imagery look like for a specific area, and being able to quickly extract the coordinates of a point of my route — or really any point around where I've been — would allow me to use Avenue as my go-to GPX viewer.
I currently fall back to GPXSee for that, but it has a few speed issues on retina screens (not the devlopers' fault, it's an issue with QT on macOS). Avenue is way smoother when panning and zooming around, being a native and modern app.

I would go for a PR, but I'm definitely not proficient enough in Swift and macOS development to even know where to put my hands. :-)

Feature Request for Radiosonde - monitor/reload the .gpx File

Please implement a feature to monitor/reload the .gxp file.
That would be very useful to track a radiosonde live.
A simple solution like reload the .gpx file every 15 seconds is good enough
to make Avenue-GPX-Viewer a great Radiosonde-Live-Traacker.

I attached a screenshot.
I receive the radiosignals of a radiosonde live. The data of the Radiosonde is stored
in a file named radiosonde.gpx.
But if I want to see the live position of the sonde on the map, I have to close Avenue
and load the file radiosonde.gpx again.

radiosonde

Override colour of map lines

Currently map uses system accent colour, which may not be easily visible should the colour be not contrasting enough on a map.

Localization (Translation)

It is sad that the application is only in English - I propose to translate.
I am ready to help in the translation into Russian.
(For example, you can use Weblate, or any other service. It is completely free for open source projects.)

image

Feature: Search Points, Use Scroll to Zoom

Hey there. Thanks for the app. I downloaded this as a way to view my GPX waypoints from my garmin chartplotter that I use for fishing. It would be incredibly handy to be able to search waypoints and navigate to them from that search.

I'd also like to suggest using a key-down trigger to allow scrolling to zoom in and out. Perhaps Z or CMD

Support for default map

In this app, Apple standard map is the default map when the app start.
Add support for default map configuration or save the last selected map would be awesome~ if the configuration is worked on previewer (press space key in Finder) is better.

By the way, Avenue is the best GPX viewer on macOS.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.