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 +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.
|