22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
# File 'lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_lineString.rb', line 22
def writeXML(hGeoObject, hProperties, lineId)
geoPropClass = FeatureProperties.new(@xml, @hResponseObj)
attributes = {}
if lineId.nil?
@hResponseObj[:writerMissingIdCount] = @hResponseObj[:writerMissingIdCount].succ
lineId = 'line' + @hResponseObj[:writerMissingIdCount]
else
lineId.gsub!(/[^0-9a-zA-Z]/, '')
end
attributes['gml:id'] = lineId
s = AdiwgCoordinates.getDimension(hGeoObject[:coordinates])
if !s.nil?
attributes[:srsDimension] = s
end
attributes[:srsName] = 'WGS84'
@xml.tag!('gml:LineString', attributes) do
unless hProperties.empty?
geoPropClass.writeXML(hProperties)
end
if hProperties.empty? && @hResponseObj[:writerShowTags]
@xml.tag!('gml:description')
@xml.tag!('gml:identifier', {'codeSpace' => ''})
@xml.tag!('gml:name')
end
unless hGeoObject[:coordinates].empty?
aCoords = hGeoObject[:coordinates]
aCoords.each do |aCoord|
s = aCoord[0].to_s + ' ' + aCoord[1].to_s
@xml.tag!('gml:pos', s)
end
end
end
end
|