spatial_features 2.5.3 → 2.6.0

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
- SHA1:
3
- metadata.gz: f766538c6eab3f16deabfc99c389ac980c269369
4
- data.tar.gz: c067ba772247abae57fd42b67543dfc6d0eae7f4
2
+ SHA256:
3
+ metadata.gz: e0b2b5f1f4a01a3cf7c151b1130b6543a64dd8870a421409b18271f6eae819ed
4
+ data.tar.gz: f4cebe9b9fbf61c9496055b267832ed47a68de129bd5e49c0ca5a9405e325454
5
5
  SHA512:
6
- metadata.gz: 4787b48b20386bc4c7e1116a54a9a9aa22ba7132dd48c6286fea12f0ab3e77819ea0449fbf4be970415e6d5f6c04491ac54ac2f966b4b0de934e11ff5708a3a3
7
- data.tar.gz: 20863a80c4cd3d674d0bf58e3f83bd062836635d3ecc7c86f121aa34189303394d784419c902555f4331b64c84df588a7ab35d36d033041896a4673d8d9497b3
6
+ metadata.gz: 20d216c89711ad5659489cce22885c9eb03f8d854c4649752e6a31091ab8a9dd76ce33efc0e8e613eac1e03677eab387812f33d3a9dfadf87212b2cc3fe2cba6
7
+ data.tar.gz: cf184c10433efbcea9de73f70543c24f947ed532d682a1b4afec5ddb5123c048451170ed18fa93309e4b2f094c59b3573ddfddcafc8aa7c8935f6839ee6c6e0a
@@ -0,0 +1,33 @@
1
+ require 'ostruct'
2
+ require 'digest/md5'
3
+
4
+ module SpatialFeatures
5
+ module Importers
6
+ class JsonArcGIS < Base
7
+ def cache_key
8
+ @cache_key ||= Digest::MD5.hexdigest(features.to_json)
9
+ end
10
+
11
+ private
12
+
13
+ def each_record(&block)
14
+ json = esri_json_to_geojson(@data)
15
+ json['features'].each do |record|
16
+ yield OpenStruct.new(
17
+ :feature_type => record['geometry']['type'],
18
+ :geog => geom_from_json(record['geometry']),
19
+ :metadata => record['properties']
20
+ )
21
+ end
22
+ end
23
+
24
+ def esri_json_to_geojson(url)
25
+ JSON.parse(`ogr2ogr -f GeoJSON /dev/stdout "#{url}" OGRGeoJSON`)
26
+ end
27
+
28
+ def geom_from_json(geometry)
29
+ ActiveRecord::Base.connection.select_value("SELECT ST_GeomFromGeoJSON('#{geometry.to_json}')")
30
+ end
31
+ end
32
+ end
33
+ end
@@ -1,3 +1,3 @@
1
1
  module SpatialFeatures
2
- VERSION = "2.5.3"
2
+ VERSION = "2.6.0"
3
3
  end
@@ -30,6 +30,7 @@ require 'spatial_features/importers/file'
30
30
  require 'spatial_features/importers/kml'
31
31
  require 'spatial_features/importers/kml_file'
32
32
  require 'spatial_features/importers/kml_file_arcgis'
33
+ require 'spatial_features/importers/json_arcgis'
33
34
  require 'spatial_features/importers/geomark'
34
35
  require 'spatial_features/importers/shapefile'
35
36
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spatial_features
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.3
4
+ version: 2.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Wallace
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2018-07-24 00:00:00.000000000 Z
12
+ date: 2018-09-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -181,6 +181,7 @@ files:
181
181
  - lib/spatial_features/importers/base.rb
182
182
  - lib/spatial_features/importers/file.rb
183
183
  - lib/spatial_features/importers/geomark.rb
184
+ - lib/spatial_features/importers/json_arcgis.rb
184
185
  - lib/spatial_features/importers/kml.rb
185
186
  - lib/spatial_features/importers/kml_file.rb
186
187
  - lib/spatial_features/importers/kml_file_arcgis.rb
@@ -211,7 +212,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
211
212
  version: '0'
212
213
  requirements: []
213
214
  rubyforge_project:
214
- rubygems_version: 2.6.12
215
+ rubygems_version: 2.7.5
215
216
  signing_key:
216
217
  specification_version: 4
217
218
  summary: Adds spatial methods to a model.