Hi John,

I don't have a lot of time at the moment to investigate the details of what you have said here but I have a few comments.

The tiled rendering system is "supposed to" eat up as much memory as it can. Basically it builds up the tiles and caches them so, if you come back to a tile and it is cached, then it reuses the tile. That said the tiles are kept in a soft hash map so they should be cleaned up and released before any out of memory exception occurs.

When just using the tiled rendering system are you getting out of memory errors? (not in associated with the preloading cache issue).

In terms of the amount of memory it uses by default; if there are 4 tiles on the screen than it basically will end up using about 2-4 times as much memory as the non-tiled rendering system. Most of the memory is used in storing the images. The individual tiles are smaller than the screen but since they go off the screen the combined image size of all the tiles is bigger than the screen. So how much more memory it actually uses depends a bit on your screen size and tile size etc.

I have not looked at or played much with the preloading cache issue. I would expect to get memory issues if I am trying to preload into a memory cache; but not with the disk cache. I guess it will take more investigation.

Emily



John Hudson wrote:
Thanks for that Emily, greatly appreciated.

I have fixed 4 issues related to the ones I listed last week:

* NPE on restart with WMS-C layers (2 issues there)
        ** Check for null on sequenceNumber, from capabilities doc, if 
sequenceNumber is null (where NPE was thrown) assume updated and update the 
capabilities ref
        ** Unique ID in catalogue now truly unique. (issue was 
org.opengis.referencing.crs.CoordinateReferenceSystem doesn't implement the 
hashcode method thus using the inherited one from Object)
* Disk Cache location now used instead of default "c:\tilecache" (in 2 spots 
calling incorrect persistence singleton 'CatalogPlugin', should be 'ProjectPlugin')

I'm not sure how to actually DO a patch from svn (I have been told that's how 
it's done), but I will have a look at the uDig wiki for the process and release 
these fixes before moving on.

I have had little success locating the memory leak which is killing the app when pre-loading 
(into disk cache & memory cache) the entire cache. This is eluding me completely, I have 
tried to do some profiling on the memory but will no success. One point to note is, I think 
the "Tiled Rendering System" has a big memory leak. With a few zooms it's easy to 
more than double the memory footprint of uDig and moving around for a few minutes the entire 
allocation of memory is used (I have mine set to 1024mb).

Notes:

At first I thought this maybe the desired functionality but after looking closely: 
starting memory is 122,836k (from max extent, on a restart of uDig, using the Tiled 
Rendering System) zooming in once (zoom-in button) memory footprint goes up-to 
134,720k, that's a huge jump when there are no tiles actually retrieved from the 
tile server, this is only image processing on the client. Changing to NOT using the 
Tiled Rendering System sees memory down to (restart uDig & at max extend) 
111,004k, and a single zoom is 114,324k. Zooming closer with the Tiled Rendering 
system off yields the same result, memory DOES increased but not as harshly. This 
is what pointed my initial thoughts to the Tiled Rendering System, I am probably 
far off :). Can anyone shed light on this? I wonder if this has anything to do with 
the preloading of the tiles?

SO... After releasing the above fixes, I will, for the time being put aside the pre-loading tiles 
issue and will start working on the addition of a plug-in that will allow users to specify an 
"area of interest" from a selected feature (WFS) then an operation that will allow the 
export of this bounded "area of interest".

Anyone have any suggestions how I should go about representing this in uDig?

I thought it would be nice to allow the User to right click on a feature (or multiple features) then an 
operation would be to "Add as area of interest" and possibly "Add to Area of interest..." 
(that would be a wizard, to select an existing AOI). Then a new view "Areas Of Interest" which 
would look similar to the Layer View but with the WMS-C node as a parent and the features as children of that 
layer(s).

Another possibility would be to extend the Layer view to show these Area Of Interest's. 
This would be the nice way to represent it, but might feel "cluttered" like 
there is too much going on in there already and might confuse the User?


Ok I'll stop now, if you're still reading, great and thanks.

Fyi, Cameron Shorter (Geospatial Architect here at LISAsoft) has a blog with 
some more information about our project 
(http://cameronshorter.blogspot.com/2009/01/loading-tilecache-images-onto-mapinfo_13.html),
 have a read.


Cheers and Happy Trails!


John


-----Original Message-----
From: [email protected] 
[mailto:[email protected]] On Behalf Of Emily Gouge
Sent: Saturday, January 10, 2009 2:57 AM
To: User-friendly Desktop Internet GIS
Subject: Re: [udig-devel] WMS-C Caching / MapInfo .TAB export

Hello John,

Have a look in the WMSTileSet.java class at the updateID().
Theoretically this method should return a unique identifier for each
layer that is supposed to be consistent across runs (at the moment it
doesn't look like it does that).

Emily



John Hudson wrote:
Hello, I have been working on a patch for the issues but have run into 
something that is a bit beyond me at the present:

The issue with restarting uDig and not having any wms-c layers re-rendered on the map 
with error: "Connection to Resource Failed..." seems to stem from the check in 
CatalogImpl when trying to resolve a handle (an IResolve) for the wms-c layer.

The upon checking each of the layers in a wms-c catalogue entry (in 
URLUtils.urlEquals ), fails. This is due to the stripRef which is  always 
different when the wms-c catalogue entry is re-loaded.

Does anyone know how this "ID" is created or saved in the memo, and if it can 
be changed from this seemingly random ID to something useful? So far I have had little 
luck tracking it down. Seems it could be a default thing in the SAX parser.

For some clarity the Map.umap is attached: the layersID is 
"http://wmsc1.terrapages.net/getpngmap?REQUEST=GetCapabilities&SERVICE=WMS?tiled=true#464378263";

But upon reloading uDig the ID for the catalogue entry will be something completely 
different, so it always returns the "Connection to Resource Failed..." error on 
that layer.

My forward apologies if this makes little sense...but does anyone have any 
ideas where I could go looking to solve this? Or any pointers?


Cheers, John


-----Original Message-----
From: [email protected] 
[mailto:[email protected]] On Behalf Of Graham Davis
Sent: Friday, January 09, 2009 3:10 AM
To: Jody Garnett
Cc: User-friendly Desktop Internet GIS
Subject: Re: [udig-devel] WMS-C Caching / MapInfo .TAB export

Hi Mr. Hudson,

We are not currently working on the WMS-C tile caching.  It is possible
it has some bugs as it was developed as a first step and version.  And
the tile preloading can definitely put a large strain on uDig and your
system since it is literally sending thousands of requests and writing
them to disk (in queued groups of course) but it doesn't surprise me
that it could crash.  If you see areas for improvements please feel free
do to so.

Graham


Jody Garnett wrote:
Hi Mr Hudson:

Sounds like you have your first couple of bugs to report; Graham Davis
was the developer working on this stuff and he may or may not be aware
of the problem. While you wait to hear from him perhaps you can look
into where the problem occurs and make a patch?

Jody

On Thu, Jan 8, 2009 at 7:36 AM, John Hudson <[email protected]
<mailto:[email protected]>> wrote:

    Hello everyone,



    I'm starting a custom build that will require features from the
    trunk, particularly WMS-C, the custom build involves mostly two
    fronts:



    1.       Disk caching TileCache

    2.       Exporting the disk cache MapInfo .TAB files.



    Is anyone currently working on WMS-C?  Jody mentioned in an email
    last month that we (LISAsoft) might have be getting some work on
    this, I guess that's my queue to say "we get the work, YAY!"... so
    looking at uDig, this is where I'm at:



    After building uDig from the trunk, there is a few issues I would
    like to fix:



                    testing with:


    
http://wmsc1.terrapages.net/getpngmap?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetCapabilities&tiled=true
    
<http://wmsc1.terrapages.net/getpngmap?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetCapabilities&tiled=true>


    
http://labs.metacarta.com/wms-c/Basic.py?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetCapabilities&tiled=true
    
<http://labs.metacarta.com/wms-c/Basic.py?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetCapabilities&tiled=true>



    ·         Upon restarting uDig, (most times) wms-c layers are not
    rendered and causes a NPE here:



    _java.lang.NullPointerException_

          at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source)

          at java.lang.Double.parseDouble(Unknown Source)

          at
    
net.refractions.udig.catalog.wmsc.server.TiledWebMapServer.<init>(_TiledWebMapServer.java:93_)

          at
    
net.refractions.udig.catalog.internal.wmsc.WMSCServiceImpl.getWMSC(_WMSCServiceImpl.java:187_)

          at
    
net.refractions.udig.catalog.internal.wmsc.WMSCServiceImpl.members(_WMSCServiceImpl.java:105_)

          at
    
net.refractions.udig.catalog.internal.CatalogImpl.getChildById(_CatalogImpl.java:537_)

    at
    
net.refractions.udig.catalog.internal.CatalogImpl.find(_CatalogImpl.java:292_)



    ·         In Window à Preferences à WMS-C Tiles: Disk Cache
    Location is ignored when preloading cache (win32), it is instead
    just downloaded to "c:/tilecache"

    ·         uDig crash's when preloading WMS-C layers, (NPE in
    TileImageReadWriter.writeTile) (disk not full)



    Possible issues / functionality to be implemented:



    ·         On Disk Cache doesn't populate



    Once these are fixed I will need to add:



    ·         Cache expiry rules (as an extension to the current
    options in WMS-C Tiles)

    ·         Export plugin to export to MapInfo .TAB files







    Cheers,





    Johnathon Hudson
    Software Engineer

    LISAsoft Pty Ltd

    [email protected] <mailto:[email protected]>
    Level 1, 30 Currie Street
    Adelaide SA 5000 AUSTRALIA
    Ph: +61 8 8425 8050
    Fax: +61 8 8425 8099
    Mobile: +61 402 300 415
    Website: www.lisasoft.com <http://www.lisasoft.com/>




    ------------------------------------------------------------------------
    The contents of this email are confidential and may be subject to
    legal or professional privilege and copyright. No representation
    is made that this email is free of viruses or other defects. If
    you have received this communication in error, you may not copy or
    distribute any part of it or otherwise disclose its contents to
    anyone. Please advise the sender of your incorrect receipt of this
    correspondence.

    _______________________________________________
    User-friendly Desktop Internet GIS (uDig)
    http://udig.refractions.net
    http://lists.refractions.net/mailman/listinfo/udig-devel



--
Graham Davis
Refractions Research Inc.
[email protected]

_______________________________________________
User-friendly Desktop Internet GIS (uDig)
http://udig.refractions.net
http://lists.refractions.net/mailman/listinfo/udig-devel

The contents of this email are confidential and may be subject to legal or 
professional privilege and copyright. No representation is made that this email 
is free of viruses or other defects. If you have received this communication in 
error, you may not copy or distribute any part of it or otherwise disclose its 
contents to anyone. Please advise the sender of your incorrect receipt of this 
correspondence.


------------------------------------------------------------------------

_______________________________________________
User-friendly Desktop Internet GIS (uDig)
http://udig.refractions.net
http://lists.refractions.net/mailman/listinfo/udig-devel
_______________________________________________
User-friendly Desktop Internet GIS (uDig)
http://udig.refractions.net
http://lists.refractions.net/mailman/listinfo/udig-devel

The contents of this email are confidential and may be subject to legal or 
professional privilege and copyright. No representation is made that this email 
is free of viruses or other defects. If you have received this communication in 
error, you may not copy or distribute any part of it or otherwise disclose its 
contents to anyone. Please advise the sender of your incorrect receipt of this 
correspondence.
_______________________________________________
User-friendly Desktop Internet GIS (uDig)
http://udig.refractions.net
http://lists.refractions.net/mailman/listinfo/udig-devel
_______________________________________________
User-friendly Desktop Internet GIS (uDig)
http://udig.refractions.net
http://lists.refractions.net/mailman/listinfo/udig-devel

Reply via email to