Netgis client update
* adds new version to sources
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
var netgis = netgis || {};
|
||||
|
||||
//NOTE: https://portal.ogc.org/files/?artifact_id=22364 p. 53
|
||||
|
||||
netgis.SLD =
|
||||
(
|
||||
function ()
|
||||
{
|
||||
"use strict";
|
||||
|
||||
// Variables
|
||||
|
||||
// Methods
|
||||
var read = function( data, client )
|
||||
{
|
||||
var parser = new DOMParser();
|
||||
var xml = parser.parseFromString( data, "text/xml" );
|
||||
|
||||
var style = {};
|
||||
|
||||
// Layers
|
||||
var layers = xml.getElementsByTagName( "NamedLayer" );
|
||||
|
||||
for ( var i = 0; i < layers.length; i++ )
|
||||
{
|
||||
var layer = layers[ i ];
|
||||
var name = layer.getElementsByTagName( "se:Name" )[ 0 ].innerHTML;
|
||||
|
||||
console.info( "Layer:", name );
|
||||
|
||||
// Type Styles
|
||||
var typestyles = layer.getElementsByTagName( "se:FeatureTypeStyle" );
|
||||
|
||||
for ( var j = 0; j < typestyles.length; j++ )
|
||||
{
|
||||
var typestyle = typestyles[ j ];
|
||||
|
||||
// Rules
|
||||
var rules = typestyle.getElementsByTagName( "se:Rule" );
|
||||
|
||||
for ( var k = 0; k < rules.length; k++ )
|
||||
{
|
||||
var rule = rules[ k ];
|
||||
var rulename = rule.getElementsByTagName( "se:Name" )[ 0 ].innerHTML;
|
||||
|
||||
console.info( "Rule:", rulename );
|
||||
|
||||
// Polygon Symbolizer
|
||||
var polysymbol = rule.getElementsByTagName( "se:PolygonSymbolizer" )[ 0 ];
|
||||
var polyfill = polysymbol.getElementsByTagName( "se:Fill" )[ 0 ];
|
||||
var polystroke = polysymbol.getElementsByTagName( "se:Stroke" )[ 0 ];
|
||||
|
||||
style[ "polygon" ] =
|
||||
{
|
||||
//fill: polyfill.getElementsByTagName( "se:SvgParameter" )
|
||||
fill: polyfill.querySelector( "[name='fill']" ).innerHTML,
|
||||
stroke: polystroke.querySelector( "[name='stroke']" ).innerHTML,
|
||||
strokeWidth: Number.parseFloat( polystroke.querySelector( "[name='stroke-width']" ).innerHTML )
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
console.info( "SLD:", style );
|
||||
|
||||
client.invoke( netgis.Events.MAP_UPDATE_STYLE, style );
|
||||
|
||||
return style;
|
||||
};
|
||||
|
||||
// Public Interface
|
||||
var iface =
|
||||
{
|
||||
read: read
|
||||
};
|
||||
|
||||
return iface;
|
||||
}
|
||||
)();
|
||||
Reference in New Issue
Block a user