adiwg-mdtranslator 2.0.0rc13 → 2.0.0
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 +4 -4
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/module_browseCategory.rb +47 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/module_budget.rb +79 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/module_contact.rb +248 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/module_date.rb +49 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/module_extent.rb +62 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/module_id.rb +10 -3
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/module_identifier.rb +17 -15
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/module_materialRequest.rb +72 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/module_parentId.rb +44 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/module_project.rb +48 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/module_publication.rb +77 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/module_sbJson.rb +90 -7
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/module_spatial.rb +56 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/module_tag.rb +125 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/module_webLinkDocument.rb +99 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/module_webLinkGraphic.rb +92 -0
- data/lib/adiwg/mdtranslator/version.rb +2 -1
- data/lib/adiwg/mdtranslator/writers/html/sections/html_bodyScript.js +6 -1
- data/lib/adiwg/mdtranslator/writers/html/sections/html_citation.rb +6 -2
- data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_fcFeatureCatalogue.rb +1 -2
- data/lib/adiwg/mdtranslator/writers/sbJson/sections/sbJson_budget.rb +29 -2
- data/lib/adiwg/mdtranslator/writers/sbJson/sections/sbJson_codelists.rb +0 -1
- data/lib/adiwg/mdtranslator/writers/sbJson/sections/sbJson_contact.rb +7 -1
- metadata +18 -22
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/Old/module_additionalDocumentation.rb +0 -52
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/Old/module_boundingBox.rb +0 -54
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/Old/module_browseGraphic.rb +0 -66
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/Old/module_citation.rb +0 -125
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/Old/module_contacts.rb +0 -143
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/Old/module_dateTime.rb +0 -31
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/Old/module_distributionInfo.rb +0 -64
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/Old/module_extent.rb +0 -61
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/Old/module_geoCoordSystem.rb +0 -50
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/Old/module_geoProperties.rb +0 -91
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/Old/module_geographicElement.rb +0 -161
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/Old/module_metadata.rb +0 -75
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/Old/module_metadataInfo.rb +0 -130
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/Old/module_onlineResource.rb +0 -71
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/Old/module_resourceIdentifier.rb +0 -73
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/Old/module_resourceInfo.rb +0 -437
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/Old/module_responsibleParty.rb +0 -53
@@ -1,31 +0,0 @@
|
|
1
|
-
require 'adiwg/mdtranslator/internal/module_dateTimeFun'
|
2
|
-
|
3
|
-
module ADIWG
|
4
|
-
module Mdtranslator
|
5
|
-
module Readers
|
6
|
-
module SbJson
|
7
|
-
|
8
|
-
module SbDateTime
|
9
|
-
|
10
|
-
def self.unpack(sDateTime, responseObj)
|
11
|
-
|
12
|
-
# instance classes needed in script
|
13
|
-
intMetadataClass = InternalMetadata.new
|
14
|
-
|
15
|
-
# dateTime
|
16
|
-
intDateTime = intMetadataClass.newDateTime
|
17
|
-
|
18
|
-
aDateTimeReturn = AdiwgDateTimeFun.dateTimeFromString(sDateTime)
|
19
|
-
intDateTime[:dateTime] = aDateTimeReturn[0]
|
20
|
-
intDateTime[:dateResolution] = aDateTimeReturn[1]
|
21
|
-
|
22
|
-
return intDateTime
|
23
|
-
|
24
|
-
end
|
25
|
-
|
26
|
-
end
|
27
|
-
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
@@ -1,64 +0,0 @@
|
|
1
|
-
require 'uri'
|
2
|
-
require ADIWG::Mdtranslator::Readers::SbJson.readerModule('module_responsibleParty')
|
3
|
-
|
4
|
-
module ADIWG
|
5
|
-
module Mdtranslator
|
6
|
-
module Readers
|
7
|
-
module SbJson
|
8
|
-
module DistributionInfo
|
9
|
-
def self.unpack(hDistributor, responseObj, intObj)
|
10
|
-
# instance classes needed in script
|
11
|
-
intMetadataClass = InternalMetadata.new
|
12
|
-
intDistributor = intMetadataClass.newDistributor
|
13
|
-
|
14
|
-
# distributor - distribution contact - required
|
15
|
-
# We're just injecting the first SB contact here
|
16
|
-
# with a a role of "distributor", if none just use
|
17
|
-
# the default SB contact
|
18
|
-
aCust = {}
|
19
|
-
dist = intObj[:contacts].find { |c| c[:primaryRole] == 'Distributor' }
|
20
|
-
|
21
|
-
unless dist.nil?
|
22
|
-
aCust['contactId'] = dist[:contactId]
|
23
|
-
aCust['role'] = 'distributor'
|
24
|
-
else
|
25
|
-
aCust['contactId'] = 'SB'
|
26
|
-
aCust['role'] = 'distributor'
|
27
|
-
end
|
28
|
-
intDistributor[:distContact] = ResponsibleParty.unpack(aCust, responseObj)
|
29
|
-
|
30
|
-
# distributor - distribution order process
|
31
|
-
if hDistributor.key?('materialRequestInstructions')
|
32
|
-
aDistOrder = hDistributor['materialRequestInstructions']
|
33
|
-
unless aDistOrder.empty?
|
34
|
-
intDistOrder = intMetadataClass.newDistOrder
|
35
|
-
intDistOrder[:orderInstructions] = hDistributor['materialRequestInstructions']
|
36
|
-
intDistributor[:distOrderProcs] << intDistOrder
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
# distributor - distribution transfer options
|
41
|
-
if hDistributor.key?('distributionLinks')
|
42
|
-
aDistTransOpt = hDistributor['distributionLinks']
|
43
|
-
unless aDistTransOpt.empty?
|
44
|
-
options = intMetadataClass.newDigitalTransOption
|
45
|
-
aDistTransOpt.each do |opt|
|
46
|
-
aOpt = intMetadataClass.newOnlineResource
|
47
|
-
aOpt[:olResURI] = opt['uri']
|
48
|
-
aOpt[:olResProtocol] = URI.parse(opt['uri']).scheme
|
49
|
-
aOpt[:olResName] = opt['title']
|
50
|
-
aOpt[:olResDesc] = opt['typeLabel']
|
51
|
-
aOpt[:olResFunction] = 'information'
|
52
|
-
options[:online] << aOpt
|
53
|
-
end
|
54
|
-
intDistributor[:distTransOptions] << options
|
55
|
-
end
|
56
|
-
end
|
57
|
-
|
58
|
-
intDistributor
|
59
|
-
end
|
60
|
-
end
|
61
|
-
end
|
62
|
-
end
|
63
|
-
end
|
64
|
-
end
|
@@ -1,61 +0,0 @@
|
|
1
|
-
require ADIWG::Mdtranslator::Readers::SbJson.readerModule('module_geographicElement')
|
2
|
-
#require ADIWG::Mdtranslator::Readers::SbJson.readerModule('module_temporalElement')
|
3
|
-
#require ADIWG::Mdtranslator::Readers::SbJson.readerModule('module_verticalElement')
|
4
|
-
|
5
|
-
module ADIWG
|
6
|
-
module Mdtranslator
|
7
|
-
module Readers
|
8
|
-
module SbJson
|
9
|
-
|
10
|
-
module Extent
|
11
|
-
|
12
|
-
def self.unpack(hExtent, responseObj)
|
13
|
-
|
14
|
-
# instance classes needed in script
|
15
|
-
intMetadataClass = InternalMetadata.new
|
16
|
-
intExtent = intMetadataClass.newExtent
|
17
|
-
|
18
|
-
# extent - description
|
19
|
-
if hExtent.has_key?('description')
|
20
|
-
s = hExtent['description']
|
21
|
-
if s != ''
|
22
|
-
intExtent[:extDesc] = s
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
# extent - geographic elements
|
27
|
-
if hExtent.has_key?('geographicElement')
|
28
|
-
aGeoElements = hExtent['geographicElement']
|
29
|
-
unless aGeoElements.empty?
|
30
|
-
intExtent[:extGeoElements] = GeographicElement.unpack(aGeoElements, responseObj)
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
# extent - temporal elements
|
35
|
-
# if hExtent.has_key?('temporalElement')
|
36
|
-
# hTempElement = hExtent['temporalElement']
|
37
|
-
# unless hTempElement.empty?
|
38
|
-
# intExtent[:extTempElements] = TemporalElement.unpack(hTempElement, responseObj)
|
39
|
-
# end
|
40
|
-
# end
|
41
|
-
#
|
42
|
-
# # extent - vertical elements
|
43
|
-
# if hExtent.has_key?('verticalElement')
|
44
|
-
# aVertElements = hExtent['verticalElement']
|
45
|
-
# unless aVertElements.empty?
|
46
|
-
# aVertElements.each do |hVertElement|
|
47
|
-
# intExtent[:extVertElements] << VerticalElement.unpack(hVertElement, responseObj)
|
48
|
-
# end
|
49
|
-
# end
|
50
|
-
# end
|
51
|
-
|
52
|
-
return intExtent
|
53
|
-
|
54
|
-
end
|
55
|
-
|
56
|
-
end
|
57
|
-
|
58
|
-
end
|
59
|
-
end
|
60
|
-
end
|
61
|
-
end
|
@@ -1,50 +0,0 @@
|
|
1
|
-
module ADIWG
|
2
|
-
module Mdtranslator
|
3
|
-
module Readers
|
4
|
-
module SbJson
|
5
|
-
|
6
|
-
module GeoCoordSystem
|
7
|
-
|
8
|
-
def self.unpack(hGeoCrs, intElement, responseObj)
|
9
|
-
|
10
|
-
intMetadataClass = InternalMetadata.new
|
11
|
-
intSRS = intMetadataClass.newSRS
|
12
|
-
|
13
|
-
# get coordinate reference system
|
14
|
-
# null crs will default to CRS84 in writer
|
15
|
-
if hGeoCrs.has_key?('properties')
|
16
|
-
hCRSProp = hGeoCrs['properties']
|
17
|
-
|
18
|
-
if hCRSProp.has_key?('name')
|
19
|
-
s = hCRSProp['name']
|
20
|
-
if s != ''
|
21
|
-
intSRS[:srsName] = s
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
if hCRSProp.has_key?('href')
|
26
|
-
s = hCRSProp['href']
|
27
|
-
if s != ''
|
28
|
-
intSRS[:srsHref] = s
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
if hCRSProp.has_key?('type')
|
33
|
-
s = hCRSProp['type']
|
34
|
-
if s != ''
|
35
|
-
intSRS[:srsType] = s
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
|
-
intElement[:elementSrs] = intSRS
|
40
|
-
|
41
|
-
end
|
42
|
-
|
43
|
-
end
|
44
|
-
|
45
|
-
end
|
46
|
-
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
@@ -1,91 +0,0 @@
|
|
1
|
-
#require ADIWG::Mdtranslator::Readers::SbJson.readerModule('module_temporalElement')
|
2
|
-
#require ADIWG::Mdtranslator::Readers::SbJson.readerModule('module_verticalElement')
|
3
|
-
#require ADIWG::Mdtranslator::Readers::SbJson.readerModule('module_resourceIdentifier')
|
4
|
-
|
5
|
-
module ADIWG
|
6
|
-
module Mdtranslator
|
7
|
-
module Readers
|
8
|
-
module SbJson
|
9
|
-
|
10
|
-
module GeoProperties
|
11
|
-
|
12
|
-
def self.unpack(hGeoProps, intElement, responseObj)
|
13
|
-
|
14
|
-
# set element extent - (default true)
|
15
|
-
intElement[:elementIncludeData] = true
|
16
|
-
if hGeoProps.has_key?('includesData')
|
17
|
-
if !hGeoProps['includesData']
|
18
|
-
intElement[:elementIncludeData] = false
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
# set element feature name
|
23
|
-
if hGeoProps.has_key?('featureName')
|
24
|
-
s = hGeoProps['featureName']
|
25
|
-
if s != ''
|
26
|
-
intElement[:elementName] = s
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
# set element description
|
31
|
-
if hGeoProps.has_key?('description')
|
32
|
-
s = hGeoProps['description']
|
33
|
-
if s != ''
|
34
|
-
intElement[:elementDescription] = s
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
|
-
# # set temporal information
|
39
|
-
# if hGeoProps.has_key?('temporalElement')
|
40
|
-
# hTempEle = hGeoProps['temporalElement']
|
41
|
-
# unless hTempEle.empty?
|
42
|
-
# intElement[:temporalElements] = TemporalElement.unpack(hTempEle, responseObj)
|
43
|
-
# end
|
44
|
-
# end
|
45
|
-
#
|
46
|
-
# # set vertical information
|
47
|
-
# if hGeoProps.has_key?('verticalElement')
|
48
|
-
# aVertEle = hGeoProps['verticalElement']
|
49
|
-
# unless aVertEle.empty?
|
50
|
-
# aVertEle.each do |hVertEle|
|
51
|
-
# intElement[:verticalElements] << VerticalElement.unpack(hVertEle, responseObj)
|
52
|
-
# end
|
53
|
-
# end
|
54
|
-
# end
|
55
|
-
#
|
56
|
-
# # set other assigned IDs
|
57
|
-
# if hGeoProps.has_key?('identifier')
|
58
|
-
# aResIds = hGeoProps['identifier']
|
59
|
-
# unless aResIds.empty?
|
60
|
-
# aResIds.each do |hIdentifier|
|
61
|
-
# intElement[:elementIdentifiers] << ResourceIdentifier.unpack(hIdentifier, responseObj)
|
62
|
-
# end
|
63
|
-
# end
|
64
|
-
# end
|
65
|
-
#
|
66
|
-
# # set feature scope
|
67
|
-
# if hGeoProps.has_key?('featureScope')
|
68
|
-
# s = hGeoProps['featureScope']
|
69
|
-
# if s != ''
|
70
|
-
# intElement[:elementScope] = s
|
71
|
-
# end
|
72
|
-
# end
|
73
|
-
#
|
74
|
-
# # set feature acquisition methodology
|
75
|
-
# if hGeoProps.has_key?('featureAcquisitionMethod')
|
76
|
-
# s = hGeoProps['featureAcquisitionMethod']
|
77
|
-
# if s != ''
|
78
|
-
# intElement[:elementAcquisition] = s
|
79
|
-
# end
|
80
|
-
# end
|
81
|
-
|
82
|
-
return intElement
|
83
|
-
|
84
|
-
end
|
85
|
-
|
86
|
-
end
|
87
|
-
|
88
|
-
end
|
89
|
-
end
|
90
|
-
end
|
91
|
-
end
|
@@ -1,161 +0,0 @@
|
|
1
|
-
require ADIWG::Mdtranslator::Readers::SbJson.readerModule('module_geoCoordSystem')
|
2
|
-
require ADIWG::Mdtranslator::Readers::SbJson.readerModule('module_geoProperties')
|
3
|
-
require ADIWG::Mdtranslator::Readers::SbJson.readerModule('module_boundingBox')
|
4
|
-
#require ADIWG::Mdtranslator::Readers::SbJson.readerModule('module_point')
|
5
|
-
#require ADIWG::Mdtranslator::Readers::SbJson.readerModule('module_lineString')
|
6
|
-
#require ADIWG::Mdtranslator::Readers::SbJson.readerModule('module_polygon')
|
7
|
-
|
8
|
-
module ADIWG
|
9
|
-
module Mdtranslator
|
10
|
-
module Readers
|
11
|
-
module SbJson
|
12
|
-
|
13
|
-
module GeographicElement
|
14
|
-
|
15
|
-
def self.unpack(aGeoElements, responseObj)
|
16
|
-
|
17
|
-
# only one geometry is allowed per geographic element.
|
18
|
-
# ... in GeoJSON each geometry is allowed a bounding box;
|
19
|
-
# ... This code splits bounding boxes to separate elements
|
20
|
-
|
21
|
-
# instance classes needed in script
|
22
|
-
aIntGeoEle = Array.new
|
23
|
-
|
24
|
-
aGeoElements.each do |hGeoJsonElement|
|
25
|
-
|
26
|
-
# instance classes needed in script
|
27
|
-
intMetadataClass = InternalMetadata.new
|
28
|
-
hGeoElement = intMetadataClass.newGeoElement
|
29
|
-
|
30
|
-
# find geographic element type
|
31
|
-
if hGeoJsonElement.has_key?('type')
|
32
|
-
elementType = hGeoJsonElement['type']
|
33
|
-
else
|
34
|
-
# invalid geographic element
|
35
|
-
return nil
|
36
|
-
end
|
37
|
-
|
38
|
-
# set geographic element id
|
39
|
-
if hGeoJsonElement.has_key?('id')
|
40
|
-
s = hGeoJsonElement['id']
|
41
|
-
if s != ''
|
42
|
-
hGeoElement[:elementId] = s
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
# set geographic element coordinate reference system - CRS
|
47
|
-
if hGeoJsonElement.has_key?('crs')
|
48
|
-
hGeoCrs = hGeoJsonElement['crs']
|
49
|
-
GeoCoordSystem.unpack(hGeoCrs, hGeoElement, responseObj)
|
50
|
-
end
|
51
|
-
|
52
|
-
# set geographic element properties
|
53
|
-
if hGeoJsonElement.has_key?('properties')
|
54
|
-
hGeoProps = hGeoJsonElement['properties']
|
55
|
-
GeoProperties.unpack(hGeoProps, hGeoElement, responseObj)
|
56
|
-
end
|
57
|
-
|
58
|
-
# process geographic element bounding box
|
59
|
-
# the bounding box must be represented as a separate geographic element for ISO
|
60
|
-
# need to make a deep copy of current state of geographic element for bounding box
|
61
|
-
if hGeoJsonElement.has_key?('bbox')
|
62
|
-
if hGeoJsonElement['bbox'].length == 4
|
63
|
-
aBBox = hGeoJsonElement['bbox']
|
64
|
-
|
65
|
-
boxElement = Marshal.load(Marshal.dump(hGeoElement))
|
66
|
-
boxElement[:elementGeometry] = BoundingBox.unpack(aBBox, responseObj)
|
67
|
-
|
68
|
-
aIntGeoEle << boxElement
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|
72
|
-
# unpack geographic element
|
73
|
-
case elementType
|
74
|
-
|
75
|
-
# GeoJSON Features
|
76
|
-
when 'Feature'
|
77
|
-
if hGeoJsonElement.has_key?('geometry')
|
78
|
-
hGeometry = hGeoJsonElement['geometry']
|
79
|
-
|
80
|
-
# geoJSON requires geometry to be 'null' when geometry is bounding box only
|
81
|
-
# JSON null converts in parsing to ruby nil
|
82
|
-
unless hGeometry.nil?
|
83
|
-
unless hGeometry.empty?
|
84
|
-
if hGeometry.has_key?('type')
|
85
|
-
geometryType = hGeometry['type']
|
86
|
-
aCoordinates = hGeometry['coordinates']
|
87
|
-
unless aCoordinates.empty?
|
88
|
-
case geometryType
|
89
|
-
when 'Point', 'MultiPoint'
|
90
|
-
hGeoElement[:elementGeometry] = ADIWG::Mdtranslator::Point.unpack(aCoordinates, geometryType, responseObj)
|
91
|
-
when 'LineString', 'MultiLineString'
|
92
|
-
hGeoElement[:elementGeometry] = ADIWG::Mdtranslator::LineString.unpack(aCoordinates, geometryType, responseObj)
|
93
|
-
when 'Polygon', 'MultiPolygon'
|
94
|
-
hGeoElement[:elementGeometry] = Polygon.unpack(aCoordinates, geometryType, responseObj)
|
95
|
-
else
|
96
|
-
# log - the GeoJSON geometry type is not supported
|
97
|
-
end
|
98
|
-
aIntGeoEle << hGeoElement
|
99
|
-
end
|
100
|
-
end
|
101
|
-
end
|
102
|
-
end
|
103
|
-
|
104
|
-
end
|
105
|
-
|
106
|
-
# GeoJSON Feature Collection
|
107
|
-
when 'FeatureCollection'
|
108
|
-
if hGeoJsonElement.has_key?('features')
|
109
|
-
aFeatures = hGeoJsonElement['features']
|
110
|
-
unless aFeatures.empty?
|
111
|
-
intGeometry = intMetadataClass.newGeometry
|
112
|
-
intGeometry[:geoType] = 'MultiGeometry'
|
113
|
-
intGeometry[:geometry] = GeographicElement.unpack(aFeatures, responseObj)
|
114
|
-
hGeoElement[:elementGeometry] = intGeometry
|
115
|
-
aIntGeoEle << hGeoElement
|
116
|
-
end
|
117
|
-
end
|
118
|
-
|
119
|
-
# GeoJSON Geometries
|
120
|
-
when 'Point', 'MultiPoint'
|
121
|
-
aCoordinates = hGeoJsonElement['coordinates']
|
122
|
-
hGeoElement[:elementGeometry] = ADIWG::Mdtranslator::Point.unpack(aCoordinates, elementType, responseObj)
|
123
|
-
aIntGeoEle << hGeoElement
|
124
|
-
|
125
|
-
when 'LineString', 'MultiLineString'
|
126
|
-
aCoordinates = hGeoJsonElement['coordinates']
|
127
|
-
hGeoElement[:elementGeometry] = ADIWG::Mdtranslator::LineString.unpack(aCoordinates, elementType, responseObj)
|
128
|
-
aIntGeoEle << hGeoElement
|
129
|
-
|
130
|
-
when 'Polygon', 'MultiPolygon'
|
131
|
-
aCoordinates = hGeoJsonElement['coordinates']
|
132
|
-
hGeoElement[:elementGeometry] = Polygon.unpack(aCoordinates, elementType, responseObj)
|
133
|
-
aIntGeoEle << hGeoElement
|
134
|
-
|
135
|
-
# GeoJSON Geometry Collection
|
136
|
-
when 'GeometryCollection'
|
137
|
-
if hGeoJsonElement.has_key?('geometries')
|
138
|
-
aGeometries = hGeoJsonElement['geometries']
|
139
|
-
unless aGeometries.empty?
|
140
|
-
intGeometry = intMetadataClass.newGeometry
|
141
|
-
intGeometry[:geoType] = 'MultiGeometry'
|
142
|
-
intGeometry[:geometry] = GeographicElement.unpack(aGeometries, responseObj)
|
143
|
-
hGeoElement[:elementGeometry] = intGeometry
|
144
|
-
aIntGeoEle << hGeoElement
|
145
|
-
end
|
146
|
-
end
|
147
|
-
|
148
|
-
end
|
149
|
-
|
150
|
-
end
|
151
|
-
|
152
|
-
return aIntGeoEle
|
153
|
-
|
154
|
-
end
|
155
|
-
|
156
|
-
end
|
157
|
-
|
158
|
-
end
|
159
|
-
end
|
160
|
-
end
|
161
|
-
end
|