Sha256: d3764aae316143b82e3e095adbd8739e9837b68c56662e9aaba98a566b5303f1
Contents?: true
Size: 1.51 KB
Versions: 3
Compression:
Stored size: 1.51 KB
Contents
using AIXM::Refinements module AIXM module Component class Geometry # Borders are following natural or artifical border lines referenced by # {#name} and starting at {#xy}. # # ===Cheat Sheet in Pseudo Code: # border = AIXM.border( # xy: AIXM.xy # name: String # ) # # @see https://gitlab.com/openflightmaps/ofmx/wikis/Airspace#frontier class Border < Point include AIXM::Memoize # @return [String] name of the border attr_reader :name def initialize(xy:, name:) super(xy: xy) self.name = name end # @return [String] def inspect %Q(#<#{self.class} xy="#{xy}" name=#{name.inspect}>) end def name=(value) fail(ArgumentError, "invalid name") unless value.is_a? String @name = value end # @return [String] UID markup def to_uid(as: :GbrUid) builder = Builder::XmlMarkup.new(indent: 2) builder.tag!(as) do |tag| tag.txtName(name.to_s) end end memoize :to_uid # @return [String] AIXM or OFMX markup def to_xml builder = Builder::XmlMarkup.new(indent: 2) builder.Avx do |avx| avx << to_uid.indent(2) avx.codeType('FNT') avx.geoLat(xy.lat(AIXM.schema)) avx.geoLong(xy.long(AIXM.schema)) avx.codeDatum('WGE') end end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
aixm-1.0.0 | lib/aixm/component/geometry/border.rb |
aixm-0.3.11 | lib/aixm/component/geometry/border.rb |
aixm-0.3.10 | lib/aixm/component/geometry/border.rb |