Más

Uso de Extjs 5 y OpenLayers 3

Uso de Extjs 5 y OpenLayers 3


Para consumir datos geojson de un servicio web REST HAL CORS, en el lado del cliente estoy usando ExtJs 5, pero para mapear datos que tienen geometrías estoy atascado entre elegir geoExt2 que tiene una rama basada en extjs5 y openlayers 2.3, o trabajar directamente con extjs5 y openlayers 3, para consumir datos hasta el momento en que estoy usandodescansoproxy en extjs, pero el proxy geoext parece no ser ágil porque se basa enOpenLayers.Protocol.HTTPque no son compatibles con REST, ¿hay alguna sugerencia sobre cómo usar extjs5 y ol3 condescanso.


Con OL3, es bastante fácil leer GeoJSON, usandool.source.Vector.

Estoy usandoExt.directo, pero es el mismo patrón si usa el regularExt.Ajax.requestllamada. En la devolución de llamada, usa elreadFeaturesmétodo.

Para leer una capa GeoJSON:

var vectorSource = new ol.source.Vector ({formato: new ol.format.GeoJSON (), loader: function (extensión, resolución, proyección) {Server.Plantas.Pedidos.asGeoJson ({gid: 0}, function (result , evento) {if (result.success) {if (result.data.features) {var features = (new ol.format.GeoJSON ()). readFeatures (result.data); vectorSource.addFeatures (features);}} else {console.log ('Problema', resultado.mensaje);}});}}); var vectorJSON = new ol.layer.Vector ({fuente: vectorSource}); map.addLayer (vectorJSON);

En el lado del servidor, uso una consulta SQL para devolver el GeoJSON de la base de datos:

var sql = "; sql + = 'SELECT row_to_json (fc) as geojson'; sql + =" FROM (SELECT 'FeatureCollection' As type, array_to_json (array_agg (f)) As features "; sql + = 'FROM ('; // - consulta sql + = "SELECT 'Feature' As type, ST_AsGeoJSON (lgeom.pretensao) :: json As geometry, row_to_json (lprop) As properties"; sql + = 'FROM plantas.pedidodetail As lgeom'; sql + = 'INNER JOIN ('; sql + = 'SELECT id, gid FROM plantas.pedidodetail'; sql + = 'donde gid =' + gid; sql + = ') As lprop'; sql + = 'ON lgeom.gid = lprop.gid '; // - fim de query sql + =') As f) As fc ';

Para volver a escribir las características en la base de datos, utilizo elwriteFeaturescomo:

var características = printrequestdetaillayer.getSource (). getFeatures (); if (features.length) {var details = (new ol.format.GeoJSON ()). writeFeatures (características); Server.Plantas.Pedidos.saveGeoJsonDetail ({pedido: result.data [0] .gid, features: details}, function (result, event) {if (result.success) {console.log ('Ok', result.message );} else {console.log ('No está bien', resultado.mensaje);}}); }

Sistemas de información geográfica (SIG) para la determinación de mapas de inundaciones del lago Mogán, Turquía

El uso de sistemas de información geográfica (SIG) permite un análisis muy eficiente de datos hidrológicos espaciales para proyectos de recursos hídricos, especialmente para estudios de control del agua. A este respecto, los hidrogramas de inundación para la cuenca de Mogán, Turquía para diferentes duraciones y períodos de retorno se determinan utilizando el método del Servicio de Conservación de Suelos (SCS). El parámetro básico del método SCS, el número de curva (CN), se evalúa utilizando un SIG que emplea datos digitales de uso de la tierra y grupos hidrológicos de suelos derivados de mapas analógicos. Se construye un Modelo Digital de Elevación (DEM) de la cuenca de Mogán utilizando mapas topográficos con una escala de 1: 25,000. Los hidrogramas de inundación para estas tres subcuencas productivas del lago Mogán se adjuntan y superponen para obtener los hidrogramas de inundación totales. Los hidrogramas de inundación totales que ingresan al lago Mogan se enrutan mediante el método Puls para determinar los hidrogramas de flujo de salida del lago y, a continuación, se calculan los niveles asociados del lago. Además, se obtienen mapas de inundaciones del lago Mogan, estos resultados se presentan mediante técnicas GIS.


El valor del campo de fecha de Sencha ExtJS no se borra correctamente

Tengo un campo de fecha que tiene el siguiente problema: cuando haga clic en el disparador y seleccione una fecha, se configura en el campo correctamente. Tanto .getValue () como .value tienen el valor correcto. Pero cuando hago doble clic en el valor y presiono la tecla Suprimir, para vaciar el campo, queda pendiente. .getValue () devuelve nulo (como se esperaba), pero .value devuelve el objeto Date anterior. Y esto causa un problema con el manejo del estado, ya que usa .value en lugar de .getValue (). Aquí hay un violín para demostrar (solo los valores, no el problema del estado): https://fiddle.sencha.com/fiddle/3ear

¿Conoce alguna solución para eso? ¿O hay un lugar para reportar errores de Sencha? Dado que su foro está cerrado, no pude encontrar un lugar para hacer eso.


Ver el vídeo: Openlayers 6 Tutorial #6 - Layer Switcher