require 'voruby/resources/sia/loader' require 'voruby/resources/voresource/voresource_v0_10' require 'voruby/resources/vodataservice/vodataservice_v0_5' include VORuby::Resources::VOResource::V0_10 include VORuby::Resources::VODataService::V0_5 module VORuby module Resources module SIA module V0_7 # Forward declarations class SimpleImageAccess < TabularSkyService; end class SIACapRestriction < Capability; end class SIACapability < SIACapRestriction; end class SkySize; end class ImageSize; end class ImageServiceType; end # The capabilities of an SIA implementation. It includes # the listing of the columns that appear in image query # output VOTable and SIA-specific metadata. class SimpleImageAccess # a description of the behavior and limitations of the SIA implementation object_node :capability, 'capability', :class => SIACapability, :optional => false end # An abstract capability that sets the standardURL to the ConeSearch standard definition, class SIACapRestriction object_node :standard_id, '@standardID', :class => IdentifierURI, :optional => true object_node :standard_url, '@standardURL', :class => AnyURI, :optional => true, :default_value => 'http://www.us-vo.org/metadata/sia.html' end # The capabilities of an SIA implementation. class SIACapability # the class of image service: Cutout, Mosaic, Atlas, Pointed object_node :image_service_type, 'imageServiceType', :class => ImageServiceType, :optional => false # the maximum image query region size, expressed in # decimal degrees. A value of 360 degrees indicates that # there is no limit and the entire data collection # (entire sky) can be queried. object_node :max_query_region_size, 'maxQueryRegionSize', :class => SkySize, :optional => false # the maximum image query region size, expressed in # decimal degrees. A value of 360 degrees indicates # that there is no limit and the entire data collection # (entire sky) can be requested. object_node :max_image_extent, 'maxImageExtent', :class => SkySize, :optional => false # the largest image (in terms of pixels) that can be requested. object_node :max_image_size, 'maxImageSize', :class => ImageSize, :optional => false # the maximum image file size in bytes numeric_node :max_file_size, 'maxFileSize', :optional => false # the largest number of records that the Image Query web method will return numeric_node :max_records, 'maxRecords', :optional => false end class SkySize include XML::Mapping # the maximum size in the longitude (R.A.) direction numeric_node :long, 'long', :optional => false # the maximum size in the latitdude (Dec.) direction numeric_node :lat, 'lat', :optional => false end class ImageSize include XML::Mapping # the image size in the longitude (R.A.) direction in pixels numeric_node :long, 'long', :optional => false # the image size in the latitdude (Dec.) direction in pixels numeric_node :lat, 'lat', :optional => false end # the class of image service: Cutout, Mosaic, Atlas, Pointed class ImageServiceType include XML::Mapping text_enumeration_node :value, '', :optional => false, :choices => ['Cutout', 'Mosaic', 'Atlas', 'Pointed'] end end end end end