spatial_features 2.5.3 → 2.6.0

Sign up to get free protection for your applications and to get access to all the features.
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.