es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo agregar propiedades a una característica representada de TileVectorLayer

Como traductor de española que traduce documentos de TI, traduzca lo siguiente al español. No traduzca el código y la salida en markdown como se muestra en el código publicado a continuación, creo un VectorTileLayer y VectorTileSource es una geometría MVT que se recupera de un servicio web como se indica en el atributo url. La tabla de la base de datos contiene las columnas como se muestra a continuación. Para cada zoom-in y -out o evento de arrastre se llamará al servicio web y se recuperarán las baldosas correspondientes / coincidentes según x, y y zoom z. Lo que el servicio web proporciona a VectorTileSource es una fila de los datos de la celda de cuadrícula de la tabla. Ahora, para cada característica renderizada se llamará a la función de estilo. Lo que quiero lograr es tener acceso a las propiedades / atributos de la característica renderizada que son, por ejemplo, isTreatment, fourCornersRepresentativeToBufferAsGeoJSON, entre otros. Agregué registros en la función de estilo como se muestra a continuación, pero ninguna de las columnas en la tabla mencionada a continuación son accesibles. En otras palabras, el nombre de las columnas de la tabla no se establece como propiedades de la característica renderizada. La característica renderizada debe ser una fila que contenga toda la información. Por favor, háganme saber cómo acceder a las propiedades de la función de estilo de la característica. También agregué una imagen que muestra la salida de los registros mencionados en la función de estilo.

código:

public visualisePolygonsAsMVTTilesOnMapWithColors(map, keyGridsAsGeoJSON, fillColor, strokeColor, text) {
var vectorTile = new VectorTileLayer ({
source: new VectorTileSource ({
format: new MVT(),
url: environment.LocalHostForTileLayerSourceAsMVTTileForZXYWS + “/{z}/{x}/{y}”,
}),
style: function (feature, resolución){
console.log (“feature:”, característica)
console.log (“feature.getProperties():”, feature.getProperties ())
}
});
return vectorTile;
}

tabla de base de datos postgresql

CREATE TABLE IF NOT EXISTS grid_cell_data (
id SERIAL PRIMARY KEY,
isTreatment boolean,
isBuffer boolean,
fourCornersRepresentativeToTreatmentAsGeoJSON text,
fourCornersRepresentativeToBufferAsGeoJSON text,
distanceFromCenterPointOfTreatmentToNearestEdge float8,
distanceFromCenterPointOfBufferToNearestEdge float8,
areasOfCoveragePerWindowForCellsRepresentativeToTreatment float8,
areasOfCoveragePerWindowForCellsRepresentativeToBuffer float8,
averageHeightsPerWindowRepresentativeToTreatment float8,
averageHeightsPerWindowRepresentativeToBuffer float8,
geometryOfCellRepresentativeToTreatment geometry,
geometryOfCellRepresentativeToBuffer geometry
)

contenidos de la característica renderizada

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para acceder a las propiedades de una característica representada, se puede utilizar el método feature.getProperties(). Este método devolverá un objeto que contiene todas las propiedades de la característica, incluyendo isTreatment, fourCornersRepresentativeToBufferAsGeoJSON, etc. Luego, se pueden acceder a las propiedades de la característica utilizando la notación de punto, por ejemplo, feature.getProperties().isTreatment.

Comments are closed.