Suite

Utiliser Extjs 5 et OpenLayers 3

Utiliser Extjs 5 et OpenLayers 3


Pour consommer des données geojson à partir d'un service Web REST HAL CORS, côté client, j'utilise ExtJs 5, mais pour cartographier des données ayant des géométries, je suis coincé entre choisir geoExt2 qui a une branche basée sur extjs5 et openlayers 2.3, ou travailler directement avec extjs5 et openlayers 3, pour consommer des données jusqu'au moment où je les utilisedu reposproxy dans extjs, mais le proxy geoext ne semble pas être agile car il est basé surOpenLayers.Protocol.HTTPqui ne prennent pas en charge REST, existe-t-il des suggestions pour utiliser extjs5 et ol3 avecdu repos.


Avec OL3, il est assez facile de lire GeoJSON, en utilisantol.source.Vecteur.

j'utiliseExt.direct, mais c'est le même modèle si vous utilisez le régulierExt.Ajax.demandeappel. Lors du rappel, vous utilisez lelireCaractéristiquesméthode.

Pour lire une couche GeoJSON :

var vectorSource = new ol.source.Vector({ format : new ol.format.GeoJSON(), loader : function (extent, resolution, projection) { Server.Plantas.Pedidos.asGeoJson({ gid: 0 }, function (result , event) { if (result.success) { if (result.data.features) { var features = (new ol.format.GeoJSON()).readFeatures(result.data); vectorSource.addFeatures(features); } } else { console.log('Problème', result.message); } }); } }); var vectorJSON = new ol.layer.Vector({ source: vectorSource }); map.addLayer(vectorJSON);

Côté serveur, j'utilise une requête SQL pour renvoyer le GeoJSON de la base de données :

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 ( '; //-- query 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 += 'où gid = ' + gid; sql += ' ) As lprop '; sql += 'ON lgeom.gid = lprop.gid '; //-- fim de query sql += ') As f ) As fc';

Pour réécrire les fonctionnalités dans la base de données, j'utilise leécritureFonctionnalitésaimer:

var features = printrequestdetaillayer.getSource().getFeatures(); if (features.length) { var details = (new ol.format.GeoJSON()).writeFeatures(features); 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('Pas ok', result.message); } }); }

Systèmes d'information géographique (SIG) pour la détermination des cartes d'inondation du lac Mogan, Turquie

L'utilisation de systèmes d'information géographique (SIG) permet une analyse très efficace des données hydrologiques spatiales pour les projets de ressources en eau, en particulier pour les études de contrôle de l'eau. À cet égard, les hydrogrammes d'inondation pour le bassin de Mogan, en Turquie, pour différentes durées et périodes de retour sont déterminés en utilisant la méthode du Service de conservation des sols (SCS). Le paramètre de base de la méthode SCS, le numéro de courbe (CN), est évalué à l'aide d'un SIG utilisant des données numériques sur l'utilisation des terres et les groupes de sols hydrologiques dérivées de cartes analogiques. Un modèle numérique d'élévation (MNE) du bassin de Mogan est construit en utilisant des cartes topographiques à l'échelle 1:25 000. Les hydrogrammes de crue de ces trois sous-bassins productifs du lac Mogan sont joints et superposés pour obtenir les hydrogrammes de crue totale. Les hydrogrammes de crue totale entrant dans le lac Mogan sont acheminés par la méthode Puls pour déterminer les hydrogrammes de sortie du lac, puis les niveaux du lac associés sont calculés. De plus, des cartes d'inondation du lac Mogan sont obtenues et ces résultats sont présentés par des techniques SIG.


La valeur du champ de date Sencha ExtJS n'est pas effacée correctement

J'ai un champ de date qui présente le problème suivant : lorsque vous cliquez sur le déclencheur et sélectionnez une date, elle est correctement définie dans le champ. .getValue() et .value ont la valeur correcte. Mais lorsque je double-clique sur la valeur et que j'appuie sur la touche Suppr, pour vider le champ, il reste en suspens. .getValue() renvoie null (comme prévu), mais .value renvoie l'objet Date précédent. Et cela pose un problème avec la gestion de l'état, car il utilise .value au lieu de .getValue(). Voici un violon à démontrer (juste les valeurs, pas la question de l'état): https://fiddle.sencha.com/fiddle/3ear

Connaissez-vous une solution de contournement pour cela? Ou y a-t-il un endroit pour signaler les bogues Sencha ? Comme leur forum est fermé, je n'ai pas trouvé d'endroit pour le faire.


Voir la vidéo: OpenLayers Introduction for Beginners