geotree 1.1.0 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4e790d44323caacbf4a2bd3ec69bc02bb55dc847
4
- data.tar.gz: bdb2927e4dea7857cd9863cbc2b53ee0c089bef7
3
+ metadata.gz: d139e141c3f1de2d164a60d382a57dab14c145cb
4
+ data.tar.gz: a4e2951d2f513a39aac941e073dedb6f77a4b3bc
5
5
  SHA512:
6
- metadata.gz: eef40796846cbabd4bddd8f32cef9334f7b4e6b0d17fcb851af0247907c8e89b9582808179bed41dc635069965e2c634a8c55e0fa5a1411f0ef09d23f4ca4980
7
- data.tar.gz: e92b0f2e40906f8bc9853b21af28af24691a0b6d8e77682fd1fb8a557b36f9e520c33e092aa8b6ae4fe2f47eb78035460d901b8744c85bd56c5d5e4a6be4e329
6
+ metadata.gz: ec83653bcabfe8121c7954dc80550acb11f8578b4eb58b55a989450369b99d2b4d353008c4584d4d7dea6aaf0aab91ed77b3f7abd12086d64f27dd8aa826849f
7
+ data.tar.gz: 51fd669841ada4aae664cf500c63e8f358c4c596d4e9860d48075278de0365a82c78f5c7f78b99a5bb8786dd282b21f152aca973dee0dbb7197079ca5d76af8b
@@ -1,3 +1,7 @@
1
- 2013-04-02 Jeff Sember jpsember@gmail.com
2
- * Version 1.0.0 released
1
+ 2013-04-02
2
+ * Version 1.0.0
3
3
 
4
+ 2013-04-03
5
+ * Version 1.0.1
6
+ * Enhanced README file
7
+
data/README.txt CHANGED
@@ -1,6 +1,31 @@
1
- geotree : xxx
1
+ # @markup markdown
2
2
 
3
+ 'geotree' : A ruby gem that maintains a set of geographical points, reports points lying within a query rectangle,
4
+ and supports multiple levels of detail.
5
+ =======
3
6
  Written and (c) by Jeff Sember, April 2013.
4
- ================================================================================
5
7
 
6
8
 
9
+
10
+ GeoTree
11
+ -------
12
+
13
+ A GeoTree is a variant of a k-d tree, and stores data points that have a latitude
14
+ and longitude, a unique integer identifier, and an optional 'weight' (e.g., the
15
+ size of a city). GeoTrees are disk-based data structures and can store a very large
16
+ number of points efficiently. If desired, for smaller data sets, memory-only trees
17
+ can be constructed instead.
18
+
19
+ [An animation of a GeoTree in action.](../geotree/lib/fig/geo_tree.pdf "geo_tree.pdf")
20
+
21
+ MultiTree
22
+ -------
23
+
24
+
25
+ The gem includes MultiTree, a GeoTree variant that supports queries at multiple
26
+ levels of detail. For example, when focusing on a small region it can return points
27
+ that would be omitted when querying a much larger region.
28
+
29
+ [An animation of a MultiTree in action.](../geotree/lib/fig/multi_tree.pdf "multi_tree.pdf")
30
+
31
+
Binary file
Binary file
@@ -3,7 +3,7 @@ require_relative 'node'
3
3
  req 'diskblockfile ptbuffer'
4
4
 
5
5
  module GeoTreeModule
6
-
6
+ #
7
7
  # A variant of a kd-tree, it is capable of maintaining sets of 2D points and efficiently
8
8
  # reporting all points lying within (axis-aligned) query rectangles.
9
9
  #
@@ -14,6 +14,8 @@ module GeoTreeModule
14
14
  # A GeoTree is usually stored within a disk file, though it is also possible to
15
15
  # construct a tree that exists only in memory; see the initialize(...) method.
16
16
  #
17
+ # {An animation of a GeoTree in action.}[link:../../doc/geo_tree.pdf]
18
+ #
17
19
  # Usage:
18
20
  #
19
21
  # [] Open a tree. If no tree exists, a new, empty one is created.
@@ -71,7 +73,7 @@ module GeoTreeModule
71
73
  # Otherwise, (i) the datapoints can be retrieved from the tree to an array
72
74
  # (by using a sufficiently large query rectangle), (ii) a new tree can be constructed,
73
75
  # and (iii) each of the points in the array can be added to the new tree.
74
- #
76
+ #
75
77
  class GeoTree
76
78
 
77
79
  ROOT_NODE_NAME_ = BlockFile::FIRST_BLOCK_ID
@@ -16,6 +16,8 @@ module GeoTreeModule
16
16
  # When querying a MultiTree, the user must specify which level of detail (i.e.,
17
17
  # which of the contained trees) is to be examined.
18
18
  #
19
+ # {An animation of a MultiTree in action.}[link:../../doc/multi_tree.pdf]
20
+ #
19
21
  class MultiTree
20
22
 
21
23
  attr_reader :num_trees
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: geotree
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeff Sember
@@ -14,7 +14,7 @@ description: " \nA GeoTree is a variant of a k-d tree, and stores data points
14
14
  have a latitude and longitude, \na unique integer identifier, and an optional 'weight'
15
15
  (e.g., the size of a city). \nGeoTrees are disk-based data structures and can store
16
16
  a very large number of points efficiently.\nIf desired, for smaller data sets, memory-only
17
- trees can be constructed instead.\n\nThe gem includes MultiTrees, a GeoTree variant
17
+ trees can be constructed instead.\n\nThe gem includes MultiTree, a GeoTree variant
18
18
  that supports queries at \nmultiple levels of detail. For example, when focusing
19
19
  on a \nsmall region it can return points that would be omitted when querying a much
20
20
  larger region.\n\nAnimations illustrating GeoTrees and MultiTrees in action can
@@ -37,6 +37,8 @@ files:
37
37
  - lib/geotree/pswriter.rb
38
38
  - lib/geotree/ptbuffer.rb
39
39
  - lib/geotree/tools.rb
40
+ - lib/fig/geo_tree.pdf
41
+ - lib/fig/multi_tree.pdf
40
42
  - CHANGELOG.txt
41
43
  - README.txt
42
44
  - test/test_blockfile.rb