Loading ...
Sorry, an error occurred while loading the content.

Re: [aprsisce] Force map refresh

Expand Messages
  • Lynn W. Deffenbaugh
    ... It would work only on the area and zoom levels that would be fetched today by PreFetch. Yes, that would force panning around to the other areas. ... Not a
    Message 1 of 10 , Apr 23, 2010
    • 0 Attachment
      Fred Hillhouse wrote:
      > Would a Force Fetch only work on the immediate map area? Or across the
      > board for all tiles previously downloaded.
      >
      > The Force Fetch on the immediate area would force the user to revisit
      > every area that tiles have been downloaded from and press a button.

      It would work only on the area and zoom levels that would be fetched
      today by PreFetch. Yes, that would force panning around to the other areas.

      > The Force All on every area would take a considerable amount of
      > bandwidth to grab each tile again. This isn't bad from a user
      > perspective as it only needs one button press but I have 2.1GB of
      > tiles (topo).

      Not a good idea, I agree.

      > The best option would be to look at each tile from time to time
      > (scheduled during an off-time perhaps) and refresh as needed. I
      > suspect that most tiles are not updated so there would be no reason to
      > force a replacement using either of the schemes above. And to the
      > user, they just need to setup up a refresh schedule and leave a
      > PC/laptop on at the appointed time for an automatic refresh. Yep, I
      > like this one!

      This is what the ToDo list has on it. There's a status query that I can
      do rather than fetching the actual tile as well. However, I haven't yet
      figured out a reliable place to store the timestamp (or which timestamp
      to trust) on WinMo to compare against the revision from OSM.

      > I don't yet understand the Forget idea so I can't comment on it. I
      > already described what I thought was the best option anyway. ;)

      Forget would be like a Prefetch in the areas covered, but would simply
      delete any tiles that exist in the area. Then the next time you drive
      or drag through an area, only the required tiles would be fetched. This
      would work nicely for those of us that are online all the time, but not
      so good for current PreFetch users who move around with the fetcher
      turned off. I suggested it because it seems that James is in the former
      category (online) and it's an easy stop-gap that I could put together
      quickly. And quickly is good as my available time is approaching a
      minimum until after May 9....

      Lynn (D) - KJ4ERJ

      PS. And I still have this loaner D710 that I need to return come Monday
      or so, so I need to make time to actually work on supporting it better
      while it's here!



      >
      > Best regards,
      > Fred
      >
      >
      >
      >
      > ------------------------------------------------------------------------
      > *From:* aprsisce@yahoogroups.com [mailto:aprsisce@yahoogroups.com]
      > *On Behalf Of *Lynn W. Deffenbaugh
      > *Sent:* Friday, April 23, 2010 13:42
      > *To:* aprsisce@yahoogroups.com
      > *Subject:* Re: [aprsisce] Force map refresh
      >
      >
      >
      > Actually, I've got an item on my ToDo list to automatically send
      > update
      > checks to the OSM server in the background to detect changes and
      > re-fetch them.
      >
      > However, just adding an option to "Prefetch" to "Force Fetch" would
      > solve your need, right?
      >
      > Or a new option for "Forget" that would remove the prefetch area
      > allowing just panning around to pick up the new pieces or another
      > Prefetch if that's where the original population came from. I like
      > this
      > option better as it allows a non-prefetched, but learned area to be
      > easily cleared for re-fetching on an as-needed basis. It's also
      > easier
      > for me to do!
      >
      > Lynn (D) - KJ4ERJ - Author of APRSISCE for Windows Mobile and Win32.
      >
      > James Ewen wrote:
      > > I still need to be able to force the client to update the maps... I
      > > got to the Motorola Schaumburg Campus, and found the maps to be
      > poor.
      > > I upgraded the maps to reflect the real world, and then had to find
      > > out which tiles were associated with the map, and manually delete
      > > them.
      > >
      > > Being able to force a refresh would be much nicer.
      > >
      > > James
      > > VE6SRV
      > >
      >
      >
      >
      >
      >
    • gsdatplace
      Thanks for the info Lynn, I had looked through the xml config file hoping to fins a reference to change, not sure how I missed that line there, changed the
      Message 2 of 10 , Apr 23, 2010
      • 0 Attachment
        Thanks for the info Lynn, I had looked through the xml config file hoping to fins a reference to change, not sure how I missed that line there, changed the reference (had to create the 00\0 directory) and it fires up and runs perfectly.
        I'm starting to take a liking to your program, like the TCP/IP ports config for NMEA and kiss cant wait to get home and try it. I'm running a Wireless router setup thats passing the attached GPS & radio data to my pc's via TCP/IP, passing that all back to applications that only take com ports, well I'm running out of com ports lol.
        Just wish I found it sooner, only a couple of weeks left before "The Big Jump" I'll have to see how much of my /ui-view/ui-point/ui-route setup I can replace with it lol.
        One last question (yes I've been searching and reading the wiki lol) before I set up and try it, if APRSIS32 is hooked to a D710/kpc3 with a attached GPS, can you or do you need configure the KISS and GPS to use the same physical port? Or will it see the D710/kpc3 passing the gps data and pick up on it?

        Garrett
        VE6RKY

        --- In aprsisce@yahoogroups.com, "Lynn W. Deffenbaugh" <kj4erj@...> wrote:
        >
        > As long as their directory structure is the same, just point APRSIS32 to
        > the same directory. Edit the XML file
        > (http://aprsisce.wikidot.com/editing-xml-configuration) and set the
        > <OSM.Path> to point to the directory containing the 00\0\0.png tree.
        >
        > Alternatively, you can simply disable tile fetching (Enables / OSM Fetch
        > Enabled), rename the directory that is currently being used by APRSIS32,
        > and re-enable tile fetching. The client should prompt you for the
        > current location of the tiles and you can browse around for where the
        > other tree exists.
        >
        > Due to a bug in all recently released versions of the client, you may
        > have to create the 00\0 directory under the desired directory or the
        > client won't think it's allowed to put stuff there.
        >
        > Lynn (D) - KJ4ERJ
        >
        > PS. You might also want to read
        > http://aprsisce.wikidot.com/map-prefetch if you haven't already.
        >
        > gsdatplace wrote:
        > > I'll have to blame James for turning my onto this program... ;)
        > > Question, with regards to the maps, what about a "preferences" option as to the location of the openstreetmaps files? I've got a large database of cached maps openstreetmaps tiles now with this software which is duplicating the huge cache I have for use with Radio Mobile and Marble...
        > > It would be nice to be able the use the same cache folder for aprsis32 as I do with them.
        > >
        > > Garrett
        > > VE6RKY
        > >
        > > --- In aprsisce@yahoogroups.com, "Fred Hillhouse" <fmhillhouse@> wrote:
        > >
        > >> Hi Lynn,
        > >>
        > >> Would a Force Fetch only work on the immediate map area? Or across the board
        > >> for all tiles previously downloaded.
        > >>
        > >> The Force Fetch on the immediate area would force the user to revisit every
        > >> area that tiles have been downloaded from and press a button.
        > >>
        > >> The Force All on every area would take a considerable amount of bandwidth to
        > >> grab each tile again. This isn't bad from a user perspective as it only
        > >> needs one button press but I have 2.1GB of tiles (topo).
        > >>
        > >> The best option would be to look at each tile from time to time (scheduled
        > >> during an off-time perhaps) and refresh as needed. I suspect that most tiles
        > >> are not updated so there would be no reason to force a replacement using
        > >> either of the schemes above. And to the user, they just need to setup up a
        > >> refresh schedule and leave a PC/laptop on at the appointed time for an
        > >> automatic refresh. Yep, I like this one!
        > >>
        > >> I don't yet understand the Forget idea so I can't comment on it. I already
        > >> described what I thought was the best option anyway. ;)
        > >>
        > >> Best regards,
        > >> Fred
        > >>
        > >>
        > >>
        > >>
        > >>
        > >> _____
        > >>
        > >> From: aprsisce@yahoogroups.com [mailto:aprsisce@yahoogroups.com] On Behalf
        > >> Of Lynn W. Deffenbaugh
        > >> Sent: Friday, April 23, 2010 13:42
        > >> To: aprsisce@yahoogroups.com
        > >> Subject: Re: [aprsisce] Force map refresh
        > >>
        > >>
        > >>
        > >>
        > >> Actually, I've got an item on my ToDo list to automatically send update
        > >> checks to the OSM server in the background to detect changes and
        > >> re-fetch them.
        > >>
        > >> However, just adding an option to "Prefetch" to "Force Fetch" would
        > >> solve your need, right?
        > >>
        > >> Or a new option for "Forget" that would remove the prefetch area
        > >> allowing just panning around to pick up the new pieces or another
        > >> Prefetch if that's where the original population came from. I like this
        > >> option better as it allows a non-prefetched, but learned area to be
        > >> easily cleared for re-fetching on an as-needed basis. It's also easier
        > >> for me to do!
        > >>
        > >> Lynn (D) - KJ4ERJ - Author of APRSISCE for Windows Mobile and Win32.
        > >>
        > >> James Ewen wrote:
        > >>
        > >>> I still need to be able to force the client to update the maps... I
        > >>> got to the Motorola Schaumburg Campus, and found the maps to be poor.
        > >>> I upgraded the maps to reflect the real world, and then had to find
        > >>> out which tiles were associated with the map, and manually delete
        > >>> them.
        > >>>
        > >>> Being able to force a refresh would be much nicer.
        > >>>
        > >>> James
        > >>> VE6SRV
        > >>>
        > >>>
        >
      • Fred Hillhouse
        ... If I was part of the WinMo group, I would probably let purge run anyway since I wouldn t want to use all my memory on maps. But since I am not in that
        Message 3 of 10 , Apr 23, 2010
        • 0 Attachment
          > > The best option would be to look at each tile from time to time
          > > (scheduled during an off-time perhaps) and refresh as needed. I
          > > suspect that most tiles are not updated so there would be no
          reason to
          > > force a replacement using either of the schemes above.
          And to the
          > > user, they just need to setup up a refresh schedule and
          leave a
          > > PC/laptop on at the appointed time for an automatic
          refresh. Yep, I
          > > like this one!
          >
          > This is what the
          ToDo list has on it. There's a status query that I can
          > do rather than
          fetching the actual tile as well. However, I haven't yet
          > figured out a
          reliable place to store the timestamp (or which timestamp
          > to trust) on
          WinMo to compare against the revision from OSM.
           
          If I was part of the WinMo group, I would probably let purge run anyway since I wouldn't want to use all my memory on maps. But since I am not in that group, I really can't know how I would really use it.
           
          If a user has several map sets, well, each tile needs a revision timestamp.
           
          I have held off getting too more tiles in the hopes that a plan of tile queuing, refreshing and map set select is done. But, at some point soon I will be getting out and about the region more and will need/want tiles.
           
           
          > > I don't yet
          understand the Forget idea so I can't comment on it. I
          > > already
          described what I thought was the best option anyway. ;)
          >
          > Forget
          would be like a Prefetch in the areas covered, but would simply
          > delete
          any tiles that exist in the area. Then the next time you drive
          > or drag
          through an area, only the required tiles would be fetched. This
          > would
          work nicely for those of us that are online all the time, but not
          > so
          good for current PreFetch users who move around with the fetcher
          > turned
          off. I suggested it because it seems that James is in the former
          >
          category (online) and it's an easy stop-gap that I could put together
          >
          quickly. And quickly is good as my available time is approaching a
          >
          minimum until after May 9....
           
          Forget and refetch could work until a better mousetrap is done. It will cause a bandwidth hit.

          > PS. And I still have this loaner D710 that I need
          to return come Monday
          > or so, so I need to make time to actually work on
          supporting it better
          > while it's here!
           
          Get 'er done! :)
           
           
          Best regards, 
          Fred 
        • Lynn W. Deffenbaugh
          ... This will hopefully be fixed before the next general release. ... I do the same. I actually have a dedicated program that opens a comm port, monitors it
          Message 4 of 10 , Apr 23, 2010
          • 0 Attachment
            gsdatplace wrote:
            > Thanks for the info Lynn, I had looked through the xml config file hoping to fins a reference to change, not sure how I missed that line there, changed the reference (had to create the 00\0 directory) and it fires up and runs perfectly.
            >

            This will hopefully be fixed before the next general release.

            > I'm starting to take a liking to your program, like the TCP/IP ports config for NMEA and kiss cant wait to get home and try it. I'm running a Wireless router setup thats passing the attached GPS & radio data to my pc's via TCP/IP, passing that all back to applications that only take com ports, well I'm running out of com ports lol.
            >

            I do the same. I actually have a dedicated program that opens a comm
            port, monitors it for KISS protocol for local display, and serves it out
            as a TCP port for any and all (local) programs to connect to "share" my
            TT4. TCP/IP-based KISS sharing without the overhead of AGWPE. I've got
            another that does the same thing for an NMEA GPS which, in my case, is a
            Bluetooth GPS. Come to realize it, my TT4 is also actually connected
            over a Bluetooth to serial port.

            > Just wish I found it sooner, only a couple of weeks left before "The Big Jump" I'll have to see how much of my /ui-view/ui-point/ui-route setup I can replace with it lol.
            >

            If there's anything that are using in that combination that I don't do
            yet, let me know. I'll either do it, add it to the ToDo list, or bump
            the priority of an existing ToDo list item. BTW, the ToDo list is at
            the bottom of the most recent release notes in the Files section of the
            APRSISCE Yahoo group.

            > One last question (yes I've been searching and reading the wiki lol) before I set up and try it, if APRSIS32 is hooked to a D710/kpc3 with a attached GPS, can you or do you need configure the KISS and GPS to use the same physical port? Or will it see the D710/kpc3 passing the gps data and pick up on it?
            >

            I'm REALLY glad you asked that! I have a loaner D710 here (compliments
            of Steve KB1TCE) just so I can support that sort of thing. If I can't
            figure out how to get it into that mode, can you help me out over the
            weekend? Or if you can, just e-mail me (KJ4ERJ@...) the
            instructions of how to navigate the 710 controls to get it into that
            mode? I've got an NMEA GPS to feed it, I just need to get it doing that
            double-duty for implementation and testing.

            Right now APRSISCE/32 doesn't share at all. If you tell it the same
            port for both, one will work and the other will go to a retry condition.

            If you're not already running the Development version, if you configure
            to do that, you can possibly assist with testing the new D710 support
            before general release. Just set <Update.Development> to 1 and click
            About after the restart.

            Lynn (D) - KJ4ERJ
          • James Ewen
            Okay, almost back to the real world... Finished up at Schaumburg just in time to get home and launch the balloon with the Universtiy of Alberta, then off to a
            Message 5 of 10 , Apr 25, 2010
            • 0 Attachment
              Okay, almost back to the real world... Finished up at Schaumburg just
              in time to get home and launch the balloon with the Universtiy of
              Alberta, then off to a Lobster Roast/birthday party, all while
              suffering through with a cold. GUH!

              So... Lynn, you've got two ends of the spectrum on your hands here...
              There are the ones running on a Windows mobile device with limited
              memory, and internet connectivity. Obviously the platform you're
              developing for, and the program is geared towards that. The concept of
              getting tiles, and keeping them in memory for the current area to use
              for display works great. The tiles expire after a while, freeing up
              memory for tiles of more importance (here/now, as opposed to
              there/then).

              On the other extreme are those who are running on a laptop or other
              machine with lots of memory (drive space), but limited internet access
              (read only when tethered). The concept here is to slurp up as much map
              information as is desired, and then drag it along where ever you go,
              never purging the tiles.

              The problem with the second situation is that since the tiles never
              expire, you are stuck with tiles that reflect the state of the map at
              the time of download.Now, having an older maptile is better than no
              maptile, but having the ability to update the maptile when desired is
              better than not being able to update the maptile.

              So here's the situation. I am sitting in class at Motorola not
              understanding a thing the instructor is saying, so I fire up my
              laptop, and start playing with APRSISCE/32 to see who's around the
              area. The tile fetcher grabs a bunch of tiles for the area, and viola,
              I have a map of the area. Hey, the Schaumburg Campus sucks! The road
              my hotel is located on isn't right either!

              So, fire up OSM, and after a couple hours of playing, I have a pretty
              decent representation of the Schaumburg Campus, and American Lane now
              looks like it should! Well, it looks like it should on OSM, but my
              downloaded tiles in APRSISCE/32 still have the ugly representation.

              What to do? I could simply delete the whole OSM map directory, but
              then I have to go back and grab tiles for everywhere that I want all
              over again. Most of those tiles haven't changed though, and I would be
              placing a huge burden on the OSM tile server unnecessarily. All I want
              are a few tiles covering a couple dozen square miles.

              My solution was to find the tile name in OSM, and then delete the
              appropriate sub-directory on my hard drive. I could have found every
              tile by name and deleted each one, but that ends up with a lot of
              tiles, so I used brute force, and deleted the directory containing all
              nearby tiles. I had to do this for each zoom level as well. It was
              tedious and time consuming, and I missed a few tiles when the
              directory boundary intersected my viewing area.

              All I am thinking about doing, is to have the tile prefetch routine
              simply ignore the tiles that exist on the local machine, and grab them
              from the server.

              I would think the logic in the programming would go something like this.

              Routine: Display tile x/y/z
              if
              tile exists on hard drive, goto display
              else
              download tile x/y/z
              save tile to hard drive
              goto display
              endif

              To force a refresh, I would define a routine that didn't have the if
              statement, and simply went out and grabbed the tiles.

              It's brute force, but would get the job done. It would cause some
              extra load on the OSM server by downloading tiles that may not have
              changed, but it would require the user to force a refresh, and not be
              an automatic routine that grabbed every tile every time a display was
              updated.

              So, in the case of my map editing in Schaumburg, after I finished
              editing, I would simply come back to APRSISCE/32 and hit a key
              (CTRL-F5) to force a refresh. The yellow circle would do it's dance,
              and new tiles would be fetched from the OSM server for the area. If I
              zoom in/out and find old tiles at a higher/lower zoom level, CTRL-F5
              again to update those as well.

              If the user is offline, no new tiles are fetched, and the old ones are
              still available for display. If you delete, and then move around to
              re-fetch, but are offline, the user ends up with a blank screen.

              BTW, CTRL-F5 is just an example... a shortcut for a browser refresh.
              Any key could be used, or a menu item...

              Howzat?

              James
              VE6SRV
            Your message has been successfully submitted and would be delivered to recipients shortly.