Hi Chris,

> You follow me? Then we could define a chunked load interface as well

yes. What would be wrong with a method like
boolean put(LatLon latLon, T object) ?

Also, why does the QuadTreeData requires one to use a filename? And how
could I e.g. store just one integer at lat/lon or other information?
And why is capacity, id and type necessary in QuadTreeNode? Couldn't
type be simply replaced by a subclass of a common 'node' interface?
And capacity is (accidentially?) not used - what happens if the data
node is full?
Also getData can be used (and is used) without the capacity limitation -
or is it just that data.length is the capacity?

Regards,
Peter.

> Hi Peter,
>
> On Mar 18, 2012, at 9:11 PM, Peter K wrote:
>
>
>>> Thanks for your email! We don't have any unit tests written yet. We would 
>>> love to produce some.
>>> We have a large geolocation dataset here [1]
>> I more meant single unit tests which simply ensures the raw
>> functionality of one a tiny part of the system and are often written
>> when or before the piece of code is written. I think, what you have in
>> mind are more integration tests (not sure though :) !) which tests
>> performance and more complicated bugs when the units play together...
> Yeah that's part of it, but I was also thinking that we could do something
> like the following:
>
> 1. Abstract the storage interface to load the quad tree, e.g.,
>  public interface Loadable{
>    public QuadTreeNode load(SpatialDataset dataset)
> }
>
> Then have:
>
>   public class GeoRSSData extends SpatialDataset{
>    //... magic here
>    }
>
>   public class GeoRSSLoader implements Loadable{
>      public QuadTreeNode load(SpatialDataset dataset){
>        GeoRSSData data = new GeoRSSData(dataset);
>        //...load it into the QuadTree
>   }
>
>   public class ExcelGeoData extends SpatialDataset{
>      //...magic here
>    }
>
>   public class ExcelLoader implements Loadable{
>     //...
>   }
>
> You follow me? Then we could define a chunked load interface as well
> (e.g., multiple, chunked call backs to load to reduce mem overhead) and
> then use e.g., the CSV data as a unit test dataset to both test the storage
> interface, and as well, test that the Quad Tree is doing the right thing, 
> spatially. Does that make sense? You interested in helping?
>
>> The 'problem' without unit- and only integration-tests would be that you
>> see a test is failing, but you'll need a lot of time to dig into the
>> real reason of the bug. Also executing the unit tests should not take a
>> long time to load values, also IMO unit tests are a great resource for
>> other developers or could even replace documentation ...
> Agreed, we need them :) You're preaching to the choir here.
>
>>> Do you have any ideas in mind that you'd like to help us out on?
>> I'm especially interested in an memory efficient datastructure for a Map ala 
>> Map<lat+lon, AnyValue>
>>
>> I've already implemented a very rough prototype of such a Map using a 
>> ByteBuffer but now I think a datastructure with 'getNeighbour' would give a 
>> huge benefit and I'm looking about possibilities.
> Sounds like a SpatialDataset type :)
>
>>
>>> Help and patches are most welcome!
>> Yeah, I'll definitely have a look into SIS as I'm more digging into graphs 
>> and geo stuff now.
> Awesome! Welcome aboard and looking forward to having you part of the 
> community!
>
> Cheers,
> Chris
>
>

Reply via email to