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 +5 -5
- data/lib/spatial_features/importers/json_arcgis.rb +33 -0
- data/lib/spatial_features/version.rb +1 -1
- data/lib/spatial_features.rb +1 -0
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: e0b2b5f1f4a01a3cf7c151b1130b6543a64dd8870a421409b18271f6eae819ed
|
4
|
+
data.tar.gz: f4cebe9b9fbf61c9496055b267832ed47a68de129bd5e49c0ca5a9405e325454
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
data/lib/spatial_features.rb
CHANGED
@@ -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.
|
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-
|
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.
|
215
|
+
rubygems_version: 2.7.5
|
215
216
|
signing_key:
|
216
217
|
specification_version: 4
|
217
218
|
summary: Adds spatial methods to a model.
|