Sha256: ce23ab0cce094112b1c11bc97fbcfb76e1acf3079268fae667fe12da33c32e87
Contents?: true
Size: 1.72 KB
Versions: 2
Compression:
Stored size: 1.72 KB
Contents
require 'json' module OGR module LayerMixins # Methods not part of the C Layer API. module Extensions # @return [Array<OGR::Feature>] def features return [] if feature_count.zero? feature_list = feature_count.times.map do |i| feature(i) end @features = feature_list end # @return [OGR::Geometry] A convex hull geometry derived from a LineString # that connects the 4 bounding box points (from the extent). def geometry_from_extent sr = spatial_reference geometry = OGR::Geometry.create(:wkbLineString) geometry.spatial_reference = sr geometry.add_point(extent.x_min, extent.y_min) geometry.add_point(extent.x_min, extent.y_max) geometry.add_point(extent.x_max, extent.y_max) geometry.add_point(extent.x_max, extent.y_min) geometry.add_point(extent.x_min, extent.y_min) geometry.convex_hull end # @return [Hash] def as_json(options = nil) { layer: { extent: extent.as_json(options), feature_count: feature_count, feature_definition: feature_definition.as_json(options), features: features.map(&:as_json), fid_column: fid_column, geometry_column: geometry_column, geometry_type: geometry_type, name: name, spatial_reference: spatial_reference ? spatial_reference.as_json(options) : nil, style_table: style_table ? style_table.as_json(options) : nil }, metadata: nil # all_metadata } end # @return [String] def to_json(options = nil) as_json(options).to_json end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ffi-gdal-1.0.0.beta5 | lib/ogr/layer_mixins/extensions.rb |
ffi-gdal-1.0.0.beta4 | lib/ogr/layer_mixins/extensions.rb |