Re: [spatial] Cartesian Tiers nomenclature

2009-12-30 Thread Michael McCandless
Right, NRQ is able to translate any requested range into the union
(OR) of brackets (from the trie) created during indexing.

Can spatial do the same thing, just with 2D instead of 1D?  Ie,
reconstruct any expressible shape (created at query time) as the union
of some number of grids/tiers, at finer  finer levels, created during
indexing?

Spatial, today, seems to do this, except it must also do precise
filtering on each matching doc, because some of the grids may contain
hits outside of the requested shape.

In fact, NRQ could also borrow from spatial's current approach -- ie,
create the union of some smallish number of coarse brackets.  Some of
the brackets will fall entirely within the requested range, and so
require no further filtering, while others will fall part inside /
part outside of the requested range, and so will require precise
filtering.  If NRQ did this, it should have much fewer postings to
enum, at the cost of having to do precise filtering on some of them
(and we'd have to somehow encode the orig value in the index).

Mike

On Tue, Dec 29, 2009 at 8:42 PM, Yonik Seeley
yo...@lucidimagination.com wrote:
 On Tue, Dec 29, 2009 at 7:13 PM, Marvin Humphrey mar...@rectangular.com 
 wrote:
 ... but for this algorithm, different rasterization resolutions need not
 proceed by powers-of-two.

 Indeed - one way to further generalize would be to use something like
 Lucene's trie-based Numeric field, but with a square instead of a
 line.  That would allow to tweak the space/speed tradeoff.

 -Yonik
 http://www.lucidimagination.com



Re: [spatial] Cartesian Tiers nomenclature

2009-12-30 Thread Mark Miller
Marvin Humphrey wrote:
 [ Click on Package org.apache.lucene.spatial.tier ]

 Lots of red text -- guess they're serious about this not being a stable API.
   
We put all that red in after realizing all the other issues existed -
lest someone think this was a polished, finished contrib. When we were
about to release 2.9, Spatial was in a brain dump format of its own.

-- 
- Mark

http://www.lucidimagination.com





Re: [spatial] Cartesian Tiers nomenclature

2009-12-30 Thread patrick o'leary
Actually that's just with the DistanceQueryBuilder that needs the precision
boolean (wheither to do just a bounding box or also filter on radius),
 the original name of the project was locallucene, to me local and spatial
are 2 completely different things.

- Local is a search from point x within y miles. (hence the radius filter)
- Spatial on the other hand is well everything else.

I have yet to update the repository with that code, but a working example of
what I see spatial as is
http://www.knowledgenowsystems.com/polySpatialSolrUI/
The polygon tool works better than the line tool, you have to double click
the link to get it to kick off a search.

But essentially it's capable of taking almost arbitrary shapes and just
doing convex hull searching or line string searching.
Future work would include sorting based upon proximity to a point, so you
don't just get a bag of results back, you can say starting at point x give
me all the closest
ones along this line or within this shape (trajectory sort? in my mind),
then an edge proximity search would be closest to this line / vertex.

After that I think determining sub-shapes, where your search vertexes cross
each other, determine the point of intersection and create smaller shapes
from the pieces around it.
There's a whole bunch more i plan on getting in there.

Including a new SRID based on beer mat diagrams with Ryan on having a
prefixed id, that doesn't require additional fields, and can stop descending
once a shape
has been fully enveloped, reducing the number of terms within an index.




On Wed, Dec 30, 2009 at 4:01 AM, Michael McCandless 
luc...@mikemccandless.com wrote:

 Right, NRQ is able to translate any requested range into the union
 (OR) of brackets (from the trie) created during indexing.

 Can spatial do the same thing, just with 2D instead of 1D?  Ie,
 reconstruct any expressible shape (created at query time) as the union
 of some number of grids/tiers, at finer  finer levels, created during
 indexing?

 Spatial, today, seems to do this, except it must also do precise
 filtering on each matching doc, because some of the grids may contain
 hits outside of the requested shape.

 In fact, NRQ could also borrow from spatial's current approach -- ie,
 create the union of some smallish number of coarse brackets.  Some of
 the brackets will fall entirely within the requested range, and so
 require no further filtering, while others will fall part inside /
 part outside of the requested range, and so will require precise
 filtering.  If NRQ did this, it should have much fewer postings to
 enum, at the cost of having to do precise filtering on some of them
 (and we'd have to somehow encode the orig value in the index).

 Mike

 On Tue, Dec 29, 2009 at 8:42 PM, Yonik Seeley
 yo...@lucidimagination.com wrote:
  On Tue, Dec 29, 2009 at 7:13 PM, Marvin Humphrey mar...@rectangular.com
 wrote:
  ... but for this algorithm, different rasterization resolutions need not
  proceed by powers-of-two.
 
  Indeed - one way to further generalize would be to use something like
  Lucene's trie-based Numeric field, but with a square instead of a
  line.  That would allow to tweak the space/speed tradeoff.
 
  -Yonik
  http://www.lucidimagination.com
 



RE: [spatial] Cartesian Tiers nomenclature

2009-12-30 Thread Uwe Schindler
Hi Mike,

 Right, NRQ is able to translate any requested range into the union
 (OR) of brackets (from the trie) created during indexing.
 
 Can spatial do the same thing, just with 2D instead of 1D?  Ie,
 reconstruct any expressible shape (created at query time) as the union
 of some number of grids/tiers, at finer  finer levels, created during
 indexing?
 
 Spatial, today, seems to do this, except it must also do precise
 filtering on each matching doc, because some of the grids may contain
 hits outside of the requested shape.

The problem in 2D is, that the number of small cart tiers (rect tiles) at
the corners of the BBOX can get very large. For NRQ it's very limited on
precisionStep, but here, the number of tiles can get very large for highest
precision (you can draw a picture to see this). So the number of terms will
get large, too, and so you can simply use NRQ in two dimensions to achieve
the same for non quadratic shaped bounding boxes. I tried to use spatial
tiers for large and non quadratic bounding boxes (like all datasets around
Africa). NRQ performed much better. Spatial is good for things like find
all McBurger around position xy with distance d, but not for bounding box
searches.

Because of this the precision is limited for tiers, you filter the rest of
the docs. If the precision would be higher, the number of cart tiers
explodes at the corner of the BBOX.

 In fact, NRQ could also borrow from spatial's current approach -- ie,
 create the union of some smallish number of coarse brackets.  Some of
 the brackets will fall entirely within the requested range, and so
 require no further filtering, while others will fall part inside /
 part outside of the requested range, and so will require precise
 filtering.  If NRQ did this, it should have much fewer postings to
 enum, at the cost of having to do precise filtering on some of them
 (and we'd have to somehow encode the orig value in the index).

We thought about that for NRQ, too. It is still needed that you store the
full precision in the index. The idea is to use flexible indexing attributes
and/or payloads for this. You select the larger brackets and then go through
TermPositions and only enumerate docs, which payload/flexindex attribute
match. Another idea was provided by Yonik who said, the position could be
used instead of payload for the missing bits. The posincr is currently not
used by NRQ (its 1 for full prec and 0 for lower prec, so all trie terms
have pos=1).

 Mike
 
 On Tue, Dec 29, 2009 at 8:42 PM, Yonik Seeley
 yo...@lucidimagination.com wrote:
  On Tue, Dec 29, 2009 at 7:13 PM, Marvin Humphrey
 mar...@rectangular.com wrote:
  ... but for this algorithm, different rasterization resolutions need
 not
  proceed by powers-of-two.
 
  Indeed - one way to further generalize would be to use something like
  Lucene's trie-based Numeric field, but with a square instead of a
  line.  That would allow to tweak the space/speed tradeoff.
 
  -Yonik
  http://www.lucidimagination.com
 



Re: [spatial] Cartesian Tiers nomenclature

2009-12-30 Thread patrick o'leary


 Because of this the precision is limited for tiers, you filter the rest of
 the docs. If the precision would be higher, the number of cart tiers
 explodes at the corner of the BBOX.


Hmm, depends on the order of the search, if you use bestFit is should not
explode.
The strategy for bestFit is to find the smallest number of boxes between the
corner of the bounding box and the circle.

CartesianTierPlotter.bestFit(double miles)

  /**
   * Find the tier with the best fit for a bounding box
   * Best fit is defined as the ceiling of
   *  log2 (circumference of earth / distance)
   *  distance is defined as the smallest box fitting
   *  the corner between a radius and a bounding box.

Now in the new structure which include polygon searching you supply vertex
points, and cartesian tiers fill in the rest, if it's a convex hull
it will switch to range searches, if a line string it simply pulls the
individual boxes. So it removes the need for a regular box shape.




On Wed, Dec 30, 2009 at 10:27 AM, Uwe Schindler u...@thetaphi.de wrote:

 Hi Mike,

  Right, NRQ is able to translate any requested range into the union
  (OR) of brackets (from the trie) created during indexing.
 
  Can spatial do the same thing, just with 2D instead of 1D?  Ie,
  reconstruct any expressible shape (created at query time) as the union
  of some number of grids/tiers, at finer  finer levels, created during
  indexing?
 
  Spatial, today, seems to do this, except it must also do precise
  filtering on each matching doc, because some of the grids may contain
  hits outside of the requested shape.

 The problem in 2D is, that the number of small cart tiers (rect tiles) at
 the corners of the BBOX can get very large. For NRQ it's very limited on
 precisionStep, but here, the number of tiles can get very large for highest
 precision (you can draw a picture to see this). So the number of terms will
 get large, too, and so you can simply use NRQ in two dimensions to achieve
 the same for non quadratic shaped bounding boxes. I tried to use spatial
 tiers for large and non quadratic bounding boxes (like all datasets around
 Africa). NRQ performed much better. Spatial is good for things like find
 all McBurger around position xy with distance d, but not for bounding box
 searches.

 Because of this the precision is limited for tiers, you filter the rest of
 the docs. If the precision would be higher, the number of cart tiers
 explodes at the corner of the BBOX.

  In fact, NRQ could also borrow from spatial's current approach -- ie,
  create the union of some smallish number of coarse brackets.  Some of
  the brackets will fall entirely within the requested range, and so
  require no further filtering, while others will fall part inside /
  part outside of the requested range, and so will require precise
  filtering.  If NRQ did this, it should have much fewer postings to
  enum, at the cost of having to do precise filtering on some of them
  (and we'd have to somehow encode the orig value in the index).

 We thought about that for NRQ, too. It is still needed that you store the
 full precision in the index. The idea is to use flexible indexing
 attributes
 and/or payloads for this. You select the larger brackets and then go
 through
 TermPositions and only enumerate docs, which payload/flexindex attribute
 match. Another idea was provided by Yonik who said, the position could be
 used instead of payload for the missing bits. The posincr is currently not
 used by NRQ (its 1 for full prec and 0 for lower prec, so all trie terms
 have pos=1).

  Mike
 
  On Tue, Dec 29, 2009 at 8:42 PM, Yonik Seeley
  yo...@lucidimagination.com wrote:
   On Tue, Dec 29, 2009 at 7:13 PM, Marvin Humphrey
  mar...@rectangular.com wrote:
   ... but for this algorithm, different rasterization resolutions need
  not
   proceed by powers-of-two.
  
   Indeed - one way to further generalize would be to use something like
   Lucene's trie-based Numeric field, but with a square instead of a
   line.  That would allow to tweak the space/speed tradeoff.
  
   -Yonik
   http://www.lucidimagination.com
  




Re: [spatial] Cartesian Tiers nomenclature

2009-12-29 Thread Michael McCandless
It's great that there's such a sudden burst of energy to improve
spatial in both Solr and Lucene!

Isn't this concept the same as trie (for Lucene's numeric fields),
but in 2D not 1D?

If so, I think tiles doesn't convey that they recursively
subdivide.

Also: why does this notion even need naming so badly?  Why does this
concept leak out of the abstraction?  Shouldn't this (cartesian
tier, cartesian tier plotter) all be under the hood?  I make a
SpatialField, I index it, I can then make SpatialShapeQuery, a
SpatialDistanceSort, etc.?

Ie, trie is known within Lucene, but doesn't leak out -- the outside
world knows it as Numeric*.  Trie is an implementation detail,
inside Lucene.

(NOTE: I only know just enough about spatial to be dangerous...)

Mike

On Tue, Dec 29, 2009 at 2:49 AM, patrick o'leary pj...@pjaol.com wrote:
 Ah the language of math is the ultimate lingua franca -
 Nice !

 When you look at the coordinates entity from KML, ask why are the lat /
 longs reversed to long/ lat?
 Answer because the folks working on the display thought in terms of *display
 not GIS*, the point is over Y degrees of longitude and down X degrees of
 latitude.

 But again that's not a convention used outside a little part of GeoTools or
 KML, GML / GeoRSS are again just the regular lat,long (NS,EW), or projected
 EPSG or other standard projections in  OGC 05-011.
 To my knowledge google are the only real pushers of (EW,NS) these days.

 So what does this diatribe mean? We're kind of at the bleeding edge of
 defining the standard, hence the difficulty of finding data on it.
 This is one reason why locallucene and localsolr became popular, it solved a
 problem simply.

 Doc's about it exist on gissearch.com
 dzone are doing articles on it
 http://java.dzone.com/articles/spatial-search-hibernate?utm_source=feedburnerutm_medium=feedutm_campaign=Feed%3A+javalobby%2Ffrontpage+%28Javalobby+%2F+Java+Zone%29

 Locallucene in google has over 8,000 results
 http://www.google.com/search?q=locallucene

 Localsolr has over 4,000 results
 http://www.google.com/search?q=localsolr

 I've seen and help with installations all over the place, heck even codehaus
 use it, as do folks on github with geonames db.
 I see named it mathematically  scientifically correct, and  gaining enough
 traction and popularity to start becoming part of the standard, not just
 duplicating one.

 I can't honestly see how a refactoring is bringing anything positive to
 this, when there isn't a good standard out there yet.


 On Mon, Dec 28, 2009 at 10:22 PM, Mattmann, Chris A (388J) 
 chris.a.mattm...@jpl.nasa.gov wrote:

 Hi Patrick,

 Interesting. It seems like there is a precedent already in the Local Lucene
 and Local SOLR packages that define CartesianTier as lingua franca.

 Like I said in an earlier email it depends on who you talk to regarding the
 preference of what to call these Tiles/Grids/Tiers, etc., and that seems to
 be further evidenced by your research.

 I for one don¹t really have a preference but precedent matters to me and if
 Tiers have been used to date then there should be strong consideration to
 use that nomenclature and +1 from me.

 Cheers,
 Chris

 On 12/28/09 9:25 PM, patrick o'leary pj...@pjaol.com wrote:

  So trying no to drag this out, the most frequent generic term used in GIS
  software is SRID
  http://en.wikipedia.org/wiki/SRID
 
  Again this provides just a basic nomenclature for the high level element,
  somewhat the blackbird of objects rather than the defining the magpie
 (sorry
  for the CS 101 reference)
 
  But it should show that every implementation is unique in some format.
  Perhaps as unique as CartesianTier's ( sorry Ted ! )
 
 
 
  On Mon, Dec 28, 2009 at 5:26 PM, patrick o'leary pj...@pjaol.com
 wrote:
 
  Hmm, depends, tiles indicate to me a direct correlation between the id
 and
  a map tile, which will depend upon using the right projection
  with the cartesian plotter
 
 
  On Mon, Dec 28, 2009 at 2:56 PM, Grant Ingersoll gsing...@apache.org
 wrote:
 
 
  On Dec 28, 2009, at 4:19 PM, patrick o'leary wrote:
 
  Hmm, but when you say grid, to me that's just a bunch of regularly
  spaced
  lines..
 
  Yeah, I hear you.  I chose spatial tiles for the Solr patch, but
 spatial
  grid would work too.  Or map tiles/map grids.  That anchors it into the
  spatial world, since we're calling Lucene's spatial contrib/spatial and
  Solr's Solr Spatial.
 
 
  On Mon, Dec 28, 2009 at 1:16 PM, Grant Ingersoll gsing...@apache.org
  wrote:
 
 
  On Dec 28, 2009, at 3:51 PM, patrick o'leary wrote:
 
  So Grant here's the deal behind the name.
  Cartesian because it's a simple x.y coordinate system
  Tier because there are multiple tiers, levels of resolution.
 
  If you look at it closer:
  - To programmers there's a quadtree implementation
  - To web users who use maps these are grids / tiles.
  - To GIS experts this is a form of multi-resolution raster-ing.
  - To astrophysicists these are tiers.
  - To the MS folks I've 

Re: [spatial] Cartesian Tiers nomenclature

2009-12-29 Thread Grant Ingersoll

On Dec 29, 2009, at 6:28 AM, Michael McCandless wrote:

 It's great that there's such a sudden burst of energy to improve
 spatial in both Solr and Lucene!
 
 Isn't this concept the same as trie (for Lucene's numeric fields),
 but in 2D not 1D?
 
 If so, I think tiles doesn't convey that they recursively
 subdivide.
 
 Also: why does this notion even need naming so badly?  Why does this
 concept leak out of the abstraction?  Shouldn't this (cartesian
 tier, cartesian tier plotter) all be under the hood?  I make a
 SpatialField, I index it, I can then make SpatialShapeQuery, a
 SpatialDistanceSort, etc.?

To some extent, but there are tradeoffs between the Lucene numerics and the 
tiles/tiers in terms of performance, etc. such that one at least needs to 
understand some high level notion of what the data structure is in order to 
make an informed choice about when to use it.

 
 Ie, trie is known within Lucene, but doesn't leak out -- the outside
 world knows it as Numeric*.  Trie is an implementation detail,
 inside Lucene.

Not entirely true, in Solr, it's called a Trie*Field (TrieDoubleField, 
TrieIntField, etc.) as numeric is too generic since Solr has other numerics.

 
 (NOTE: I only know just enough about spatial to be dangerous...)
 
 Mike
 
 On Tue, Dec 29, 2009 at 2:49 AM, patrick o'leary pj...@pjaol.com wrote:
 Ah the language of math is the ultimate lingua franca -
 Nice !
 
 When you look at the coordinates entity from KML, ask why are the lat /
 longs reversed to long/ lat?
 Answer because the folks working on the display thought in terms of *display
 not GIS*, the point is over Y degrees of longitude and down X degrees of
 latitude.
 
 But again that's not a convention used outside a little part of GeoTools or
 KML, GML / GeoRSS are again just the regular lat,long (NS,EW), or projected
 EPSG or other standard projections in  OGC 05-011.
 To my knowledge google are the only real pushers of (EW,NS) these days.
 
 So what does this diatribe mean? We're kind of at the bleeding edge of
 defining the standard, hence the difficulty of finding data on it.
 This is one reason why locallucene and localsolr became popular, it solved a
 problem simply.
 
 Doc's about it exist on gissearch.com
 dzone are doing articles on it
 http://java.dzone.com/articles/spatial-search-hibernate?utm_source=feedburnerutm_medium=feedutm_campaign=Feed%3A+javalobby%2Ffrontpage+%28Javalobby+%2F+Java+Zone%29
 
 Locallucene in google has over 8,000 results
 http://www.google.com/search?q=locallucene
 
 Localsolr has over 4,000 results
 http://www.google.com/search?q=localsolr
 
 I've seen and help with installations all over the place, heck even codehaus
 use it, as do folks on github with geonames db.
 I see named it mathematically  scientifically correct, and  gaining enough
 traction and popularity to start becoming part of the standard, not just
 duplicating one.
 
 I can't honestly see how a refactoring is bringing anything positive to
 this, when there isn't a good standard out there yet.
 
 
 On Mon, Dec 28, 2009 at 10:22 PM, Mattmann, Chris A (388J) 
 chris.a.mattm...@jpl.nasa.gov wrote:
 
 Hi Patrick,
 
 Interesting. It seems like there is a precedent already in the Local Lucene
 and Local SOLR packages that define CartesianTier as lingua franca.
 
 Like I said in an earlier email it depends on who you talk to regarding the
 preference of what to call these Tiles/Grids/Tiers, etc., and that seems to
 be further evidenced by your research.
 
 I for one don¹t really have a preference but precedent matters to me and if
 Tiers have been used to date then there should be strong consideration to
 use that nomenclature and +1 from me.
 
 Cheers,
 Chris
 
 On 12/28/09 9:25 PM, patrick o'leary pj...@pjaol.com wrote:
 
 So trying no to drag this out, the most frequent generic term used in GIS
 software is SRID
 http://en.wikipedia.org/wiki/SRID
 
 Again this provides just a basic nomenclature for the high level element,
 somewhat the blackbird of objects rather than the defining the magpie
 (sorry
 for the CS 101 reference)
 
 But it should show that every implementation is unique in some format.
 Perhaps as unique as CartesianTier's ( sorry Ted ! )
 
 
 
 On Mon, Dec 28, 2009 at 5:26 PM, patrick o'leary pj...@pjaol.com
 wrote:
 
 Hmm, depends, tiles indicate to me a direct correlation between the id
 and
 a map tile, which will depend upon using the right projection
 with the cartesian plotter
 
 
 On Mon, Dec 28, 2009 at 2:56 PM, Grant Ingersoll gsing...@apache.org
 wrote:
 
 
 On Dec 28, 2009, at 4:19 PM, patrick o'leary wrote:
 
 Hmm, but when you say grid, to me that's just a bunch of regularly
 spaced
 lines..
 
 Yeah, I hear you.  I chose spatial tiles for the Solr patch, but
 spatial
 grid would work too.  Or map tiles/map grids.  That anchors it into the
 spatial world, since we're calling Lucene's spatial contrib/spatial and
 Solr's Solr Spatial.
 
 
 On Mon, Dec 28, 2009 at 1:16 PM, Grant Ingersoll 

Re: [spatial] Cartesian Tiers nomenclature

2009-12-29 Thread Grant Ingersoll

On Dec 29, 2009, at 2:49 AM, patrick o'leary wrote:
 Doc's about it exist on gissearch.com
 dzone are doing articles on it
 http://java.dzone.com/articles/spatial-search-hibernate?utm_source=feedburnerutm_medium=feedutm_campaign=Feed%3A+javalobby%2Ffrontpage+%28Javalobby+%2F+Java+Zone%29
 
 Locallucene in google has over 8,000 results
 http://www.google.com/search?q=locallucene
 
 Localsolr has over 4,000 results
 http://www.google.com/search?q=localsolr
 

Like I said earlier, they are all self referential.  Find me a link that 
mentions Cartesian Tier that isn't also talking about Local Lucene/Solr.  That, 
of course, is valuable in that some people have already been trained on it.   
However, now that spatial is a part of Lucene/Solr, I think it's valuable to 
make sure we are using the terminology that most people are familiar with, not 
just those who have used LocalLucene/Solr.

 I've seen and help with installations all over the place, heck even codehaus
 use it, as do folks on github with geonames db.
 I see named it mathematically  scientifically correct, and  gaining enough
 traction and popularity to start becoming part of the standard, not just
 duplicating one.

But aren't they calling it that b/c LocalLucene called it that?  Not saying 
that makes it wrong, I just want to call it what the majority of other people 
call it so that we can take advantage of and attract more people to contribute 
and maintain it.  Perhaps there is no standard, which makes it moot, but the 
fact that I've seen a number of people call it tiles or grids at much larger 
sites than Lucene makes me think those are better names, not too mention nearly 
everyone else on this thread.  


 
 I can't honestly see how a refactoring is bringing anything positive to
 this, when there isn't a good standard out there yet.
 

It's not about a standard, b/c as you say it doesn't exist.  It's about what 
most people are going to be familiar with.

 
 On Mon, Dec 28, 2009 at 10:22 PM, Mattmann, Chris A (388J) 
 chris.a.mattm...@jpl.nasa.gov wrote:
 
 Hi Patrick,
 
 Interesting. It seems like there is a precedent already in the Local Lucene
 and Local SOLR packages that define CartesianTier as lingua franca.
 
 Like I said in an earlier email it depends on who you talk to regarding the
 preference of what to call these Tiles/Grids/Tiers, etc., and that seems to
 be further evidenced by your research.
 
 I for one don¹t really have a preference but precedent matters to me and if
 Tiers have been used to date then there should be strong consideration to
 use that nomenclature and +1 from me.
 
 Cheers,
 Chris
 
 On 12/28/09 9:25 PM, patrick o'leary pj...@pjaol.com wrote:
 
 So trying no to drag this out, the most frequent generic term used in GIS
 software is SRID
 http://en.wikipedia.org/wiki/SRID
 
 Again this provides just a basic nomenclature for the high level element,
 somewhat the blackbird of objects rather than the defining the magpie
 (sorry
 for the CS 101 reference)
 
 But it should show that every implementation is unique in some format.
 Perhaps as unique as CartesianTier's ( sorry Ted ! )
 
 
 
 On Mon, Dec 28, 2009 at 5:26 PM, patrick o'leary pj...@pjaol.com
 wrote:
 
 Hmm, depends, tiles indicate to me a direct correlation between the id
 and
 a map tile, which will depend upon using the right projection
 with the cartesian plotter
 
 
 On Mon, Dec 28, 2009 at 2:56 PM, Grant Ingersoll gsing...@apache.org
 wrote:
 
 
 On Dec 28, 2009, at 4:19 PM, patrick o'leary wrote:
 
 Hmm, but when you say grid, to me that's just a bunch of regularly
 spaced
 lines..
 
 Yeah, I hear you.  I chose spatial tiles for the Solr patch, but
 spatial
 grid would work too.  Or map tiles/map grids.  That anchors it into the
 spatial world, since we're calling Lucene's spatial contrib/spatial and
 Solr's Solr Spatial.
 
 
 On Mon, Dec 28, 2009 at 1:16 PM, Grant Ingersoll gsing...@apache.org
 wrote:
 
 
 On Dec 28, 2009, at 3:51 PM, patrick o'leary wrote:
 
 So Grant here's the deal behind the name.
 Cartesian because it's a simple x.y coordinate system
 Tier because there are multiple tiers, levels of resolution.
 
 If you look at it closer:
 - To programmers there's a quadtree implementation
 - To web users who use maps these are grids / tiles.
 - To GIS experts this is a form of multi-resolution raster-ing.
 - To astrophysicists these are tiers.
 - To the MS folks I've talked to they have quad something or other.
 - To math folks Cartesian levels makes sense.
 
 Can't make all the people happy all the time,
 
 Right, but as far as I can tell (and I've only done, say an hour of
 research), I can't find anyone who calls them Cartesian Tiers other
 than us.
 
 Personally, I think web users are the largest group (after all,
 aren't
 we
 all web users?) out there and therefore will be the most familiar
 with
 either grid or tile.  FWIW, I have tentatively called the Solr
 FieldType to
 support this SpatialTileField as in it represents a tile in 

Re: [spatial] Cartesian Tiers nomenclature

2009-12-29 Thread Marvin Humphrey
On Tue, Dec 29, 2009 at 08:54:21AM -0800, patrick o'leary wrote:

 But at the same time, the rational behind finding a name that most folks are
 familiar with, is kind of like sales / marketing talk

You probably mean that to be derogatory, but it's related and not in a bad
way.  This is about effective communication, which marketing people
understand.

In addition to working on Lucy, I'm the primary author of KinoSearch, a loose
port of Lucene to Perl/C.  KinoSearch's main index writer class used to be
called InvIndexer, partly to highlight the fact that it worked with
inverted indexes, partly to lessen the overload burden on the word index,
and partly because it was easy to say.  And some people actually like the term
and have adopted it:

http://www.rectangular.com/pipermail/kinosearch/2009-December/007164.html

 invindex?  Interesting choice.  I always thought it was a good word,
 but I moved away from that because people didn't grok it right away.

I always like the word. So I stole it. :) It is unambiguous, even if
people do not know what it means right away.

So, it worked as intended within a small, elite group.  But let me tell you,
it has mostly been a pain in the neck.  I've trained people on KinoSearch,
I've given talks, etc, and the specialized terminology has just slowed most
people down.  It has annoyed more than it has clarified.

Since that class's name has switched to Indexer, things have gotten easier.
People remember that class easily, it rolls off the tongue.  They learn it
quickly, and there are no pauses while they try to recall jargon.  I'm very
pleased with how the change has worked out.

 This is open source, not a commercial entity that needs to have features
 that can fit on a brochure.

As an open source author, I take great pride crafting intutive, simple APIs,
and in communicating effectively in general.  

At the micro-level, that includes writing good email, good documentation, good
comments... always using all communication channels to the best advantage.
(For instance by aggressively pruning quoted material and rewrapping it so
that may even be clearer than in the poorly formatted original).

At the high level, that means designing good class hierarchies that people can
navigate easily.  Using intuitive names -- so long as they are accurate -- is
an important part of that.

If CartesianTier more accurately describes the class than alternatives such
as CartesianGrid or CartesianTile, please make that case.  I have to say, I'm
a little confused.  I assumed that a CartesianTier corresponded to a single
zoom level: one tier.  CartesianGrid seemed like an equivalent, using more
popular terminology.  But in other parts of this conversation, people have
made references to trees.  This isn't an R-Tree implementation, is it?  

Please pick a name that will make it as easy as possible for me to understand.
As a consumer of your API, I will thank you for working hard at the design
stage to save me time and effort down the road.  

Cheers,

Marvin Humphrey




Re: [spatial] Cartesian Tiers nomenclature

2009-12-29 Thread patrick o'leary

 You probably mean that to be derogatory, but it's related and not in a bad
 way.  This is about effective communication, which marketing people
 understand.


Hence the term spatial-luence, or as it was originally called locallucene-
We are discussing an internal component, where folks want to change the name
of the methodology of how it works.

To me it's like renaming the crank shaft in a car to the Spinning Wheel
Turner.


If CartesianTier more accurately describes the class than alternatives
 such
 as CartesianGrid or CartesianTile, please make that case.


CartesianTier's adequately describes what the design does- Layer one
cartesian coordinate system on top of another

It's not a grid system, grids describe the bounding lines - where a point is
x,y : x1,y1, the intersection of 2 grid lines.
Cartesian Tiles ? again a web mapping concept ... that's dropping the
concept of tiers.
A single cartesian tier on it's own is of limited use.


 As a consumer of your API, I will thank you for working hard at the design
 stage to save me time and effort down the road.


I appreciate your thanks and ask for your patience in following the train of
thought .
What effort do you have down the road, and how does the name of it create
problems for you?

If I were calling this PatrickGeoSolutions or MagicalGeoStuff then I would
understand the problem,
What I'm doing is calling it by what it's doing generating a Cartesian
Tiered system
could I put the word coordinate in there? Sure why not,
CartesianCoordinateTiers ?

But is that really worth breaking all the existing references to this? What
value is that for the users?



On Tue, Dec 29, 2009 at 10:32 AM, Marvin Humphrey mar...@rectangular.comwrote:

 On Tue, Dec 29, 2009 at 08:54:21AM -0800, patrick o'leary wrote:

  But at the same time, the rational behind finding a name that most folks
 are
  familiar with, is kind of like sales / marketing talk

 You probably mean that to be derogatory, but it's related and not in a bad
 way.  This is about effective communication, which marketing people
 understand.

 In addition to working on Lucy, I'm the primary author of KinoSearch, a
 loose
 port of Lucene to Perl/C.  KinoSearch's main index writer class used to be
 called InvIndexer, partly to highlight the fact that it worked with
 inverted indexes, partly to lessen the overload burden on the word
 index,
 and partly because it was easy to say.  And some people actually like the
 term
 and have adopted it:


 http://www.rectangular.com/pipermail/kinosearch/2009-December/007164.html

 invindex?  Interesting choice.  I always thought it was a good word,
 but I moved away from that because people didn't grok it right away.

I always like the word. So I stole it. :) It is unambiguous, even if
people do not know what it means right away.

 So, it worked as intended within a small, elite group.  But let me tell
 you,
 it has mostly been a pain in the neck.  I've trained people on KinoSearch,
 I've given talks, etc, and the specialized terminology has just slowed most
 people down.  It has annoyed more than it has clarified.

 Since that class's name has switched to Indexer, things have gotten
 easier.
 People remember that class easily, it rolls off the tongue.  They learn it
 quickly, and there are no pauses while they try to recall jargon.  I'm very
 pleased with how the change has worked out.

  This is open source, not a commercial entity that needs to have features
  that can fit on a brochure.

 As an open source author, I take great pride crafting intutive, simple
 APIs,
 and in communicating effectively in general.

 At the micro-level, that includes writing good email, good documentation,
 good
 comments... always using all communication channels to the best advantage.
 (For instance by aggressively pruning quoted material and rewrapping it so
 that may even be clearer than in the poorly formatted original).

 At the high level, that means designing good class hierarchies that people
 can
 navigate easily.  Using intuitive names -- so long as they are accurate --
 is
 an important part of that.

 If CartesianTier more accurately describes the class than alternatives
 such
 as CartesianGrid or CartesianTile, please make that case.  I have to say,
 I'm
 a little confused.  I assumed that a CartesianTier corresponded to a single
 zoom level: one tier.  CartesianGrid seemed like an equivalent, using more
 popular terminology.  But in other parts of this conversation, people have
 made references to trees.  This isn't an R-Tree implementation, is it?

 Please pick a name that will make it as easy as possible for me to
 understand.
 As a consumer of your API, I will thank you for working hard at the design
 stage to save me time and effort down the road.

 Cheers,

 Marvin Humphrey





Re: [spatial] Cartesian Tiers nomenclature

2009-12-29 Thread Marvin Humphrey
patrick o'leary:

 CartesianTier's adequately describes what the design does- Layer one
 cartesian coordinate system on top of another

So CartesianTier objects actually represent *multiple* tiers?  

Would CartesianTierSet be more accurate, albeit cumbersome?  I'm not
suggesting that as an alternative, I'm just trying to understand what the
class does.

Obviously I can go browse the JavaDocs and read the source code, and I will
eventually.  In Lucyland, we've adopted a tradition of recording brainlogs
while browsing unfamiliar documentation as a form of UI testing -- I'll do one
of those later.  For the moment, though, I'm your trainee test case.  Use the
places where I'm confused to help you refine your API.  (; Or to confirm to
yourself that it is perfect already. ;)

 It's not a grid system, grids describe the bounding lines - where a point is
 x,y : x1,y1, the intersection of 2 grid lines.

I don't fully understand what you mean, but I think I disagree.  It's common
to overlay two grids of differing resolutions on top of each other.  So if a
tier is a zoom level, it seems to me that the word grid conveys that same
concept pretty well.

 Cartesian Tiles ? again a web mapping concept ... that's dropping the
 concept of tiers.

Yes, I think the word tile suggests a single rectangular cell.  But it's
common to rasterize a surface into multiple tile sets at different zoom
levels and then search on tiles as terms.

Coming at this from a web guy perspective, I figured we were talking about
something like that -- and *not* bounding boxes a la R-trees.

 A single cartesian tier on it's own is of limited use.

Interesting.  I guess a zoom level without any geographical data isn't useful,
but it still seems like something important that could be encapsulated within
an object.  In fact that's exactly what the name CartesianTier seemed to
suggest, since it's singular.

If a single cartesian tier is of limited use, why do you have a class
called CartesianTier at all?

 What effort do you have down the road, and how does the name of it create
 problems for you?

I have to learn how to use your tool, obviously.  Presumably you want me to
use your tool, too, or you wouldn't have published it.

I would like to minimize the effort it takes to learn your tool.  Good class
names make that easier.

 If I were calling this PatrickGeoSolutions or MagicalGeoStuff then I would
 understand the problem, What I'm doing is calling it by what it's doing
 generating a Cartesian Tiered system

All these messages have gone by and I *still* don't understand what a
CartesianTier is.  I'm artificially preserving my ignorance by avoiding the
JavaDocs and source code, but IMO, I ought to have grokked that by now.  Or
you can blame the user...

 But is that really worth breaking all the existing references to this? What
 value is that for the users?

Breaking all the references is obviously a negative.  You only do such a thing
when the gains outweigh the costs.

Marvin Humphrey



Re: [spatial] Cartesian Tiers nomenclature

2009-12-29 Thread André Warnier

patrick o'leary wrote:


CartesianTier's adequately describes what the design does- Layer one
cartesian coordinate system on top of another

So, you all agree that it is Cartesian and that it evokes the idea of 
layers, but it's not a grid and it's not tiles; the original author is 
very attached to the name of tiers, but most others seem to think that 
it does not really roll of the tongue easily nor is it very commercial.

It may also be somewhat confusing :

Wikipedia :
Tiers, also known as Ultra Checkers, is a complex variant of checkers 
that allows players to upgrade their pieces beyond kings. It is played 
on a standard eight by eight checkers board with two opposing players. 
The game has gained popularity amongst many northeastern collegiate 
students in the US.


Given this, how about CartesianBranes ?

Wikipedia again :
In theoretical physics, a membrane, brane, or p-brane is a spatially 
extended mathematical concept that appears in string theory and its 
relatives (M-theory and brane cosmology) that exists in a static number 
of dimensions.


I find that it rolls better off the tongue, it has a connotation with 
layers and a mysterious but highly intellectual flavor, it is not 
limited in its number of dimensions, it extends over time as well as 
space and should please physicists and mathematicians alike.
And the occasional but unavoidable misspellings by future users and 
forum contributors should provide much enjoyment for years to come.


Re: [spatial] Cartesian Tiers nomenclature

2009-12-29 Thread Grant Ingersoll

On Dec 29, 2009, at 2:14 PM, patrick o'leary wrote:

 
 You probably mean that to be derogatory, but it's related and not in a bad
 way.  This is about effective communication, which marketing people
 understand.
 
 
 Hence the term spatial-luence, or as it was originally called locallucene-
 We are discussing an internal component, where folks want to change the name
 of the methodology of how it works.
 
 To me it's like renaming the crank shaft in a car to the Spinning Wheel
 Turner.
 


I totally understand where cartesian tier comes from and I get the math and all 
the explanation.  It's a perfectly reasonable name and  I don't have anything 
against it as far as the meaning it invokes.  My only issue is that I can't 
find a single reference to that phrase outside of Local Lucene whereas I can 
find lots of references to the concept under names like: map tiles, map grids, 
spatial tiles, or just plain tiles/grids.  That doesn't mean cartesian tiers 
isn't a better description and that if Lucene was the first to implement such a 
thing we wouldn't even be having this conversation.  But the fact is, we're not 
the first and it appears to me like the majority of people out their use 
grid/tiles to describe this concept, for better or worse.

Re: [spatial] Cartesian Tiers nomenclature

2009-12-29 Thread Ryan McKinley


But is that really worth breaking all the existing references to  
this? What

value is that for the users?



Just to clarify... your concern is two fold:
1. No term is perfect, Cartesian Tier is as good as any, lets stick  
with it.
2. There are already references to cartesian tiers (like this  
thread :), lets stick with it.


The counter arguments are:
1. 'Tile' or 'Grid' immediately make more sense to the uninitiated
2. If we are going to pick a term, now is the time.

The difference in opinion (as far as I can tell) is that everyone  
except Patrick is looking at this as a new API, not as an existing  
one.  The spatial bits of lucene/solr, it is now quite different then  
localsolr, as such, i'm not sure concern about breaking references  
makes much sense.


ryan




Re: [spatial] Cartesian Tiers nomenclature

2009-12-29 Thread patrick o'leary
No just that-

We are looking at this API as a web maps tile solution- which it isn't.
Spatial - lucene as it was originally proposed was meant to be a tool box of
solutions-
Where CartesianTiers was one of the tools, as was GeoHash, and anything else
that others wanted to contribute.

Now we're saying, rename it to make it more attractive to people who are
familiar with a web map...
Is this really the right thing?

If you want that, then I'll happily contribute the code to do that, it gives
you full Google Maps Tiles, TMS, and MS Quad Key's, which makes faceted
overlays attractive.
It's really handy.
But again that doesn't solve search for you.

And that is the key to this point, the two things (map tiles / grids and
cartesian tiers)  are mutually independent




On Tue, Dec 29, 2009 at 2:21 PM, Ryan McKinley ryan...@gmail.com wrote:


 But is that really worth breaking all the existing references to this?
 What
 value is that for the users?


 Just to clarify... your concern is two fold:
 1. No term is perfect, Cartesian Tier is as good as any, lets stick with
 it.
 2. There are already references to cartesian tiers (like this thread :),
 lets stick with it.

 The counter arguments are:
 1. 'Tile' or 'Grid' immediately make more sense to the uninitiated
 2. If we are going to pick a term, now is the time.

 The difference in opinion (as far as I can tell) is that everyone except
 Patrick is looking at this as a new API, not as an existing one.  The
 spatial bits of lucene/solr, it is now quite different then localsolr, as
 such, i'm not sure concern about breaking references makes much sense.

 ryan





Re: [spatial] Cartesian Tiers nomenclature

2009-12-29 Thread Grant Ingersoll

On Dec 29, 2009, at 4:27 PM, patrick o'leary wrote:

 
 My only issue is that I can't find a single reference to that phrase
 outside of Local Lucene whereas I can find lots of references to the concept
 under names like: map tiles, map grids, spatial tiles, or just plain
 tiles/grids.
 
 That doesn't mean cartesian tiers isn't a better description and that if
 Lucene was the first to implement such a thing we wouldn't even be having
 this conversation
 
 
 Then perhaps spatial-lucene isn't the product for you? That is always an
 option
 

Not really.  The community has made a commitment to provide spatial 
capabilities in Lucene/Solr.  It's important the community provide 
code/documentation that people can understand and easily find other information 
about the concept.

-Grant

Re: [spatial] Cartesian Tiers nomenclature

2009-12-29 Thread patrick o'leary


 Not really.  The community has made a commitment to provide spatial
 capabilities in Lucene/Solr.  It's important the community provide
 code/documentation that people can understand and easily find other
 information about the concept.


Even if it's incorrect... I see, well it is Apache licensed, and the license
allows you to do as you wish



On Tue, Dec 29, 2009 at 2:42 PM, Grant Ingersoll gsi...@gmail.com wrote:


 On Dec 29, 2009, at 4:27 PM, patrick o'leary wrote:

 
  My only issue is that I can't find a single reference to that phrase
  outside of Local Lucene whereas I can find lots of references to the
 concept
  under names like: map tiles, map grids, spatial tiles, or just plain
  tiles/grids.
 
  That doesn't mean cartesian tiers isn't a better description and that if
  Lucene was the first to implement such a thing we wouldn't even be
 having
  this conversation
 
 
  Then perhaps spatial-lucene isn't the product for you? That is always an
  option
 

 Not really.  The community has made a commitment to provide spatial
 capabilities in Lucene/Solr.  It's important the community provide
 code/documentation that people can understand and easily find other
 information about the concept.

 -Grant


Re: [spatial] Cartesian Tiers nomenclature

2009-12-29 Thread Marvin Humphrey
On Tue, Dec 29, 2009 at 12:29:47PM -0800, Marvin Humphrey wrote:

 In Lucyland, we've adopted a tradition of recording brainlogs
 while browsing unfamiliar documentation as a form of UI testing -- I'll do one
 of those later.  

OK, here's the brainlog I recorded while trying to figure out how spatial
contrib works.

[ BEGIN BRAINLOG ]

[ surf to contrib-spatial Javadocs for Lucene 3.0 ]

Support for filtering based upon geographic location. 

OK, I assume that means we can match a tile and create a posting list for it,
then AND the resulting doc id set against other search results.

No sample code.  Looks like pure reference documentation rather than tutorial
style documentation.

[ Click on Package org.apache.lucene.spatial.tier ]

Lots of red text -- guess they're serious about this not being a stable API.

Not clear what to click on next, I'll try DistanceQueryBuilder since Patrick
mentioned that.

[ Click on Class DistanceQueryBuilder ]

Documentation is sparse.  The only real meat is in the method documetation: a
single sentence plus parameter names.

I don't know GeoHashes.  I sort of think I understand tierFieldPrefix. (?)
And what is needPrecise?

Hmm, maybe I really need to go find a tutorial somewhere.  Let's try the
wiki...

[ Go to Lucene Java wiki, search for spatial, get two hits: SpatialLucene,
SpatialSearch. ]

[ SpatialLucene wiki page ]

Hmm, there's a big warning which says refers to content not yet committed...
is that true?  Nope, LUCENE-1387 is closed, so this wiki page is out of date.
Pff, whatever...

OK, I see links to Patrick's white paper.  Seems like it will probably be
heavier than I want.

[ SpatialSearch wiki page ]

Lots of GeoHash links, should be handy when I try to learn that.  And another
link to Patrick's whitepaper for the cartesian stuff.

I'll try the full text search the Wiki search recommends.  

[ Search Lucene Java wiki for spatial, this time as full text ]

Bleah, the Wiki search's performance sucked: Results 1 - 6 of 6 results out of
about 1005 pages. (9.49 seconds).  No interesting results.

I'm reluctant to look at a PDF white paper, it will probably be too technical.

[ google lucene spatial tutorial ]

Crap, first hit is an article on Hibernate/Lucene integration.  I just want
how to use Lucene spatial.  

Looks like Lucid's got a webinar from Grant, but I don't feel like sitting
down for an hour, I just want some frikkin' sample code.

[ google lucene spatial ]

Blog post at
http://sujitpal.blogspot.com/2008/02/spatial-search-with-lucene.html looks
promising... Crap, it's not using the spatial contrib. :(

OK, there's stuff from Mike McCandless at
http://www.manning-sandbox.com/thread.jspa?threadID=35203tstart=0...
naturally all the indentation is stripped.  :(  I'll look anyway...  OK, I
think I basically follow that despite the sucky formatting, but it's not easy.

Guess I'm really stuck reading a white paper. :(

[ Surf to Patrick's white paper at 
http://www.nsshutdown.com/projects/lucene/whitepaper/locallucene_v2.html ]

Jeez, that's a lot shorter than I expected.  Formatting's all messed up and I
see some Unicode replacement character glyphs, guess Patrick's not a web guy
;) ... But it's probably what I want in terms of content and depth. 

[ read through first section ]

Inclusion, reductionism... sure sure, that's easy enough, it's just query
optimization like I deal with all the time.

But wait, no code samples.  Dammit. :(

[ read through Boundary Box ]

Jeeze, the giant cross approach to finding intersection of lat/lon was
actually part of a formal spatial package in the past?

[ read through Cartesian Grid ]

The formatting for this section is really messed up.

OK, *finally* I see that a cartesian tier is in fact a zoom level.  And even
Patrick uses the word grid extensively.

Turns out that algorithmically speaking, local Lucene works almost exactly
like I expected it to.

I wonder if it's faster to filter by saving the doc ids to a bitset first and
filtering off of that, or if it's faster just to use an ANDQuery to join the
result set from the matching tiles and the result set for the rest of the
query.

[ read through Box ID's ]

Do I really need to know any of this?  Box/Tile ID names are arbitrary.  Only
the query builder that figures out which boxes match a given geographical
constraint needs to know.

[ END BRAINLOG ]

Conclusion # 1: 

I don't spend a lot of time immersed in Java culture so maybe I missed
something, but there seems to be a dearth of high-quality tutorial-style
documentation for spatial contrib.

I'll save conclusion #2 for a separate email.

Marvin Humphrey



Re: [spatial] Cartesian Tiers nomenclature

2009-12-29 Thread Marvin Humphrey
On Tue, Dec 29, 2009 at 03:55:22PM -0800, Marvin Humphrey wrote:

 I'll save conclusion #2 for a separate email.

Conclusion # 2
==

The concepts used in spatial contrib are easy -- much easier than I'd come to
assume, given how drawn out this conversation has gotten.  (Projections are
hard, but I already grok them, and they play a minor role.)  In fact, spatial
contrib works almost exactly like I would have expected.  Some places I've
worked have implemented almost exactly the same algorithms independently.

I continue to disagree with Patrick about elevating the word tier.  There
doesn't seem to be anything special about it.  In fact, the tiers in spatial
contrib refer to zoom levels which are always powers of two...

tier 0: 1x1 =  1 tile
tier 1: 2x2 =  4 tiles
tier 2: 4x4 = 16 tiles
...

... but for this algorithm, different rasterization resolutions need not
proceed by powers-of-two.  IMO CartesianGrid is better, as it encapsulates the
same data using more popular terminology.  You could also say that a
CartesianGrid has a resolution zoom level, and that in this implementation
it's tied to a power-of-two tier.  However, assigning such a meaning to the
word tier is arbitrary.

I might even suggest ZoomLevel as an alternative to CartesianTier, and bounce
the term Rasterization out there for kicks.

On the other hand, Cartesian Tile would not be appropriate at all as a
substitute for Cartesian Tier.  My sense is that tile, box, and cell
are all basically the same and refer to a single rectangle, while
Tier/Grid/ZoomLevel/etc. are composites encapsulating multiple
tiles/boxes/cells.

Marvin Humphrey



Re: [spatial] Cartesian Tiers nomenclature

2009-12-29 Thread patrick o'leary
Marvin, then by all means write your own sir



On Tue, Dec 29, 2009 at 4:13 PM, Marvin Humphrey mar...@rectangular.comwrote:

 On Tue, Dec 29, 2009 at 03:55:22PM -0800, Marvin Humphrey wrote:

  I'll save conclusion #2 for a separate email.

 Conclusion # 2
 ==

 The concepts used in spatial contrib are easy -- much easier than I'd come
 to
 assume, given how drawn out this conversation has gotten.  (Projections are
 hard, but I already grok them, and they play a minor role.)  In fact,
 spatial
 contrib works almost exactly like I would have expected.  Some places I've
 worked have implemented almost exactly the same algorithms independently.

 I continue to disagree with Patrick about elevating the word tier.  There
 doesn't seem to be anything special about it.  In fact, the tiers in
 spatial
 contrib refer to zoom levels which are always powers of two...

tier 0: 1x1 =  1 tile
tier 1: 2x2 =  4 tiles
tier 2: 4x4 = 16 tiles
...

 ... but for this algorithm, different rasterization resolutions need not
 proceed by powers-of-two.  IMO CartesianGrid is better, as it encapsulates
 the
 same data using more popular terminology.  You could also say that a
 CartesianGrid has a resolution zoom level, and that in this implementation
 it's tied to a power-of-two tier.  However, assigning such a meaning to
 the
 word tier is arbitrary.

 I might even suggest ZoomLevel as an alternative to CartesianTier, and
 bounce
 the term Rasterization out there for kicks.

 On the other hand, Cartesian Tile would not be appropriate at all as a
 substitute for Cartesian Tier.  My sense is that tile, box, and
 cell
 are all basically the same and refer to a single rectangle, while
 Tier/Grid/ZoomLevel/etc. are composites encapsulating multiple
 tiles/boxes/cells.

 Marvin Humphrey




Re: [spatial] Cartesian Tiers nomenclature

2009-12-29 Thread Marvin Humphrey
On Tue, Dec 29, 2009 at 04:54:06PM -0800, patrick o'leary wrote:

 Marvin, then by all means write your own sir

Well, that's a possibility.  Of course it would work with Lucy, not Lucene.
One of my motivations for studying contrib-spatial today was to understand how
you'd done things so that if in fact publishing a public spacial package for
Lucy becomes a priority, we'd have learned from your experiences and start off
with a better API than I would have dreamed up myself from scratch.
Alternatively, if someone else gets to it before I do, after today's
conversation I will be in a better position to iterate with them and offer
constructive criticism regarding their contribution.

In the mean time, you are free to use the feedback I've contributed here to
nip and tuck at the docs for Java Lucene contrib-spatial.  Or not.  

I happen to believe that such reviews are valuable.  In Lucyland, we actively
solicit them and use them aggressively to refine APIs, documentation, class
hierarchies and code.  And historically, we have had a lot of success
cross-pollinating Lucy and Lucene.  Maybe this will be another area of
fruitful collaboration.  I hope so.

Best,

Marvin Humphrey



Re: [spatial] Cartesian Tiers nomenclature

2009-12-29 Thread Yonik Seeley
On Tue, Dec 29, 2009 at 7:13 PM, Marvin Humphrey mar...@rectangular.com wrote:
 ... but for this algorithm, different rasterization resolutions need not
 proceed by powers-of-two.

Indeed - one way to further generalize would be to use something like
Lucene's trie-based Numeric field, but with a square instead of a
line.  That would allow to tweak the space/speed tradeoff.

-Yonik
http://www.lucidimagination.com


[spatial] Cartesian Tiers nomenclature

2009-12-28 Thread Grant Ingersoll
As some of you may know, I've been working pretty heavily on spatial stuff 
lately.  One of the things that has bothered me for a while is the use of the 
terminology: cartesian tiers.  The thing is, I can't find any reference to such 
a thing in any place other than Local Lucene and Patrick's white paper on it.  
Most GIS systems seem to either talk about grids or tiles when describing this 
capability.

Do you think it is worth a name change?  This is about to get baked into Solr 
and I would really prefer we choose names that the rest of the world seems to 
understand.

Thanks,
Grant

AW: [spatial] Cartesian Tiers nomenclature

2009-12-28 Thread Uwe Schindler
I also know the name Quad Tree or Trie, but not sure, he it is really the same. 
Uwe

Mit einem Mobiltelefon von Sony Ericsson gesendet


 Originalnachricht 
Von: Grant Ingersoll gsing...@apache.org
Gesendet: 
An: general@lucene.apache.org
Betreff: [spatial] Cartesian Tiers nomenclature

As some of you may know, I've been working pretty heavily on spatial stuff 
lately.  One of the things that has bothered me for a while is the use of the 
terminology: cartesian tiers.  The thing is, I can't find any reference to such 
a thing in any place other than Local Lucene and Patrick's white paper on it.  
Most GIS systems seem to either talk about grids or tiles when describing this 
capability.

Do you think it is worth a name change?  This is about to get baked into Solr 
and I would really prefer we choose names that the rest of the world seems to 
understand.

Thanks,
Grant


Re: [spatial] Cartesian Tiers nomenclature

2009-12-28 Thread Simon Willnauer
I would extremely prefer a common well know name instead of Cartensian
tiers. While the API is still in flux changing the name is not that
much of a deal either. Either grid or tiles is fine for me though
while I would prefer the most common of the two - grid seems to be the
better choice though. Yet, should we stick to Cartesian?!

simon

On Mon, Dec 28, 2009 at 5:31 PM, Grant Ingersoll gsing...@apache.org wrote:
 As some of you may know, I've been working pretty heavily on spatial stuff 
 lately.  One of the things that has bothered me for a while is the use of the 
 terminology: cartesian tiers.  The thing is, I can't find any reference to 
 such a thing in any place other than Local Lucene and Patrick's white paper 
 on it.  Most GIS systems seem to either talk about grids or tiles when 
 describing this capability.

 Do you think it is worth a name change?  This is about to get baked into Solr 
 and I would really prefer we choose names that the rest of the world seems to 
 understand.

 Thanks,
 Grant


Re: [spatial] Cartesian Tiers nomenclature

2009-12-28 Thread Marvin Humphrey
On Mon, Dec 28, 2009 at 11:31:14AM -0500, Grant Ingersoll wrote:
 As some of you may know, I've been working pretty heavily on spatial stuff
 lately.  

Been watching from a distance, glad to see it.  :)

 One of the things that has bothered me for a while is the use of the
 terminology: cartesian tiers.  The thing is, I can't find any reference to
 such a thing in any place other than Local Lucene and Patrick's white paper
 on it.  Most GIS systems seem to either talk about grids or tiles when
 describing this capability.

I like cartesian tiles.  Tiling is a familiar concept for anybody who's
worked with Google Maps, and a little web searching tells me that tiles are
also a concept in ArcGIS.  

But I don't think CartesianTile would substitute properly for a
CartesianTier, would it?  

A CartesianTier is like a set of zoom levels on an interactive map

So maybe use CartesianGrid for the zoom level, and CartesianTile as a single
rectangle at whatever zoom (if such a class is needed)?

Anecdotally, as a dabbler but not an expert, I can say that if you talked
about cartesian tiles or cartesian grid, I'd grok right away.  Cartesian
tier would require an explanation.  

 Do you think it is worth a name change?  This is about to get baked into
 Solr and I would really prefer we choose names that the rest of the world
 seems to understand.

If it hasn't been baked in yet, then +1.  I do agree that it's important to
use names that are already present in the hivemind rather than invent new
ones.  Been there, done that, got sick of having to explain myself, went back
to popular names...

Marvin Humphrey


Re: [spatial] Cartesian Tiers nomenclature

2009-12-28 Thread Grant Ingersoll

On Dec 28, 2009, at 1:00 PM, Ryan McKinley wrote:

 
 Do you think it is worth a name change?  This is about to get baked into
 Solr and I would really prefer we choose names that the rest of the world
 seems to understand.
 
 If it hasn't been baked in yet, then +1.  I do agree that it's important to
 use names that are already present in the hivemind rather than invent new
 ones.  Been there, done that, got sick of having to explain myself, went 
 back
 to popular names...
 
 
 It's semi-baked into Lucene already and people familiar w/ LocalLucene and 
 LocalSolr.
 
 
 Although it is 'semi-baked', the spatial contrib in 2.9 is clearly marked 
 experimental and subject to change.  Also, the tier stuff in 2.9 does not 
 have enough substance to stand on its own -- any change will break APIs.
 
 If folks think tile (or grid) make more sense, now is an easy time to 
 change.
 
 In my book it seems better to use the most common terms, but I can also see 
 the advantage to knowing that if people are talking about cartesian tiers 
 then they are referring to lucene.  (That can also be useful to distinguish 
 spatial lucene/solr from LocalLucene/Solr)
 
 I'm +1 for Tile

Ditto.  I'm +1 on tiles.

Re: [spatial] Cartesian Tiers nomenclature

2009-12-28 Thread André Warnier

Grant Ingersoll wrote:

On Dec 28, 2009, at 1:00 PM, Ryan McKinley wrote:


Do you think it is worth a name change?  This is about to get baked into
Solr and I would really prefer we choose names that the rest of the world
seems to understand.

If it hasn't been baked in yet, then +1.  I do agree that it's important to
use names that are already present in the hivemind rather than invent new
ones.  Been there, done that, got sick of having to explain myself, went back
to popular names...


It's semi-baked into Lucene already and people familiar w/ LocalLucene and 
LocalSolr.


Although it is 'semi-baked', the spatial contrib in 2.9 is clearly marked 
experimental and subject to change.  Also, the tier stuff in 2.9 does not have 
enough substance to stand on its own -- any change will break APIs.

If folks think tile (or grid) make more sense, now is an easy time to 
change.

In my book it seems better to use the most common terms, but I can also see the advantage to 
knowing that if people are talking about cartesian tiers then they are referring to 
lucene.  (That can also be useful to distinguish spatial lucene/solr from 
LocalLucene/Solr)

I'm +1 for Tile


Ditto.  I'm +1 on tiles.


It's not so often that I find on this forum a topic to which I can 
contribute.


So as a total outsider, french-speaking, barely acquainted with Lucene 
and Solr, and who'se closest claim to knowledge in the matter is to have 
been an interested spectator at the Lucene/Solr presentations at 
ApacheCON Europe 2009, I vote
- for tiles or grid, because they are terms I would search for in 
association with (geo)spatial stuff, while I would never think of tiers
- for Cartesian because it comes from René Descartes, an icon of 
french-speaking philosophy and rationalism, and because it intuitively 
connects to the concept of coordinates





Re: [spatial] Cartesian Tiers nomenclature

2009-12-28 Thread Mattmann, Chris A (388J)
Most of the atmospheric/climate/earth scientists that I work with refer to
these tiers as grid boxes.

I think you¹ll find different answers though, depending on who you ask. The
scientific community is a bit different that GIS/decision support folks...

Chris



On 12/28/09 9:49 AM, Ryan McKinley ryan...@gmail.com wrote:

 I like tile best -- this has a direct mapping to common map caching
 systems (google/bing/tms/WorldWind)
 
 'Grid' is also good.  In OpenLayers, 'grid' is the parent, and tile
 based variations extend 'grid'.
 
 Tier is interesting since it implies various levels, but i think
 using a more common term is better for a wider audience.
 
 Cartesian?  The common tiling schemes are all cartesian (planar),
 however i think much of the same mechanics can be used to to tile
 spherical space.  Consider something like: HEALPix
 http://healpix.jpl.nasa.gov/
 
 Uwe mentioned Quad Tree or Trie -- the big difference I see is that
 tiles or grids have sizes that are defined independent of the data.
 Quadtree, RTree, etc typically resize themselves as data is added.
 
 I like Tile, TilePlotter, FindBestTile, etc best.  Grid also
 works, but seems to refer to the whole system rather then the cell.
 
 ryan
 
 
 On Dec 28, 2009, at 12:22 PM, Simon Willnauer wrote:
 
 I would extremely prefer a common well know name instead of Cartensian
 tiers. While the API is still in flux changing the name is not that
 much of a deal either. Either grid or tiles is fine for me though
 while I would prefer the most common of the two - grid seems to be the
 better choice though. Yet, should we stick to Cartesian?!
 
 simon
 
 On Mon, Dec 28, 2009 at 5:31 PM, Grant Ingersoll
 gsing...@apache.org wrote:
 As some of you may know, I've been working pretty heavily on
 spatial stuff lately.  One of the things that has bothered me for a
 while is the use of the terminology: cartesian tiers.  The thing
 is, I can't find any reference to such a thing in any place other
 than Local Lucene and Patrick's white paper on it.  Most GIS
 systems seem to either talk about grids or tiles when describing
 this capability.
 
 Do you think it is worth a name change?  This is about to get baked
 into Solr and I would really prefer we choose names that the rest
 of the world seems to understand.
 
 Thanks,
 Grant
 
 


++
Chris Mattmann, Ph.D.
Senior Computer Scientist
NASA Jet Propulsion Laboratory Pasadena, CA 91109 USA
Office: 171-266B, Mailstop: 171-246
Email: chris.mattm...@jpl.nasa.gov
WWW:   http://sunset.usc.edu/~mattmann/
++
Adjunct Assistant Professor, Computer Science Department
University of Southern California, Los Angeles, CA 90089 USA
++




Re: [spatial] Cartesian Tiers nomenclature

2009-12-28 Thread patrick o'leary
So Grant here's the deal behind the name.
Cartesian because it's a simple x.y coordinate system
Tier because there are multiple tiers, levels of resolution.

If you look at it closer:
- To programmers there's a quadtree implementation
- To web users who use maps these are grids / tiles.
- To GIS experts this is a form of multi-resolution raster-ing.
- To astrophysicists these are tiers.
- To the MS folks I've talked to they have quad something or other.
- To math folks Cartesian levels makes sense.

Can't make all the people happy all the time,

Some folks view tiers/tiles as the mind killer, ahh I could quote Dune all
day, but anyway's I digress.
r-trees are the way forward, nope Hilbert curves are the way, then someday
I expect someone
to come along with the biometric butt print of sputnik as the ultimate way
to map something.
None of which, including CartesianTiers are a full solution, but all
represent a solution to something that's GIS in nature.

Web-ers think in the concept of google maps/zoom levels, chuck a mercator
projector in there and you have google maps.
I have a TMS, Google, and MS projector all which can fit into this stuff,
but I also have more that aren't web map service projectors.

I won't give you a vote as obviously I'm bias.
semantic naming for standardization is something I do agree with, but I
don't feel there is a good standard out there yet.
If we pick something that's OGC in nature and makes sense then you have my
support
But if it's just a google / MS bunch of blogs then I don't think it's worth
while.




On Mon, Dec 28, 2009 at 9:22 AM, Simon Willnauer 
simon.willna...@googlemail.com wrote:

 I would extremely prefer a common well know name instead of Cartensian
 tiers. While the API is still in flux changing the name is not that
 much of a deal either. Either grid or tiles is fine for me though
 while I would prefer the most common of the two - grid seems to be the
 better choice though. Yet, should we stick to Cartesian?!

 simon

 On Mon, Dec 28, 2009 at 5:31 PM, Grant Ingersoll gsing...@apache.org
 wrote:
  As some of you may know, I've been working pretty heavily on spatial
 stuff lately.  One of the things that has bothered me for a while is the use
 of the terminology: cartesian tiers.  The thing is, I can't find any
 reference to such a thing in any place other than Local Lucene and Patrick's
 white paper on it.  Most GIS systems seem to either talk about grids or
 tiles when describing this capability.
 
  Do you think it is worth a name change?  This is about to get baked into
 Solr and I would really prefer we choose names that the rest of the world
 seems to understand.
 
  Thanks,
  Grant



Re: [spatial] Cartesian Tiers nomenclature

2009-12-28 Thread Grant Ingersoll

On Dec 28, 2009, at 3:51 PM, patrick o'leary wrote:

 So Grant here's the deal behind the name.
 Cartesian because it's a simple x.y coordinate system
 Tier because there are multiple tiers, levels of resolution.
 
 If you look at it closer:
 - To programmers there's a quadtree implementation
 - To web users who use maps these are grids / tiles.
 - To GIS experts this is a form of multi-resolution raster-ing.
 - To astrophysicists these are tiers.
 - To the MS folks I've talked to they have quad something or other.
 - To math folks Cartesian levels makes sense.
 
 Can't make all the people happy all the time,

Right, but as far as I can tell (and I've only done, say an hour of research), 
I can't find anyone who calls them Cartesian Tiers other than us.

Personally, I think web users are the largest group (after all, aren't we all 
web users?) out there and therefore will be the most familiar with either grid 
or tile.  FWIW, I have tentatively called the Solr FieldType to support this 
SpatialTileField as in it represents a tile in the spatial sense.  I'd be 
fine with SpatialGridField as well (GridField seems a bit too generic).

Re: [spatial] Cartesian Tiers nomenclature

2009-12-28 Thread patrick o'leary
Hmm, but when you say grid, to me that's just a bunch of regularly spaced
lines..

On Mon, Dec 28, 2009 at 1:16 PM, Grant Ingersoll gsing...@apache.orgwrote:


 On Dec 28, 2009, at 3:51 PM, patrick o'leary wrote:

  So Grant here's the deal behind the name.
  Cartesian because it's a simple x.y coordinate system
  Tier because there are multiple tiers, levels of resolution.
 
  If you look at it closer:
  - To programmers there's a quadtree implementation
  - To web users who use maps these are grids / tiles.
  - To GIS experts this is a form of multi-resolution raster-ing.
  - To astrophysicists these are tiers.
  - To the MS folks I've talked to they have quad something or other.
  - To math folks Cartesian levels makes sense.
 
  Can't make all the people happy all the time,

 Right, but as far as I can tell (and I've only done, say an hour of
 research), I can't find anyone who calls them Cartesian Tiers other than us.

 Personally, I think web users are the largest group (after all, aren't we
 all web users?) out there and therefore will be the most familiar with
 either grid or tile.  FWIW, I have tentatively called the Solr FieldType to
 support this SpatialTileField as in it represents a tile in the spatial
 sense.  I'd be fine with SpatialGridField as well (GridField seems a bit too
 generic).


Re: [spatial] Cartesian Tiers nomenclature

2009-12-28 Thread patrick o'leary
Hmm, depends, tiles indicate to me a direct correlation between the id and a
map tile, which will depend upon using the right projection
with the cartesian plotter

On Mon, Dec 28, 2009 at 2:56 PM, Grant Ingersoll gsing...@apache.orgwrote:


 On Dec 28, 2009, at 4:19 PM, patrick o'leary wrote:

  Hmm, but when you say grid, to me that's just a bunch of regularly spaced
  lines..

 Yeah, I hear you.  I chose spatial tiles for the Solr patch, but spatial
 grid would work too.  Or map tiles/map grids.  That anchors it into the
 spatial world, since we're calling Lucene's spatial contrib/spatial and
 Solr's Solr Spatial.

 
  On Mon, Dec 28, 2009 at 1:16 PM, Grant Ingersoll gsing...@apache.org
 wrote:
 
 
  On Dec 28, 2009, at 3:51 PM, patrick o'leary wrote:
 
  So Grant here's the deal behind the name.
  Cartesian because it's a simple x.y coordinate system
  Tier because there are multiple tiers, levels of resolution.
 
  If you look at it closer:
  - To programmers there's a quadtree implementation
  - To web users who use maps these are grids / tiles.
  - To GIS experts this is a form of multi-resolution raster-ing.
  - To astrophysicists these are tiers.
  - To the MS folks I've talked to they have quad something or other.
  - To math folks Cartesian levels makes sense.
 
  Can't make all the people happy all the time,
 
  Right, but as far as I can tell (and I've only done, say an hour of
  research), I can't find anyone who calls them Cartesian Tiers other than
 us.
 
  Personally, I think web users are the largest group (after all, aren't
 we
  all web users?) out there and therefore will be the most familiar with
  either grid or tile.  FWIW, I have tentatively called the Solr FieldType
 to
  support this SpatialTileField as in it represents a tile in the
 spatial
  sense.  I'd be fine with SpatialGridField as well (GridField seems a bit
 too
  generic).





Re: [spatial] Cartesian Tiers nomenclature

2009-12-28 Thread patrick o'leary
So trying no to drag this out, the most frequent generic term used in GIS
software is SRID
http://en.wikipedia.org/wiki/SRID

Again this provides just a basic nomenclature for the high level element,
somewhat the blackbird of objects rather than the defining the magpie (sorry
for the CS 101 reference)

But it should show that every implementation is unique in some format.
Perhaps as unique as CartesianTier's ( sorry Ted ! )



On Mon, Dec 28, 2009 at 5:26 PM, patrick o'leary pj...@pjaol.com wrote:

 Hmm, depends, tiles indicate to me a direct correlation between the id and
 a map tile, which will depend upon using the right projection
 with the cartesian plotter


 On Mon, Dec 28, 2009 at 2:56 PM, Grant Ingersoll gsing...@apache.orgwrote:


 On Dec 28, 2009, at 4:19 PM, patrick o'leary wrote:

  Hmm, but when you say grid, to me that's just a bunch of regularly
 spaced
  lines..

 Yeah, I hear you.  I chose spatial tiles for the Solr patch, but spatial
 grid would work too.  Or map tiles/map grids.  That anchors it into the
 spatial world, since we're calling Lucene's spatial contrib/spatial and
 Solr's Solr Spatial.

 
  On Mon, Dec 28, 2009 at 1:16 PM, Grant Ingersoll gsing...@apache.org
 wrote:
 
 
  On Dec 28, 2009, at 3:51 PM, patrick o'leary wrote:
 
  So Grant here's the deal behind the name.
  Cartesian because it's a simple x.y coordinate system
  Tier because there are multiple tiers, levels of resolution.
 
  If you look at it closer:
  - To programmers there's a quadtree implementation
  - To web users who use maps these are grids / tiles.
  - To GIS experts this is a form of multi-resolution raster-ing.
  - To astrophysicists these are tiers.
  - To the MS folks I've talked to they have quad something or other.
  - To math folks Cartesian levels makes sense.
 
  Can't make all the people happy all the time,
 
  Right, but as far as I can tell (and I've only done, say an hour of
  research), I can't find anyone who calls them Cartesian Tiers other
 than us.
 
  Personally, I think web users are the largest group (after all, aren't
 we
  all web users?) out there and therefore will be the most familiar with
  either grid or tile.  FWIW, I have tentatively called the Solr
 FieldType to
  support this SpatialTileField as in it represents a tile in the
 spatial
  sense.  I'd be fine with SpatialGridField as well (GridField seems a
 bit too
  generic).






Re: [spatial] Cartesian Tiers nomenclature

2009-12-28 Thread Mattmann, Chris A (388J)
Hi Patrick,

Interesting. It seems like there is a precedent already in the Local Lucene
and Local SOLR packages that define CartesianTier as lingua franca.

Like I said in an earlier email it depends on who you talk to regarding the
preference of what to call these Tiles/Grids/Tiers, etc., and that seems to
be further evidenced by your research.

I for one don¹t really have a preference but precedent matters to me and if
Tiers have been used to date then there should be strong consideration to
use that nomenclature and +1 from me.

Cheers,
Chris

On 12/28/09 9:25 PM, patrick o'leary pj...@pjaol.com wrote:

 So trying no to drag this out, the most frequent generic term used in GIS
 software is SRID
 http://en.wikipedia.org/wiki/SRID
 
 Again this provides just a basic nomenclature for the high level element,
 somewhat the blackbird of objects rather than the defining the magpie (sorry
 for the CS 101 reference)
 
 But it should show that every implementation is unique in some format.
 Perhaps as unique as CartesianTier's ( sorry Ted ! )
 
 
 
 On Mon, Dec 28, 2009 at 5:26 PM, patrick o'leary pj...@pjaol.com wrote:
 
 Hmm, depends, tiles indicate to me a direct correlation between the id and
 a map tile, which will depend upon using the right projection
 with the cartesian plotter
 
 
 On Mon, Dec 28, 2009 at 2:56 PM, Grant Ingersoll gsing...@apache.orgwrote:
 
 
 On Dec 28, 2009, at 4:19 PM, patrick o'leary wrote:
 
 Hmm, but when you say grid, to me that's just a bunch of regularly
 spaced
 lines..
 
 Yeah, I hear you.  I chose spatial tiles for the Solr patch, but spatial
 grid would work too.  Or map tiles/map grids.  That anchors it into the
 spatial world, since we're calling Lucene's spatial contrib/spatial and
 Solr's Solr Spatial.
 
 
 On Mon, Dec 28, 2009 at 1:16 PM, Grant Ingersoll gsing...@apache.org
 wrote:
 
 
 On Dec 28, 2009, at 3:51 PM, patrick o'leary wrote:
 
 So Grant here's the deal behind the name.
 Cartesian because it's a simple x.y coordinate system
 Tier because there are multiple tiers, levels of resolution.
 
 If you look at it closer:
 - To programmers there's a quadtree implementation
 - To web users who use maps these are grids / tiles.
 - To GIS experts this is a form of multi-resolution raster-ing.
 - To astrophysicists these are tiers.
 - To the MS folks I've talked to they have quad something or other.
 - To math folks Cartesian levels makes sense.
 
 Can't make all the people happy all the time,
 
 Right, but as far as I can tell (and I've only done, say an hour of
 research), I can't find anyone who calls them Cartesian Tiers other
 than us.
 
 Personally, I think web users are the largest group (after all, aren't
 we
 all web users?) out there and therefore will be the most familiar with
 either grid or tile.  FWIW, I have tentatively called the Solr
 FieldType to
 support this SpatialTileField as in it represents a tile in the
 spatial
 sense.  I'd be fine with SpatialGridField as well (GridField seems a
 bit too
 generic).
 
 
 
 
 


++
Chris Mattmann, Ph.D.
Senior Computer Scientist
NASA Jet Propulsion Laboratory Pasadena, CA 91109 USA
Office: 171-266B, Mailstop: 171-246
Email: chris.mattm...@jpl.nasa.gov
WWW:   http://sunset.usc.edu/~mattmann/
++
Adjunct Assistant Professor, Computer Science Department
University of Southern California, Los Angeles, CA 90089 USA
++




Re: [spatial] Cartesian Tiers nomenclature

2009-12-28 Thread patrick o'leary
Ah the language of math is the ultimate lingua franca -
Nice !

When you look at the coordinates entity from KML, ask why are the lat /
longs reversed to long/ lat?
Answer because the folks working on the display thought in terms of *display
not GIS*, the point is over Y degrees of longitude and down X degrees of
latitude.

But again that's not a convention used outside a little part of GeoTools or
KML, GML / GeoRSS are again just the regular lat,long (NS,EW), or projected
EPSG or other standard projections in  OGC 05-011.
To my knowledge google are the only real pushers of (EW,NS) these days.

So what does this diatribe mean? We're kind of at the bleeding edge of
defining the standard, hence the difficulty of finding data on it.
This is one reason why locallucene and localsolr became popular, it solved a
problem simply.

Doc's about it exist on gissearch.com
dzone are doing articles on it
http://java.dzone.com/articles/spatial-search-hibernate?utm_source=feedburnerutm_medium=feedutm_campaign=Feed%3A+javalobby%2Ffrontpage+%28Javalobby+%2F+Java+Zone%29

Locallucene in google has over 8,000 results
http://www.google.com/search?q=locallucene

Localsolr has over 4,000 results
http://www.google.com/search?q=localsolr

I've seen and help with installations all over the place, heck even codehaus
use it, as do folks on github with geonames db.
I see named it mathematically  scientifically correct, and  gaining enough
traction and popularity to start becoming part of the standard, not just
duplicating one.

I can't honestly see how a refactoring is bringing anything positive to
this, when there isn't a good standard out there yet.


On Mon, Dec 28, 2009 at 10:22 PM, Mattmann, Chris A (388J) 
chris.a.mattm...@jpl.nasa.gov wrote:

 Hi Patrick,

 Interesting. It seems like there is a precedent already in the Local Lucene
 and Local SOLR packages that define CartesianTier as lingua franca.

 Like I said in an earlier email it depends on who you talk to regarding the
 preference of what to call these Tiles/Grids/Tiers, etc., and that seems to
 be further evidenced by your research.

 I for one don¹t really have a preference but precedent matters to me and if
 Tiers have been used to date then there should be strong consideration to
 use that nomenclature and +1 from me.

 Cheers,
 Chris

 On 12/28/09 9:25 PM, patrick o'leary pj...@pjaol.com wrote:

  So trying no to drag this out, the most frequent generic term used in GIS
  software is SRID
  http://en.wikipedia.org/wiki/SRID
 
  Again this provides just a basic nomenclature for the high level element,
  somewhat the blackbird of objects rather than the defining the magpie
 (sorry
  for the CS 101 reference)
 
  But it should show that every implementation is unique in some format.
  Perhaps as unique as CartesianTier's ( sorry Ted ! )
 
 
 
  On Mon, Dec 28, 2009 at 5:26 PM, patrick o'leary pj...@pjaol.com
 wrote:
 
  Hmm, depends, tiles indicate to me a direct correlation between the id
 and
  a map tile, which will depend upon using the right projection
  with the cartesian plotter
 
 
  On Mon, Dec 28, 2009 at 2:56 PM, Grant Ingersoll gsing...@apache.org
 wrote:
 
 
  On Dec 28, 2009, at 4:19 PM, patrick o'leary wrote:
 
  Hmm, but when you say grid, to me that's just a bunch of regularly
  spaced
  lines..
 
  Yeah, I hear you.  I chose spatial tiles for the Solr patch, but
 spatial
  grid would work too.  Or map tiles/map grids.  That anchors it into the
  spatial world, since we're calling Lucene's spatial contrib/spatial and
  Solr's Solr Spatial.
 
 
  On Mon, Dec 28, 2009 at 1:16 PM, Grant Ingersoll gsing...@apache.org
  wrote:
 
 
  On Dec 28, 2009, at 3:51 PM, patrick o'leary wrote:
 
  So Grant here's the deal behind the name.
  Cartesian because it's a simple x.y coordinate system
  Tier because there are multiple tiers, levels of resolution.
 
  If you look at it closer:
  - To programmers there's a quadtree implementation
  - To web users who use maps these are grids / tiles.
  - To GIS experts this is a form of multi-resolution raster-ing.
  - To astrophysicists these are tiers.
  - To the MS folks I've talked to they have quad something or other.
  - To math folks Cartesian levels makes sense.
 
  Can't make all the people happy all the time,
 
  Right, but as far as I can tell (and I've only done, say an hour of
  research), I can't find anyone who calls them Cartesian Tiers other
  than us.
 
  Personally, I think web users are the largest group (after all,
 aren't
  we
  all web users?) out there and therefore will be the most familiar
 with
  either grid or tile.  FWIW, I have tentatively called the Solr
  FieldType to
  support this SpatialTileField as in it represents a tile in the
  spatial
  sense.  I'd be fine with SpatialGridField as well (GridField seems a
  bit too
  generic).
 
 
 
 
 


 ++
 Chris Mattmann, Ph.D.
 Senior Computer Scientist
 NASA Jet Propulsion Laboratory