DéveloppeurWeb.Com
    DéveloppeurWeb.Com
    • Agile Zone
    • AI Zone
    • Cloud Zone
    • Database Zone
    • DevOps Zone
    • Integration Zone
    • Web Dev Zone
    DéveloppeurWeb.Com
    Home»Uncategorized»Introduction aux cartes dans Oracle APEX
    Uncategorized

    Introduction aux cartes dans Oracle APEX

    mars 4, 2023
    Introduction aux cartes dans Oracle APEX
    Share
    Facebook Twitter Pinterest Reddit WhatsApp Email

    Les cartes sont une fonctionnalité essentielle pour de nombreuses applications créées dans Oracle APEX. Comment proposer cette fonctionnalité dans votre logiciel ? Je m’appelle Lech Cieślik et je suis un développeur Oracle APEX expérimenté travaillant chez Pretius Low-Code. Dans cet article de blog, j’expliquerai comment utiliser le composant Map Region par défaut.

    Je décrirai également des solutions alternatives que vous pouvez intégrer à Oracle APEX pour offrir des fonctionnalités cartographiques. Certains d’entre eux pourraient être meilleurs que Map Region dans des circonstances spécifiques.

    Région de la carte – Le composant de carte par défaut dans APEX

    Une capture d'écran avec un aperçu des caractéristiques de la région de la carte.

    Tout d’abord, j’aimerais prendre un moment pour parler de Map Region, qui est le composant cartographique de base d’Oracle APEX, puisque la partie principale de l’article tournera autour de lui.

    Map Region a été introduit dans Oracle APEX version 21.1. Vous pouvez utiliser une base de données locale ou un service REST comme source de données. Depuis la version 22.1 d’APEX, la fonctionnalité Map Regions est basée sur la bibliothèque MapLibre JavaScript (consultez la documentation). Vous pouvez le modifier à l’aide de l’API JavaScript (grâce à l’interface mapRegion et à la méthode getObject). Il existe également de nombreux exemples et plugins prêts à l’emploi disponibles sur le site Web MapLibre.

    Comment stocker des données spatiales dans la base de données ?

    Parlons maintenant du stockage des données spatiales dans la base de données. Je vais baser mon exemple sur un point précis de la carte – Caprese Michelangelo – un petit village italien. Voici les coordonnées géographiques de cette île. La longitude et la latitude peuvent être stockées dans deux colonnes VARCHAR et vous pouvez les afficher sous la forme d’un seul point sur la carte.

    Une capture d'écran avec un aperçu des caractéristiques de la région de la carte.

    Il existe également d’autres options – nous pouvons stocker des données spatiales aux formats GeoJSON (colonne CLOB / VARCHAR) ou SDO_GEOMETRY (SDO_GEOMETRY COLUMN).

    GéoJSON

    Si vous utilisez GeoJSON, la représentation des données est assez simple. Il y a un attribut NAME avec une valeur Caprese et des données géographiques comme une table de coordonnées qui est notre point. Il ressemble à ceci :

    "type": "FeatureCollection",
    "features": [{
      "type": "Feature",
      "properties" : {"Name" : "Caprese"},
      "geometry": {
        "type": "Point",
        "coordinates": [11.983333, 43.65]
      }
    }]
    

    SDO_GEOMETRY

    SDO_GEOMETRY est un peu plus compliqué. Regardez l’exemple ci-dessous :

    SDO_GEOMETRY( 
    2001, 
    8307, 
    SDO_POINT_TYPE( 
      11.983333, 
      43.65, 
      NULL), 
    NULL, 
    NULL 
    )

    Le premier attribut stocke des informations sur le type de géométrie. Le code de 2001 marque un point bidimensionnel. La valeur 8307 est la désignation du SDO_SRID, le système de coordonnées que j’utilise (World Geodetic System, pour être précis). Enfin, SDO_POINT sont les coordonnées de mon point.

    Cartes Oracle APEX – Différentes couches

    APEX vous permet de représenter des calques sous différentes formes. Vous disposez des options suivantes :

    • Points – des points simples qui permettent y zone spécifique de la carte
    • Lignes – des lignes qui mènent du point A au point B (ou même ABC)

    Une capture d'écran montrant des lignes sur la carte.

    • Polygones – des zones entières délimitées par plusieurs lignes droites

    Une capture d'écran montrant des polygones sur la carte.

    • Cartes thermiques – Objets ponctuels affichés sous forme de carte thermique. Utile, par exemple, pour visualiser la densité d’objets ponctuels

    Une capture d'écran montrant des cartes thermiques.

    • Polygones extrudés – polygones affichés sous forme d’objets 3D pour visualiser la hauteur. La hauteur est basée sur une valeur de colonne de résultat

    Une capture d'écran montrant des polygones extrudés.

    Modifications de SDO_GEOMETRY pour différentes couches

    Bien sûr, SDO_GEOMETRY sera également différent pour différentes couches. Par exemple, regardez l’exemple ci-dessous – SDO_GEOMETRY pour la forme de polygone 2D.

    SDO_GTYPE = 2003 définit notre formulaire comme un polygone à deux dimensions, et SDO_ELEM_INFO_ARRAY est un ensemble de paramètres qui le décrivent. Offset = 1 signifie que la première coordonnée de SDO_ORDINATE_ARRAY est le premier point de notre polygone. Les informations restantes définissent le polygone extérieur. Les lignes indiquent les connexions entre les points. Enfin, le SDO_ORDINATE_ARRAY est un tableau de coordonnées géographiques des polygones.

    Une capture d'écran détaillant SDO_GEOMETRY.

    Comment créer votre carte en 5 étapes faciles

    Une capture d'écran montrant les champs que vous devez choisir.

    La théorie est utile, mais au final, le plus important est de créer des cartes pour vos propres projets. Voici une instruction rapide et étape par étape sur la façon de procéder.

    1. Choisissez la région de la carte – le composant d’affichage de carte natif
    2. Choisissez le type de calque (le calque Points est celui par défaut)
    3. Choisissez la table avec des données spatiales
    4. Choisissez le type de données (SDO_GEOMETRY/GeoJSON/VARCHAR et une colonne avec votre géométrie)
    5. Cliquez sur Exécuter

    Comme vous pouvez le voir, les bases sont assez simples. Jetons un coup d’œil à certaines des choses que vous pouvez faire avec des cartes prêtes à l’emploi (ou presque prêtes à l’emploi).

    Oracle APEX et Maps – Exemples de fonctionnalités

    Vous trouverez ci-dessous une liste des éléments que vous pouvez créer à l’aide de composants spatiaux dans APEX, sans aucun effort supplémentaire de votre part.

    • Région de la carte et paramètres de couche – APEX vous donne la possibilité de gérer les calques. Vous pouvez afficher plusieurs couches sur une carte et personnaliser les tailles, les formes et les couleurs des marqueurs
    • Cartographier les attributs de la région – il existe également des attributs par défaut tels que MouseWheel Zoom, Rectangle Zoom, Distance Tool, Get Browser Location, etc.
    • Carte cliquable – vous pouvez également interagir directement avec votre carte à l’aide de composants JavaScript, Dynamic Actions et APEX
    • Créer une nouvelle géométrie – les actions dynamiques vous permettent d’obtenir les coordonnées de la carte et de créer une nouvelle géométrie
    • Recherche à facettes – vous pouvez combiner la recherche à facettes avec la région de la carte pour créer un filtrage avancé
    • Afficher l’élément Carte (APEX version 21.2) – offre l’accès à la fonction de mini-carte
    • Élément d’adresse géocodée (APEX version 21.2) – vous pouvez trouver des emplacements en fournissant des données textuelles telles que le pays, la rue ou le numéro de maison
    • Exemple d’application Maps – il offre une gamme d’échantillons que vous pouvez utiliser

    C’est un sujet très intéressant que j’aimerais aborder plus en détail dans de futurs articles, alors soyez à l’affût !

    Alternatives au composant de région de carte par défaut de l’APEX

    Tout le monde utilise les cartes de différentes manières. Alors que la question la plus populaire est généralement « où ? », parfois « quand ? », « quoi ? » et « comment ? » peuvent être tout aussi importants.

    Selon le projet sur lequel vous travaillez, vous aurez peut-être besoin d’une navigation, de cartes thermiques, de composants de dessin, d’un mappage d’itinéraire, de données à jour, etc. Pour cette raison, une carte parfaite n’existe pas et vous devrez parfois intégrer APEX à différents outils pour répondre aux exigences du client.

    1. Ouvrir les calques

    Une capture d'écran détaillant OpenLayers.

    La bibliothèque OpenLayers est la première bonne alternative à Map Region. Il s’agit d’une bibliothèque JavaScript open source qui vous permet de créer des cartes, d’afficher des calques et des marqueurs. Il fournit des options de personnalisation faciles d’accès et vous pouvez également utiliser l’API pour créer des fonctionnalités plus complexes. Le site Web OpenLayers propose 230 exemples prêts à l’emploi que vous pouvez utiliser dans vos applications.

    2. Géoserveur

    Une capture d'écran détaillant GeoServer.

    GeoServer est également un bon choix. Il s’agit d’un autre serveur logiciel open source écrit en Java qui permet aux utilisateurs de partager et de modifier des données géospatiales. L’objectif principal du GeoServer est de rendre les couches spatiales (données vectorielles, raster) disponibles via des services tels que Web Map Service (renvoie une image d’une carte) ou Web Feature Service (renvoie des entités avec une géométrie et des attributs que les clients peuvent utiliser dans l’analyse géospatiale ). Consultez la documentation.

    Avec GeoServer, il s’agit vraiment de télécharger un fichier avec des données géographiques sur le serveur. Il met ensuite ce fichier à disposition via le service WMS ou WFS. Et un tel service peut être facilement consommé par APEX REST DATA SOURCE et utilisé dans votre application APEX. L’utilisation d’un tel serveur vous offre de nombreuses possibilités. Vous pouvez utiliser différentes cartes disponibles sur Internet et gérer facilement les nouvelles versions. Lorsqu’une mise à jour se produit, il vous suffit de remplacer la carte sur le serveur.

    3. Google Maps

    Une capture d'écran détaillant GoogleMaps.

    Et enfin, nous avons Google Maps, qui ne nécessite aucune introduction, vraiment. Le service vous permet de rechercher des objets, de visualiser des cartes, des photos de la surface de la Terre et des vues panoramiques depuis le niveau de la rue (ce que l’on appelle Street View). Vous pouvez également consulter le flux de trafic en temps réel, planifier des itinéraires de voyage, etc. Je pense que tout le monde a utilisé Google Maps au moins une fois dans sa vie, que ce soit en vacances dans un lieu inconnu ou pour trouver un restaurant spécifique dans votre région. . C’est le service que la plupart des gens imaginent lorsqu’ils sont interrogés sur des cartes sur Internet.

    Et pour cause ! Google a créé une API qui vous permet d’insérer votre propre carte sur pratiquement n’importe quel site Web. Pour ce faire, vous avez besoin de JavaScript et d’une clé pouvant être obtenue par n’importe quel utilisateur d’un compte Google. Bien sûr, il y a différentes limites de taux ici que vous devez garder à l’esprit – si vos besoins les dépassent, vous devrez payer. Consultez la documentation pour obtenir des réponses à des questions spécifiques.

    Conclusion

    Et avec cela, nous sommes à la fin de mon introduction à l’utilisation des cartes dans les applications Oracle APEX. J’espère que vous trouverez utiles les informations que j’ai rassemblées ici. Comme vous pouvez le voir, il y a beaucoup d’options et de possibilités, et ce n’est vraiment qu’une introduction au sujet. Mon plan est de suivre cet article avec quelques autres. Par exemple, je vais vous montrer comment dessiner des objets sur la carte avec l’utilisation de MapLibre et OpenLayers. Assurez-vous de consulter ces articles de blog!

    Share. Facebook Twitter Pinterest LinkedIn WhatsApp Reddit Email
    Add A Comment

    Leave A Reply Cancel Reply

    Catégories

    • Politique de cookies
    • Politique de confidentialité
    • CONTACT
    • Politique du DMCA
    • CONDITIONS D’UTILISATION
    • Avertissement
    © 2023 DéveloppeurWeb.Com.

    Type above and press Enter to search. Press Esc to cancel.