spatial_features 2.10.7 → 2.10.8

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
2
  SHA256:
3
- metadata.gz: e62668e5118907b61af7d07274b1e136086f9aa920b8bcbc3a415fd7ce1d7846
4
- data.tar.gz: '090b0a6b28286e52c57079b4e51250c10280b9a185c938b055696607f7ac61be'
3
+ metadata.gz: e304bd5be296e4094c384df03f72117452bce5bafc5364dd3277c9826c374f28
4
+ data.tar.gz: d0bddea53fc9210bbc192160c490b7ba8b85dcafc8ee6dc238f8f8f8d4ea6a43
5
5
  SHA512:
6
- metadata.gz: '0293f1342cf5dd4f23c311d4efe555b74e2e0805ce31c35f8e5f711613415a065a23a3105622204358201ef5dac8f60a98bd66de66aebc3da1ed29954f4cca9d'
7
- data.tar.gz: 357e67c32a156fa8fd3ed6d67edfaddde398346babc4f384c3e7ec41b77a5b28cdb215b49021bebe948c27f57ea1f95ac9889caa9f0ba6bce5cf5556b62f4e6a
6
+ metadata.gz: bef25168be8628a563a5aff4026c3dd3de26ba5cbcd82ed6b3de155bfed59d6e8ac72af4f05b8a12f3755125772732fe14238f5ea9daccc6d62bfb8fc9739311
7
+ data.tar.gz: 9f0969a84cd00fca613384cbf8dfdd5989421de2b63c56db600729f94dc5c65a6333ba96dd99377b9339823bca8657fd7eaa51e1aff91abb8bfcd34bb3db9cb0
@@ -143,10 +143,6 @@ class AbstractFeature < ActiveRecord::Base
143
143
  @make_valid
144
144
  end
145
145
 
146
- def wkt
147
- ActiveRecord::Base.connection.select_value("SELECT ST_ASEWKT('#{geom}')")
148
- end
149
-
150
146
  private
151
147
 
152
148
  def make_valid
@@ -14,10 +14,8 @@ class AggregateFeature < AbstractFeature
14
14
  SQL
15
15
 
16
16
  # Remove empty features so ST_COLLECT doesn't choke. This seems to be a difference between PostGIS 2.x and 3.x
17
- # NOTE: ST_CollectionHomogenize is used to normalize geometry representation in order to avoid a segmentation fault
18
- # we were seeing when intersecting complex geometry.
19
17
  self.geog = ActiveRecord::Base.connection.select_value <<~SQL
20
- SELECT COALESCE(ST_CollectionHomogenize(ST_Collect(unnest))::geography, ST_GeogFromText('MULTIPOLYGON EMPTY'))
18
+ SELECT COALESCE(ST_Collect(unnest)::geography, ST_GeogFromText('MULTIPOLYGON EMPTY'))
21
19
  FROM (SELECT unnest(#{feature_array_sql})) AS features
22
20
  WHERE NOT ST_IsEmpty(unnest)
23
21
  SQL
@@ -131,7 +131,7 @@ module SpatialFeatures
131
131
  scope = scope.select(options[:columns])
132
132
 
133
133
  scope = scope.select("ST_Distance(features.geom, other_features.geom) AS distance_in_meters") if options[:distance]
134
- scope = scope.select("ST_Area(ST_Intersection(features.geom, other_features.geom)) AS intersection_area_in_square_meters") if options[:intersection_area]
134
+ scope = scope.select("ST_Area(ST_Intersection(ST_CollectionExtract(features.geom, 3), ST_CollectionExtract(other_features.geom, 3))) AS intersection_area_in_square_meters") if options[:intersection_area] # Use ST_CollectionExtract to avoid a segfault we've been seeing when intersecting certain geometry
135
135
 
136
136
  return scope
137
137
  end
@@ -1,3 +1,3 @@
1
1
  module SpatialFeatures
2
- VERSION = "2.10.7"
2
+ VERSION = "2.10.8"
3
3
  end
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.10.7
4
+ version: 2.10.8
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: 2020-05-23 00:00:00.000000000 Z
12
+ date: 2020-05-28 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails