geoq 0.0.2 → 0.0.3
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 +4 -4
 - data/Gemfile.lock +1 -1
 - data/bin/geoq +5 -7
 - data/lib/geoq/geom_reader.rb +2 -2
 - data/lib/geoq/version.rb +1 -1
 - data/test/commands_test.rb +4 -4
 - data/test/geom_reader_test.rb +3 -0
 - data/test/test_helper.rb +1 -0
 - metadata +3 -3
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 3a8fda162158377b2f584680d2b3039160b2aed5
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 77028b68a15d7cce1581e9a97138a42e75491fb6
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 7346ed0ef0f70cd81c8f3e081622f4697f0db823f97ba994d09406713df4f0054ca60912ae5f7fad92fe65c4976d0586520d3c747af544fd2e1e23a31f4412f8
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: dc6fdfad9dd14d1eaf8192b9c7f204664136688c179a444225635f68eb5c2b7c4610521ce40c480cd6861e78277e75817255002f209348917f120d7fd390979b
         
     | 
    
        data/Gemfile.lock
    CHANGED
    
    
    
        data/bin/geoq
    CHANGED
    
    | 
         @@ -22,7 +22,7 @@ Geospatial utility belt 
     | 
|
| 
       22 
22 
     | 
    
         | 
| 
       23 
23 
     | 
    
         
             
                Will output the geohash 9q5 as a geojson geometry.
         
     | 
| 
       24 
24 
     | 
    
         | 
| 
       25 
     | 
    
         
            -
                Most commands will accept a Lat/Lon (comma-separated), a Geohash
         
     | 
| 
      
 25 
     | 
    
         
            +
                Most commands will accept a Lat/Lon (comma or tab-separated), a Geohash
         
     | 
| 
       26 
26 
     | 
    
         
             
                (base 32 encoded), a WKT, or a GeoJSON input.
         
     | 
| 
       27 
27 
     | 
    
         | 
| 
       28 
28 
     | 
    
         
             
                The tool should recognize the input type based on its format.
         
     | 
| 
         @@ -118,15 +118,13 @@ command :gh do |c| 
     | 
|
| 
       118 
118 
     | 
    
         
             
            end
         
     | 
| 
       119 
119 
     | 
    
         | 
| 
       120 
120 
     | 
    
         
             
            GEOJSON_IO_URL_LIMIT = 27000 # crudely derived via experimentation
         
     | 
| 
       121 
     | 
    
         
            -
            map_desc = "
         
     | 
| 
       122 
     | 
    
         
            -
            Plot input on geojson.io.
         
     | 
| 
       123 
121 
     | 
    
         | 
| 
      
 122 
     | 
    
         
            +
            desc "Plot input on geojson.io."
         
     | 
| 
      
 123 
     | 
    
         
            +
            long_desc "
         
     | 
| 
       124 
124 
     | 
    
         
             
            Input will be converted to a GeoJSON FeatureCollection, similarly to 'geoq gj fc'
         
     | 
| 
       125 
125 
     | 
    
         | 
| 
       126 
     | 
    
         
            -
            We rely on url-encoding the desired GeoJSON to transfer it to geojson.io, 
     | 
| 
       127 
     | 
    
         
            -
            over 27k characters will be rejected."
         
     | 
| 
       128 
     | 
    
         
            -
             
     | 
| 
       129 
     | 
    
         
            -
            desc map_desc
         
     | 
| 
      
 126 
     | 
    
         
            +
            We rely on url-encoding the desired GeoJSON to transfer it to geojson.io,
         
     | 
| 
      
 127 
     | 
    
         
            +
            so long inputs over 27k characters will be rejected."
         
     | 
| 
       130 
128 
     | 
    
         
             
            command :map do |c|
         
     | 
| 
       131 
129 
     | 
    
         
             
              c.action do |global_options,options,args|
         
     | 
| 
       132 
130 
     | 
    
         
             
                entities = Geoq::GeomReader.new(STDIN)
         
     | 
    
        data/lib/geoq/geom_reader.rb
    CHANGED
    
    | 
         @@ -42,7 +42,7 @@ module Geoq 
     | 
|
| 
       42 
42 
     | 
    
         
             
                      [GeoJson.new(decoded, line)]
         
     | 
| 
       43 
43 
     | 
    
         
             
                    end
         
     | 
| 
       44 
44 
     | 
    
         
             
                  elsif latlon?(line)
         
     | 
| 
       45 
     | 
    
         
            -
                    [LatLon.new(factory.point(*strip_whitespace(line).split(",").map(&:to_f).reverse), line)]
         
     | 
| 
      
 45 
     | 
    
         
            +
                    [LatLon.new(factory.point(*(strip_whitespace(line.gsub("\t", ",")).split(",").map(&:to_f).reverse)), line)]
         
     | 
| 
       46 
46 
     | 
    
         
             
                  else
         
     | 
| 
       47 
47 
     | 
    
         
             
                    [Wkt.new(wkt.parse(line), line)]
         
     | 
| 
       48 
48 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -61,7 +61,7 @@ module Geoq 
     | 
|
| 
       61 
61 
     | 
    
         
             
                end
         
     | 
| 
       62 
62 
     | 
    
         | 
| 
       63 
63 
     | 
    
         
             
                def latlon?(line)
         
     | 
| 
       64 
     | 
    
         
            -
                  !!LAT_LON_REGEX.match(strip_whitespace(line))
         
     | 
| 
      
 64 
     | 
    
         
            +
                  !!LAT_LON_REGEX.match(strip_whitespace(line.gsub(/\t/, ",")))
         
     | 
| 
       65 
65 
     | 
    
         
             
                end
         
     | 
| 
       66 
66 
     | 
    
         | 
| 
       67 
67 
     | 
    
         
             
                private
         
     | 
    
        data/lib/geoq/version.rb
    CHANGED
    
    
    
        data/test/commands_test.rb
    CHANGED
    
    | 
         @@ -9,11 +9,11 @@ module Geoq 
     | 
|
| 
       9 
9 
     | 
    
         
             
                  assert_equal "FeatureCollection", json["type"]
         
     | 
| 
       10 
10 
     | 
    
         
             
                  assert_equal ["type", "features"].sort, json.keys.sort
         
     | 
| 
       11 
11 
     | 
    
         
             
                  features = json["features"]
         
     | 
| 
       12 
     | 
    
         
            -
                  assert_equal  
     | 
| 
      
 12 
     | 
    
         
            +
                  assert_equal 7, features.count
         
     | 
| 
       13 
13 
     | 
    
         | 
| 
       14 
     | 
    
         
            -
                  assert_equal ["Polygon", "Point", "Point", "Point", "Point", "Point"], features.map { |f| f["geometry"]["type"] }
         
     | 
| 
      
 14 
     | 
    
         
            +
                  assert_equal ["Polygon", "Point", "Point", "Point", "Point", "Point", "Point"], features.map { |f| f["geometry"]["type"] }
         
     | 
| 
       15 
15 
     | 
    
         
             
                  # encodes properties
         
     | 
| 
       16 
     | 
    
         
            -
                  assert_equal [{}, {}, {}, {"a" => "b"}, {}, {"a" => "b"}], features.map { |f| f["properties"] }
         
     | 
| 
      
 16 
     | 
    
         
            +
                  assert_equal [{}, {}, {}, {"a" => "b"}, {}, {}, {"a" => "b"}], features.map { |f| f["properties"] }
         
     | 
| 
       17 
17 
     | 
    
         
             
                  assert_equal Hash.new, features[0]["properties"]
         
     | 
| 
       18 
18 
     | 
    
         
             
                  assert_equal Hash.new, features[1]["properties"]
         
     | 
| 
       19 
19 
     | 
    
         
             
                  assert_equal Hash.new, features[2]["properties"]
         
     | 
| 
         @@ -21,7 +21,7 @@ module Geoq 
     | 
|
| 
       21 
21 
     | 
    
         | 
| 
       22 
22 
     | 
    
         | 
| 
       23 
23 
     | 
    
         
             
                  gh = [[[-119.53125, 33.75], [-118.125, 33.75], [-118.125, 35.15625], [-119.53125, 35.15625], [-119.53125, 33.75]]]
         
     | 
| 
       24 
     | 
    
         
            -
                  assert_equal [gh, [0.0,1.0], [1.0, 2.0], [3.0, 4.0], [-118.3, 34.52], [3.0, 4.0]], features.map { |f| f["geometry"]["coordinates"] }
         
     | 
| 
      
 24 
     | 
    
         
            +
                  assert_equal [gh, [0.0,1.0], [1.0, 2.0], [3.0, 4.0], [-118.3, 34.52], [-45.3, 18.3], [3.0, 4.0]], features.map { |f| f["geometry"]["coordinates"] }
         
     | 
| 
       25 
25 
     | 
    
         
             
                end
         
     | 
| 
       26 
26 
     | 
    
         | 
| 
       27 
27 
     | 
    
         
             
                def test_feature_collection_given_feature_collection
         
     | 
    
        data/test/geom_reader_test.rb
    CHANGED
    
    | 
         @@ -38,6 +38,9 @@ module Geoq 
     | 
|
| 
       38 
38 
     | 
    
         
             
                  assert reader.latlon?("0, 0")
         
     | 
| 
       39 
39 
     | 
    
         
             
                  assert reader.latlon?("123.456,98.2")
         
     | 
| 
       40 
40 
     | 
    
         
             
                  assert reader.latlon?("  -123.456,-98.2 ")
         
     | 
| 
      
 41 
     | 
    
         
            +
                  assert reader.latlon?("123.456	98.2")
         
     | 
| 
      
 42 
     | 
    
         
            +
                  assert reader.latlon?("123.456\t98.2")
         
     | 
| 
      
 43 
     | 
    
         
            +
                  assert reader.decode("34\t-118").first.is_a?(LatLon)
         
     | 
| 
       41 
44 
     | 
    
         
             
                end
         
     | 
| 
       42 
45 
     | 
    
         | 
| 
       43 
46 
     | 
    
         
             
                def test_correct_lat_lon_ordering
         
     | 
    
        data/test/test_helper.rb
    CHANGED
    
    | 
         @@ -28,6 +28,7 @@ module Geoq::TestData 
     | 
|
| 
       28 
28 
     | 
    
         
             
                          "POINT (1.0 2.0)",
         
     | 
| 
       29 
29 
     | 
    
         
             
                          {type: "Feature", properties: {a: "b"}, geometry: {type: "Point", coordinates: [3,4]}}.to_json,
         
     | 
| 
       30 
30 
     | 
    
         
             
                          "34.52,-118.3",
         
     | 
| 
      
 31 
     | 
    
         
            +
                          "18.3\t-45.3",
         
     | 
| 
       31 
32 
     | 
    
         
             
                          {type: "FeatureCollection", features: [{type: "Feature", properties: {a: "b"}, geometry: {type: "Point", coordinates: [3,4]}}]}.to_json]
         
     | 
| 
       32 
33 
     | 
    
         
             
                stream(inputs)
         
     | 
| 
       33 
34 
     | 
    
         
             
              end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: geoq
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.0.3
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Horace Williams
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2018-06- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2018-06-14 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: rake
         
     | 
| 
         @@ -202,7 +202,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       202 
202 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       203 
203 
     | 
    
         
             
            requirements: []
         
     | 
| 
       204 
204 
     | 
    
         
             
            rubyforge_project: 
         
     | 
| 
       205 
     | 
    
         
            -
            rubygems_version: 2. 
     | 
| 
      
 205 
     | 
    
         
            +
            rubygems_version: 2.5.1
         
     | 
| 
       206 
206 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       207 
207 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       208 
208 
     | 
    
         
             
            summary: geoq is a command-line utility for GIS format conversion and common GIS operations
         
     |