new MultiPolygon( coordinates [, options ] )

Descripción

Entidad geográfica compuesta de varios elementos con geometría poligonal.

Parámetros
Nombre Type Atributos Descripción
coordinates Array.<Array.<Array.<Array.<number>>>>

Coordenadas de la geometría expresadas como un array de coordenadas de objetos SITNA.feature.Polygon.

options SITNA.feature.PolygonOptions <optional>

Objeto de opciones de la entidad geográfica.

Ejemplos

			<div id="mapa"></div>
			<script>
			    SITNA.Cfg.workLayers = [
			        {
			            id: "entidades",
			            title: "Demostración de polígonos",
			            type: SITNA.Consts.layerType.VECTOR
			        }
			    ];
			    var map = new SITNA.Map("mapa");
			    map.loaded(() => {
			        // Obtenemos la instancia de la capa vectorial
			        const vectorLayer = map.getLayer("entidades");
			
			        // Añadimos una instancia de la clase SITNA.feature.MultiPolygon
			        const feature1 = new SITNA.feature.MultiPolygon([
			            //Primer polígono
			            [
			                // Contorno del polígono
			                [
			                    [615041.1, 4657829.3],
			                    [615028.4, 4657821.6],
			                    [615009.1, 4657809.9],
			                    [615003.5, 4657806.5],
			                    [614990.1, 4657798.3],
			                    [614955.8, 4657854.6],
			                    [614953.4, 4657858.4],
			                    [614948.9, 4657865.5],
			                    [614949.3, 4657865.7],
			                    [614951.4, 4657867.0],
			                    [614977.0, 4657882.8],
			                    [614980.3, 4657884.9],
			                    [614986.0, 4657888.4],
			                    [614988.5, 4657889.9],
			                    [614986.0, 4657893.9],
			                    [614989.1, 4657895.8],
			                    [614997.0, 4657900.7],
			                    [614997.6, 4657901.0],
			                    [615041.2, 4657829.3]
			                ],
			                // Agujero 1
			                [
			                    [614994.8, 4657877.9],
			                    [614967.4, 4657860.9],
			                    [614979.3, 4657841.7],
			                    [615006.8, 4657858.5],
			                    [614994.8, 4657877.9]
			                ],
			                // Agujero 2
			                [
			                    [615013.5, 4657847.5],
			                    [614985.8, 4657830.8],
			                    [614998.1, 4657810.8],
			                    [615025.6, 4657827.3],
			                    [615013.5, 4657847.5]
			                ]
			            ],
			            // Segundo polígono
			            [
			                // Contorno del polígono
			                [
			                    [615060.1, 4657862.8],
			                    [615071.1, 4657855.0],
			                    [615075.3, 4657851.8],
			                    [615075.7, 4657851.3],
			                    [615069.7, 4657843.2],
			                    [615058.6, 4657851.3],
			                    [615058.9, 4657853.4],
			                    [615059.1, 4657855.2],
			                    [615060.1, 4657862.8]
			                ]
			            ]
			        ], {
			            strokeColor: '#522852', // violeta
			            strokeWidth: 4,
			            fillColor: '#ffffff', // blanco
			            fillOpacity: 0.7,
			            data: {
			                'Número de polígonos': 2
			            }
			        });
			        vectorLayer.addMultiPolygon(feature1);
			
			        // Añadimos una entidad geográfica introduciendo directamente las coordenadas de su geometría
			        vectorLayer.addMultiPolygon([
			            // Primer polígono
			            [
			                // Contorno del polígono
			                [
			                    [614929.9, 4657780.2],
			                    [614926.3, 4657793.7],
			                    [614962.6, 4657803.0],
			                    [614966.2, 4657789.6],
			                    [614929.9, 4657780.2]
			                ]
			            ],
			            // Segundo polígono
			            [
			                // Contorno del polígono
			                [
			                    [614972.9, 4657788.7],
			                    [614981.2, 4657793.6],
			                    [614995.0, 4657769.7],
			                    [614986.3, 4657764.8],
			                    [614979.8, 4657776.4],
			                    [614973.0, 4657788.6],
			                    [614972.9, 4657788.7]
			                ]
			            ]
			        ], {
			            strokeColor: '#b97f24', // dorado
			            strokeWidth: 4,
			            fillColor: '#000000', // negro
			            fillOpacity: 0.3,
			        })
			            .then(feature2 => {
			                // Añadimos atributos a la nueva entidad.
			                // Estos datos se pueden consultar al pulsar sobre ella.
			                feature2.setData({
			                    'Número de polígonos': 2
			                });
			                // Nos centramos en las entidades geográficas que hemos añadido
			                map.zoomToFeatures([
			                    feature1,
			                    feature2
			                ]);
			            });
			    });
			</script>

Métodos


getArea( [ options ] ) → {number}

Descripción

Obtiene la suma del área de los polígonos en metros cuadrados.

Parámetros
Nombre Type Atributos Descripción
options SITNA.feature.MeasurementOptions <optional>

Parámetros referentes al CRS que hay que considerar para la medida.

Retorna

Total de áreas de los polígonos en metros cuadrados.


getCoordinates() → {Array.<Array.<Array.<Array.<number>>>>}

Descripción

Obtiene las coordenadas de los vértices de los polígonos en el CRS actual del mapa.

Retorna

Coordenadas de los vértices de los polígonos en el CRS actual del mapa.


getData() → {Object}

Descripción

Obtiene los atributos de la entidad geográfica.

Retorna

Diccionario de pares clave/valor con los atributos de la entidad geográfica.

Detalles

getId() → {string}

Descripción

Obtiene el identificador de la entidad geográfica dentro de su capa.

Retorna

Identificador de la entidad geográfica.

Detalles

getLength( [ options ] ) → {number}

Descripción

Obtiene la longitud total en metros de todos los bordes (perímetro y agujeros) de los polígonos.

Parámetros
Nombre Type Atributos Descripción
options SITNA.feature.MeasurementOptions <optional>

Parámetros referentes al CRS que hay que considerar para la medida.

Retorna

Suma de las longitudes de todos los polígonos, en metros.


getStyle() → {SITNA.feature.PolygonStyleOptions}

Descripción

Obtiene el estilo de la entidad.


setCoordinates( coordinates ) → {SITNA.feature.MultiPolygon}

Descripción

Establece las coordenadas de los vértices de los polígonos en el CRS actual del mapa.

Parámetros
Nombre Type Descripción
coordinates Array.<Array.<Array.<Array.<number>>>>

Coordenadas de los vértices de los polígonos en el CRS actual del mapa.

Retorna

La propia entidad geográfica.


setData( data ) → {SITNA.feature.Feature}

Descripción

Establece los atributos de la entidad geográfica.

Parámetros
Nombre Type Descripción
data Object

Diccionario de pares clave/valor con los atributos a establecer.

Retorna

La propia entidad geográfica.

Detalles

setStyle( style ) → {SITNA.feature.MultiPolygon}

Descripción

Asigna estilos a los polígonos.

Parámetros
Nombre Type Descripción
style SITNA.feature.PolygonStyleOptions

Objeto de opciones de estilo de polígono.

Retorna

La propia entidad geográfica.