Suite

Projeter un polygone à l'aide de l'API ArcGIS pour JavaScript ?

Projeter un polygone à l'aide de l'API ArcGIS pour JavaScript ?


J'ai des données de polygone comme :

POLYGONE ((1645481.0939999996 6124506.9885, 1645470.0473999996 6124473.5406, 1645475.7094 6124440.1391,1645481.0939999996 6124506.9885))

en semaine=2193

Je souhaite projeter ce polygone à l'aide du service de géométrie avec la nouvelle référence spatiale wkid= 3857.

J'ai pu projeter un point en utilisant des données similaires sur la nouvelle référence spatiale wkid=3857, mais cela ne se produit pas avec le polygone.

Quelle méthode dois-je utiliser pour projeter un polygone à l'aide du service de géométrie ?

function addGraphic() { var wkt = new Wkt.Wkt(); wkt.read("POLYGONE ((1645481.0939999996 6124506.9885, 1645470.0473999996 6124473.5406, 1645475.7094 6124440.1391, 1645481.0939999996 6124506.9885))"); var polygone = wkt.toObject(); //définir le polygone de référence spatiale.SpatialReference = new esri.SpatialReference({wkid: 2193}); var outSR = new esri.SpatialReference({ wkid: 3857 }); var gsvc = new esri.tasks.GeometryService("http://tasks.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer"); var projPoly; gsvc.project([polygone], outSR, function (outGeom) { projPoly = outGeom[0]; var symbol = new esri.symbol.SimpleFillSymbol().setStyle(esri.symbol.SimpleFillSymbol.STYLE_SOLID); var polygonGraphic = new esri .Graphic(projPoly, symbol); map.graphics.add(polygonGraphic); }); }

Il y a deux problèmes que vous devez résoudre.

  • Premièrement, le polygone que vous avez est dans un format appelé WKT. Vous devrez le convertir en une géométrie au format JavaScript de l'ESRI. J'ai utilisé Wicket dans le passé pour faire cette conversation pour moi.
  • Une fois que vous avez un polygone ESRI, vous pouvez utiliser l'opérateur de projet sur GeometryService. Vous devez vous assurer que vous avez défini la référence spatiale sur le polygone avant de l'envoyer au service.

Vous pouvez utiliser un code similaire à celui-ci :

function projectToWebMercator() { var wkt = new Wkt.Wkt(); wkt.read("POLYGONE ((1645481.0939999996 6124506.9885, 1645470.0473999996 6124473.5406, 1645475.7094 6124440.1391, 1645481.0939999996 6124506.9885))"); var polygone = wkt.toObject(); //définir le polygone de référence spatiale.setSpatialReference(new SpatialReference({ wkid : 2193 })); var outSR = new SpatialReference({ wkid : 102100 }); var gsvc = new GeometryService("http://tasks.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer"); gsvc.project([polygone], outSR, function (outGeom) { console.dir(outGeom); //<-- Faites ce que vous voulez avec le polygone projeté ici }); }

Dessinez un polygone, enregistrez-le en tant que fichier de formes

Existe-t-il un exemple où l'utilisateur dessine simplement un polygone et peut ensuite enregistrer/exporter vers un fichier de formes nommé ?

Je crois que j'ai trouvé quelque chose. L'exemple de code des liens rompus dans js2shapefile est disponible dans ce GitHub:GitHub - borisdev/js2shapefile : Exporté automatiquement depuis code.google.com/p/js2shapefile.

J'ai créé le repo, téléchargé, et cet exemple fonctionne réellement : js2shapefile/Test_EsriDrawToShapefile.html sur master · borisdev/js2shapefile · GitHub . Utilise la barre d'outils Draw pour créer des lignes, des points et des polygones et peut les enregistrer en une seule fois dans leurs fichiers de formes. Plutôt cool!

Après avoir téléchargé le(s) shapefile(s), il suffit de leur attribuer la projection Web Mercator Auxiliary Sphere. Une fois que vous avez ce fichier .prj, vous pouvez le copier et le renommer pour qu'il corresponde aux autres. L'outil crée simplement des fichiers .dbf, .shp, .shx.

Le code a 4 ans et utilise ArcGIS JS 2.6, mais c'est une application simple et un bon point de départ pour passer à la version 3.16 et retravailler/modifier l'interface graphique. Ce serait bien de pouvoir nommer les fichiers de formes que vous enregistrez. Nécessite également le bouton "Effacer les graphiques", le seul moyen de dessiner et d'exporter des fichiers de formes supplémentaires est d'actualiser la page.


Emplois PostgreSQL

Chez Getty Digital, nous réinventons la façon dont nous pouvons utiliser les logiciels pour donner accès à nos collections et à nos recherches. Nous avons l'intention de fournir une expérience cohérente et profondément connectée aux universitaires, aux chercheurs et aux passionnés qui explorent le complexe .

Analyste d'affaires l - Informatique de l'Université de Washington, Services d'infrastructure de recherche

Analyste d'affaires l - Informatique de l'Université de Washington, Services d'infrastructure de recherche RÉSUMÉ DU POSTE : Sous une supervision modérée, fournir des solutions de technologie de l'information rentables en créant de nouvelles applications logicielles, en les modifiant et en les soutenant.

Programmeur/Analyste GALILEO

Le programmeur/analyste GALILEO relève du responsable informatique principal du groupe de support technique GALILEO/GIL du département des systèmes des bibliothèques et est responsable de la programmation d'applications Web utilisant principalement Ruby. Responsabilités de programmation.

Bibliothécaire des publications et des métadonnées – Consultant

ContexteL'objectif du conseil est de fournir un soutien dans le développement de solutions techniques robustes pour les bibliothèques, les données et les publications afin de soutenir les objectifs stratégiques de KNL/FHL. Le candidat idéal aura une combinaison de relations interpersonnelles et de te.

Bibliothécaire des publications et des métadonnées – Consultant

ContexteL'objectif du conseil est de fournir un soutien dans le développement de solutions techniques robustes pour les bibliothèques, les données et les publications pour soutenir les objectifs stratégiques de KNL/FHL. Le candidat idéal aura une combinaison de relations interpersonnelles et de te.

Développeur d'applications logicielles de bibliothèque

La bibliothèque universitaire de l'Université de Caroline du Nord à Chapel Hill est à la recherche d'un développeur d'applications logicielles de bibliothèque pour rejoindre le département de développement de logiciels de la division Library &amp Information Technology.

Architecte de données spatiales

Résumé du poste : Contribuer à une équipe croissante de partenaires comprenant des professeurs, des bibliothécaires et des technologues en éducation axés sur le renforcement des capacités en analyse spatiale et en visualisation de données spatiales au sein de la bibliothèque et sur le campus. Avancer.

Développeur d'applications logicielles de bibliothèque

La bibliothèque universitaire de l'Université de Caroline du Nord à Chapel Hill est à la recherche d'un développeur d'applications logicielles de bibliothèque pour rejoindre le département de développement de logiciels de la division Library &amp Information Technology.

Développeur d'applications

Le Triangle Research Libraries Network (TRLN) recherche une personne collaborative, férue de technologie et très motivée pour rejoindre notre équipe en tant que développeur d'applications. Le développeur d'applications TRLN travaillera en étroite collaboration avec des bibliothécaires talentueux, technologi.

Spécialiste des technologies émergentes

RÉSUMÉ DU POSTE Travaille en étroite collaboration avec les divisions de la bibliothèque et l'UDit sur la mise en œuvre de nouveaux services de bibliothèque ou l'amélioration de services existants nécessitant l'utilisation de la technologie via l'écriture de scripts, l'adaptation de logiciels open source à l'utilisation de la bibliothèque ou le développement.

Développeur en humanités numériques

Les bibliothèques de l'Université Columbia recherchent un développeur collégial, collaboratif et créatif en sciences humaines numériques pour rejoindre le personnel informatique des bibliothèques. Le développeur des humanités numériques fournira un soutien technologique aux projets axés sur les humanités numériques par e.

Ingénieur d'exploitation développeur

En tant que membre de l'équipe croissante de développement d'applications de systèmes de bibliothèque, le candidat retenu jouera un rôle clé dans l'architecture, la surveillance, la maintenance et le déploiement d'applications de bibliothèque nouvelles et existantes, allant de la bibliothèque.

Spécialiste du soutien aux actifs numériques

Numéro d'affichage : YUSA-9899 Titre du poste : Digital Assets Support Specialist Département : Library Computing Services Catégorie : Technical/IT Relève : Manager, Library Information Systems Affiliation/Union : YUSA Groupe : 15 Salaire : $70 681 Hou.

Programmeur Développement/Opérations - Projet Databrary

Résumé Le projet Databrary recherche un ingénieur DevOps motivé et flexible pour aider à maintenir et à améliorer une vidéothèque Web open source. Vous travaillerez avec des utilisateurs, des bibliothécaires et une petite équipe de développeurs pour concevoir et créer des outils pour .

Spécialiste du soutien aux actifs numériques

Numéro d'affichage : YUSA-9899 Titre du poste : Spécialiste de l'assistance aux actifs numériques Département : Services informatiques de bibliothèque Affiliation : YUSA Groupe : 15 Salaire : 70 681 $ Durée : Continu à temps plein Heures : du lundi au vendredi, de 9 h 00 à 17 h 00. Objectif : T.

Développeur frontal

Date de clôture : 30 avril 2016 Partout en Europe, musées, galeries et archives numérisent leurs collections. Europeana les rassemble en ligne et travaille dur pour s'assurer que les gens peuvent les trouver et les utiliser. Pour le travail. Pour apprendre. Ou juste f.

Développeur d'applications Web et mobiles

La Kansas Historical Society (KSHS) recherche un développeur d'applications Web et mobiles innovant et tourné vers l'avenir, passionné par l'utilisation de la technologie pour améliorer l'expérience client des organisations du patrimoine culturel. Le candidat retenu le fera.

Ingénieur Full Stack

Ingénieur informatique Full Stack Ce poste fournit des services d'administration, de développement et de support d'applications pour les bibliothèques KU. L'accent est mis sur la gestion des bibliothèques et les systèmes de communication savants tels que Integrated Library Management S.

Spécialiste des systèmes Evergreen

Evergreen Systems Specialist - Bibliomation, Inc. (Waterbury, CT.) est le plus grand consortium de bibliothèques du Connecticut composé de plus de 60 bibliothèques membres. Les bibliothèques de bibliomation partagent des matériaux et gèrent les ressources à l'aide de l'interface open source Evergreen.

Spécialiste du système Evergreen

Bibliomation, Inc. (Waterbury, CT.)* est le plus grand consortium de bibliothèques du Connecticut composé de plus de 60 bibliothèques membres. Les bibliothèques de bibliomation partagent des documents et gèrent les ressources à l'aide du système de bibliothèque intégré open source Evergreen. Bibl.

Développeur frontal

Titre du poste : Développeur Front-end Lieu : La Haye, Pays-Bas. Date de clôture : 29 février 2016 Partout en Europe, musées, galeries et archives numérisent leurs collections. Europeana les réunit en ligne et fonctionne h.

Développeur Java

Titre du poste : Développeur Java Lieu : La Haye, Pays-Bas. Date de clôture : 30 avril 2016 Partout en Europe, musées, galeries et archives numérisent leurs collections. Europeana les réunit en ligne et travaille dur pour les faire.

Développeur logiciel junior

La BC Libraries Cooperative (http://bc.libraries.coop/) est une coopérative à but non lucratif dirigée par ses membres qui offre plusieurs services à haute disponibilité aux membres à travers le Canada. La coopérative utilise principalement des outils open source et de la méthamphétamine de développement contemporaine.

Administrateur système - délai prolongé

La BC Libraries Cooperative (http://bc.libraries.coop/) est une coopérative à but non lucratif dirigée par ses membres qui offre plusieurs services à haute disponibilité aux membres à travers le Canada. La coopérative utilise principalement des outils open source et de la méthamphétamine de développement contemporaine.

Développeur en humanités numériques

* Développeur en sciences humaines numériques - Bibliothèques de l'Université Columbia * Le développeur en sciences humaines numériques fournira un soutien technologique aux projets axés sur les sciences humaines numériques en évaluant, en mettant en œuvre et en gérant les plates-formes et applications pertinentes.


3 réflexions sur & ldquo Construire des sites Web avec la fonctionnalité SIG ‘lightweight’ &rdquo

Une nouvelle version que l'équipe Web a construite de l'interface de carte du monde qui utilise l'API Google Charts Geochart avec des boîtes de dialogue contextuelles jQuery pour afficher les données peut être vue ici – cette carte utilise également la projection Kavrayskiy VII (http://en. wikipedia.org/wiki/Kavrayskiy_VII_projection), que je crois plus utile dans ce contexte.

La carte Google Charts mentionnée dans cette publication est maintenant utilisée sur une page Web de l'université en direct, à l'aide du CMS Polopoly, à l'adresse :


Django et Javascript : récupérer les informations de l'API et les enregistrer dans la base de données

Je suis très nouveau sur Javascript avec Django et je recherche des informations de base sur la façon de récupérer les informations d'une API qui ont déjà été renvoyées et de les publier dans la base de données. J'ai utilisé views.py pour prendre des informations et les enregistrer dans la base de données, mais je ne l'ai pas fait avec les informations d'une API réalisée en Javascript. Mon projet est une application météo qui obtient des informations d'OpenWeather pour une ville que l'utilisateur tape dans une boîte, et cette partie fonctionne - les informations de l'API sont renvoyées. J'ai actuellement un modèle pour chaque emplacement, je ne sais tout simplement pas comment l'enregistrer dans la base de données.

Est-ce que cela se fait via fetch, en utilisant POST ? Je suis également un peu confus quant à la façon dont les URL seraient configurées. Toute information, peut-être un exemple de code github, pourrait vous aider :)

Par exemple, si je veux obtenir l'emplacement, puis l'ajouter à mes « favoris », est-ce que quelque chose comme ça aurait du sens ? Je sais que j'aurais encore besoin de faire la vue, et l'url.

Voici mon modèle pour chaque ville qui est retourné via l'API :


Site web du salon des diplômes de l'ECA

L'Edinburgh College of Art Degree Show ouvre ses portes le 24 mai et nous avons été chargés de développer un nouveau site Web pour lui. À bien des égards, c'est un projet de rêve, car il y a tellement de contenu fantastique ! Lorsque vous avez un contenu aussi riche, le travail du site Web est simplement de le présenter avec un design discret. Nicky Regan chez ECA a produit des designs attrayants, basés sur la nouvelle image de marque ECA, et nous l'avons concrétisé en tant que site Web Drupal.

Drupal a été choisi principalement parce que c'est sur quoi repose le nouveau site Web de la CEA et qu'il sera à terme le CMS du nouveau site Web de l'Université. Il était logique de donner aux administrateurs une interface similaire à celle du site ECA, et c'était également l'occasion d'approfondir nos propres connaissances techniques de Drupal.


Création de sites Web avec la fonctionnalité SIG ‘lightweight’

Drupal et OpenLayers

Dans l'équipe Web, nous avons expérimenté et construit des interfaces géographiques basées sur le Web qui permettent aux sites Web de collecter, de stocker et d'afficher du contenu comportant un élément géographique.

Ce contenu est typiquement des choses comme des bâtiments dans un environnement urbain, un contenu qui a une dimension géolocalisée importante et nécessite donc des techniques de traitement des données géographiques.

Nous avons construit un site Web utilisant le système de gestion de contenu (CMS) Drupal 7 et l'API OpenLayers qui prend en charge la possibilité de créer des interfaces pour collecter et stocker des données géographiques, et de visualiser ces données (voir l'image à droite). OpenLayers est un système d'information géographique JavaScript open source très utile (SIG) qui ne fait pas officiellement partie du CMS Drupal mais a été importé dans Drupal avec le module OpenLayers.

Ce module permet à un site Drupal de :

  • utiliser toutes les fonctionnalités d'OpenLayers pour afficher des données cartographiques dynamiques (en utilisant ‘tiles‘ à partir d'un serveur WMS) en tant que ‘basemap‘ dans une interface (ou ‘widget’) sur un site Web
  • utiliser les fonctionnalités et le comportement standard de la cartographie Web actuelle fournie par Google Maps (fonds de carte satellite et topographique, ‘glisser’ la carte ‘glissante’) ou OpenStreetMap (ou tout autre ‘public’ ou localement -serveur compatible WMS géré) que les utilisateurs connaissent
  • superposer le fond de carte avec une ‘layer‘ de données constituée du contenu du nœud Drupal qui a été ‘tagged’ dans Drupal avec des données de latitude/longitude et de nom de lieu géographiques ou ‘spatial’
  • utilisez l'API OpenLayers pour créer facilement des options d'interface cartographique telles qu'une barre d'échelle, des icônes de zoom et de panoramique, des icônes de marqueur, des fenêtres contextuelles et un sélecteur de couche de données de fond de carte

Stocker le modèle de données dans la base de données Drupal (nous utilisons MySQL) de cette manière (en tant que données ‘spatial’) permet :

  • interfaces de requête de recherche de proximité à construire (par exemple, trouver toutes les données à moins de 10 km d'un emplacement fourni)
  • interfaces de carte graphique à afficher avec des marqueurs qui indiquent l'emplacement du contenu du nœud Drupal (avec des icônes spéciales pour les données spatialement regroupées)
  • données spatiales à associer à des données non spatiales (‘attribute‘) telles que des images, des dates et des descriptions textuelles

Le module Drupal OpenLayers est utilisé avec le module Drupal Views pour y parvenir. En plus du module Drupal OpenLayers, cette fonctionnalité ‘spatial’ est également activée avec les modules Drupal Geofield, geoPHP et Proj4JS.

Parallèlement aux interfaces de carte graphique pour ce site Web, nous avons également construit une interface de répertoire géographique : le répertoire géographique utilise le module de taxonomie de base de Drupal pour créer une liste hiérarchique de 1380 noms de lieux de ville, de ville et de comté (autorité locale) à partir de l'Ordnance Survey " 8217 (la base de données OS 1:50 000 Gazetteer, disponible à partir du service Digimap d'Edina), et utilise une vue Drupal pour permettre à l'utilisateur de développer l'arborescence hiérarchique et de faire défiler les noms de lieux pour trouver le contenu Drupal qui a été étiqueté avec le noms de lieux. Il est également possible de prendre en charge avec ce système des noms de lieux ‘alias’ (tels que des noms de lieux historiques alternatifs).

Graphiques Google

Nous avons également utilisé l'API Google Charts pour la visualisation des données. La suite d'outils Google Charts contient l'outil de visualisation Geochart (ainsi que de nombreux autres types de visualisation utiles) – et parce que Google Charts met l'accent sur la visualisation de données numériques, il ne s'agit pas à proprement parler d'une ‘map’ (à la manière de Google Maps ou OpenStreetMaps, par exemple), cela correspond plus étroitement aux exigences de certains sites Web dans lesquels l'accent est mis sur les données et pas nécessairement sur la ‘map’. Google appelle apparemment cette interface un ‘Geochart’ plutôt qu'une ‘map’, pour faire la distinction.

Nous avons créé un site Web qui répond à ces exigences et utilise des données numériques sur les étudiants, en particulier le nombre d'étudiants d'un pays d'origine, et affiche ces données à l'aide de l'API Google Charts (voir l'image ci-dessous).

L'outil cartographique Google Charts offre un fond de carte du monde de base (qui est une image SVG) et la possibilité d'afficher une couche de données sur cette carte. C'est un bon compromis entre fonctionnalité et facilité d'installation combinée à la simplicité d'utilisation. Il ne s'agit pas d'une carte Web de couches numériques comme Google Maps ou OpenStreetMap, avec plusieurs couches de données cartographiques matricielles/vectorielles hiérarchiques qui sont récupérées dynamiquement à partir d'un serveur WMS et qui peuvent ensuite être zoomées et panoramique, mais cela permet aux données d'être "visualisées" de manière plus "légère" beaucoup plus simplement et avec peu de frais techniques "nous avons expérimenté l'utilisation de cercles dont le diamètre et la couleur étaient proportionnels aux données numériques étant visualisé.

Cela fonctionne très bien et peut être configuré très simplement – il n'est pas nécessaire de s'inscrire pour une clé API Google Maps, l'interface ne définit pas de cookies sur le navigateur client, les données peuvent être stockées sur un serveur géré localement serveur (ceci est utile pour gérer les problèmes DPA) et il utilise simplement une bibliothèque de classes Google JavaScript et une configuration JavaScript simple pour toutes les fonctionnalités. Il est également très facile d'intégrer cette carte dans une page Web Polopoly CMS.

Ces sites Web que nous avons créés n'offrent pas à proprement parler des fonctionnalités SIG complètes telles que celles prises en charge par des applications telles qu'ArcGIS (qui offrent la possibilité d'effectuer des requêtes et des visualisations spatiales complexes à l'aide de techniques sophistiquées de stockage et d'indexation de données spatiales), mais elles offrent certaines Fonctionnalité SIG pour relativement peu de frais généraux techniques et de licence.


Surcharger les tableaux HTML avec DataTables

Dans l'équipe Web du CHSS, nous avons créé des interfaces Web qui fonctionnent avec de grandes quantités de données collectées à partir de la base de données de recherche de l'Université (PURE). L'essentiel à propos de ces interfaces est qu'il s'agit d'interfaces ‘display’ – il n'y a pas d'interactivité avec la base de données sous-jacente en tant que telle, pas d'‘écriture’ des données. L'accent mis sur les interfaces est d'afficher les données dans un format tabulaire, permettant la recherche de texte et l'affichage des données à filtrer et trier par champs (ou colonnes) particuliers.

L'utilisation de méthodes standard de création d'une interface Web qui communique avec une base de données à l'aide de quelque chose comme Perl DBI ou PHP PDO pour créer une interface simple d'affichage uniquement a quelques frais généraux inutiles en termes de performances et de complexité – et il s'avère qu'il y a une technologie qui peut être utilisée pour construire ce type d'interface Web de manière beaucoup plus simple et légère, en utilisant DataTables.


Surcharger les tableaux HTML avec DataTables

Dans l'équipe Web du CHSS, nous avons créé des interfaces Web qui fonctionnent avec de grandes quantités de données collectées à partir de la base de données de recherche de l'Université (PURE). L'essentiel à propos de ces interfaces est qu'il s'agit d'interfaces ‘display’ – il n'y a pas d'interactivité avec la base de données sous-jacente en tant que telle, pas d'‘écriture’ des données. L'accent mis sur les interfaces est d'afficher les données dans un format tabulaire, permettant la recherche de texte et l'affichage des données à filtrer et trier par champs (ou colonnes) particuliers.

L'utilisation de méthodes standard de création d'une interface Web qui communique avec une base de données à l'aide de quelque chose comme Perl DBI ou PHP PDO pour créer une interface simple d'affichage uniquement a quelques frais généraux inutiles en termes de performances et de complexité – et il s'avère qu'il y a une technologie qui peut être utilisée pour construire ce type d'interface Web de manière beaucoup plus simple et légère, en utilisant DataTables.


Annotations sur le Web – une brève liste

Les logiciels d'annotation ou les modules complémentaires sont des outils précieux pour les sites Web universitaires et les applications d'enseignement, permettant une discussion et une édition collaboratives des textes de cours. Voici un bref aperçu de certaines des options les plus notables :

  1. Plugins WordPress
    • Digress.it (http://digress.it/) Exemples : http://camdenannotation.lookingforwhitman.org/ et http://candide.nypl.org/text/chapter-1
    • CommentPress – compatible avec WordPress 3.5.1 (http://wordpress.org/extend/plugins/commentpress-core/)
    • Surligneur (http://highlighter.com/)
  2. Google docs ou services interactifs cloud similaires (je pense que nous pouvons exclure cela simplement sur des problèmes de propriété/droit d'auteur)
  3. Plugins de code
    • JQuery Annotator (http://okfnlabs.org/annotator/) – Simple à installer. [Sur github] (https://github.com/okfn/annotator)
  4. Add-ons de type page-flipper PDF qui ont une capacité d'annotation (ceux-ci sont généralement coûteux et pas nécessairement à la hauteur du travail.)
  5. Les modules complémentaires de navigateur (par exemple, Zotero pour Firefox ou Wired Marker) – ne sont pas pratiques pour une utilisation ‘public’.
  6. Autres services
    • A.nnotate (http://a.nnotate.com/) – Un service d'annotation basé à Édimbourg, avec des options gratuites et payantes.

Messages récents

Commentaires récents

Les archives

  • Politique de commentaires
  • Équipe Web est licencié sous
    CC BY-NC-ND 2.5 Écosse
  • />.

Voir la vidéo: Angle extérieur dans un polygone régulier