Cette question a été convertie en wiki de communauté et en wiki bloqué car il s'agit d'un exemple de question qui cherche une liste de réponses et semble être suffisamment populaire pour le protéger de la fermeture. Cela devrait être traité comme un cas spécial et ne devrait pas être considéré comme le type de question qui est encouragé sur ce site ou sur tout autre site Stack Exchange, mais si vous souhaitez apporter plus de contenu, n'hésitez pas à le faire en modifiant cette réponse. .
Vous pouvez choisir entre des solutions avec un composant de serveur de carte ou sans. Les solutions de serveur prennent en charge davantage de données et des applications plus sophistiquées.
Si vous savez que QGIS souhaite créer des visualisations uniques de données, je vous recommanderais QGIS2Leaf ou Export to OpenLayers 3, qui sont tous deux des plugins pour QGIS, qui vous permettent d’exporter des calques vers une carte Web. Mise à jour (basé sur le commentaire de Tom Chadwin): qgis2leaf et qgis-ol3 ont maintenant été fusionnés dans qgis2web .
Une option intermédiaire est QGIS Cloud , une option hébergée sur QGIS Server: il vous suffit de préparer le projet localement, puis de le publier sur le Web, où vous le trouverez dans une visionneuse prête à l'emploi. Ils ont des comptes gratuits jusqu'à une certaine taille de données. Vous n'avez donc pas besoin de votre propre serveur si cela vous pose problème.
Si vous souhaitez exécuter votre propre serveur open source , vous pouvez commencer par cette Introduction à Geoserver du FOSS4G de l'année dernière: http://workshops.opengeo.org/geoserver-intro/ . Les outils impliqués sont généralement Geoserver, PostGIS et OpenLayers. Les coûts de démarrage correspondent à votre temps de travail et à l'hébergement.
Il est difficile d'estimer le délai de déploiement sans connaître vos cas d'utilisation.
GeoGATE
link , GeoGATE est génial avec PostGIS & Geoserver et inclut des centaines d’outils prêts à l’emploi que vous pouvez configurer via un panneau de commande convivial avec vos donnéesPenn State a une classe Open Web Mapping . Cela devrait être suffisant pour vous apprendre comment fonctionne la cartographie Web, ainsi que les technologies impliquées. La plupart des outils utilisés dans la classe, si ce n'est tous, sont gratuits, votre coût ne devrait donc pas être un problème. Voici la table des matières:
S'amuser :)
la source
Google Fusion Tables est prometteur pour la cartographie et les requêtes spatiales
avantages: facile à mettre en place
les inconvénients: toutes vos données sont sur les serveurs de Google (bons ou mauvais?)
http://sites.google.com/site/fusiontablestalks/stories
Remarque: de nombreux médias / entreprises de presse l'utilisent - Exemple du journal britannique Guardian http://www.guardian.co.uk/environment/datablog/interactive/2011/mar/07/carbon-emissions-public-buildings-map
Il existe maintenant un assistant de fusion soigné pour vous permettre de configurer plus rapidement http://gmaps-samples.googlecode.com/svn/trunk/fusiontables/fusiontableslayer_builder.html
Exemples: http://www.latimes.com/news/local/la-me-us-congress-census-map,0,4500533.htmlstory
L'un des meilleurs: http://tinyurl.com/England-Deprivation-Mapped
la source
Il y a tellement d'options et de bonnes réponses déjà. CartoDB et MapBox sont deux de mes choix préférés qui ne figurent pas encore ici . Ces deux systèmes fournissent un hébergement Web et la visualisation de données ainsi que des outils très sophistiqués à des prix allant de GRATUIT.
Vous bénéficierez d'un logiciel de bureau pour obtenir la configuration de vos données. ArcMap et Quantum GIS sont deux excellents choix pour la partie bureau.
Je dirais que la force de MapBox est de créer de belles cartes Web avec des modèles vraiment géniaux, faciles à utiliser et des éléments d'interface utilisateur prêts à l'emploi . MapBox nécessite un programme de bureau appelé TileMill (également gratuit) qui utilise une interface de style très similaire à CSS.
La force de CartoDB réside dans le fait qu’elle expose ses racines PostGIS via une API SQL.
Les deux peuvent être utilisés seuls ou en combinaison avec d'autres bibliothèques de cartographie javascript (par exemple, Leaflet , Google Maps , OpenLayers ).
Quelle que soit la plate-forme que vous décidez d'utiliser pour vous lancer dans la cartographie Web, vous bénéficierez certainement de l'apprentissage de javascript. Codecademy est un excellent endroit pour commencer (également GRATUIT !!).
la source
Je viens également d'assister à une conférence où ils ont présenté OpenGeo Suite , une pile d'OpenLayers, GeoServer, GeoExt & PostGIS. Ils offrent à la fois les versions "Enterprise Edition" (version payante avec support) ou " Community Edition " (gratuite). (Mise à jour) OpenGeo Suite est maintenant Boundless Suite.
GeoMoose , une pile de MapServer et OpenLayers, a également été présenté à la conférence .
Vous pouvez envisager de télécharger le DVD OSGEO Live , que vous pouvez exécuter dans un environnement de machine virtuelle au cas où vous ne voudriez pas installer un tas de choses sur votre machine pendant le test. Il est livré pré-emballé avec un ensemble de différents progiciels SIG open source, y compris des outils de cartographie Web.
la source
Modifier
En raison de la popularité de cette question et de cette réponse, j'ajoute des modifications sur le contenu de cet article en raison des modifications apportées aux fournisseurs et aux API au cours des derniers mois.
Le choix de l'API est lié à la portée et à l'objectif de votre projet, sans parler de votre budget si vous souhaitez en réalité utiliser certaines fonctionnalités spécifiques. L’autre inconvénient majeur est votre expérience en développement Web et la langue dans laquelle vous préférez ou qui vous intéressent.
Je pense que la meilleure façon de répondre à votre question est de vous fournir une belle liste d’API disponibles. En voici trois qui me viennent à l’esprit. Ce ne sont pas tous les moyens!
ArcGIS
Apis:
Avantages:
Les inconvénients:
Sommaire:
ArcGIS a beaucoup à offrir pour les produits SIG Web et dispose de nombreuses ressources pour vous aider tout au long du processus. Tenez simplement compte des coûts potentiels que vous courez lorsque vous souhaitez publier vos propres données.
Google
Apis:
Avantages:
Les inconvénients:
Sommaire:
Google a un nom fort sur le marché et des services en ligne assez fiables. Veillez simplement à comprendre les tenants et les aboutissants de leurs usages, afin de ne pas marcher sur les pieds légaux. La nouvelle page Tarification et forfaits est très utile à cet égard.
Open source
API (toutes basées sur JavaScript):
Avantages:
Les inconvénients:
Sommaire:
Open Source est vraiment une excellente option pour quiconque veut tester les eaux du Web SIG. Avec des modifications et des améliorations apportées tous les jours dans la communauté, l’open source peut être le moyen peu coûteux de répondre à vos besoins géospatiaux.
Comme je l'ai dit, tous vos choix ne sont pas variés, mais au moins, il existe maintenant un poste avec des liens permettant à vous-même et à d'autres personnes de se familiariser avec certains des principaux acteurs du monde des SIG Web.
la source
Il semble que vous ayez obtenu les réponses Open Source à la question ci-dessus. Si votre entreprise dispose d'un budget suffisant, ESRI peut être une très bonne option. Pour clarifier, les API de cartographie Web en elles-mêmes sont libres d'utilisation, toutefois, les serveurs principaux ArcGIS Server et SDE vous coûteront de l'argent. De plus, un logiciel de bureau sera nécessaire pour créer des services de carte à utiliser dans l'application de cartographie Web. Si vous avez déjà accès à ces ressources ou pouvez les acheter, je recommanderais vivement de rechercher des solutions ESRI.
Un avantage ici est que vous pouvez coder dans une variété de langues. Il existe des API ESRI spécifiques pour Flex et Silverlight:
Flex: http://help.arcgis.com/en/webapi/flex/index.html Silverlight: http://help.arcgis.com/fr/webapi/silverlight/index.html
À l'heure actuelle, il semble que la programmation Web s'éloigne des solutions nécessitant des plug-ins, spécifiques à un fournisseur (voir ci-dessus), au profit de cadres plus ouverts et basés sur des normes. ESRI a ce couvert avec l'API Javascript:
Javascript: http://help.arcgis.com/fr/webapi/javascript/arcgis/
Si vous regardez ces sites Web d'API, la documentation est très bonne. De plus, des forums sont disponibles pour une aide communautaire sur des problèmes spécifiques. Le support technique via ESRI est également très bon. Cela revient donc au prix et aux ressources. Si vous possédez déjà ces applications ou si vous avez le budget, c’est un excellent chemin, sinon les solutions open source ci-dessus méritent d’être explorées.
la source
Si vous souhaitez simplement créer un prototype pour une étude de viabilité à montrer à votre patron, ce que je devais faire il y a environ un an, je recommanderais donc Geoserver pour le backend en raison de son interface Web conviviale, appuyée par certains. shapefiles simples. Pour le front-end, OpenLayers est un choix fantastique avec beaucoup d’échantillons sur le site Web. Je ne suis en aucun cas un programmeur sur le Web, mais j'ai trouvé que copier / coller / ajuster les échantillons javascript était un jeu d'enfant. Je mets tout cela dans une machine virtuelle VirtualBox afin de tout garder au même endroit et de ne pas casser mon environnement de développement habituel, en utilisant les packages du référentiel UbuntuGIS.
Pour la production, il y a toute une série de choses qui dépendent de votre cas d'utilisation. Pour ma part, j’ai finalement opté pour Mapserver, car il n’est pas aussi lourd que Geoserver, fonctionnant comme un processus fast-cgi sur un serveur Web lighttpd. Nous avions besoin de WFS-T (que Geoserver prend en charge immédiatement), mais pas Mapserver, nous avons donc utilisé des minuscules. Nous fournissons également des couvertures de service (WCS), prises en charge par Mapserver, et nous envisageons d’intégrer Rasdaman à son support WCS-T. Tout cela est soutenu par une base de données PostGIS.
Je vous recommande de décomposer votre application en versions arrière, centrale et frontale et de lire les avantages et les inconvénients de chaque logiciel. Il ne peut y avoir que quelques solutions pour chaque couche, mais cela augmente de manière combinatoire.
Je pense que ESRI fabrique des produits capables de faire tout cela, mais cela coûtera. Si votre temps est limité, alors la voie commerciale peut être la voie à suivre, mais la voie open source se dirige dans des directions très excitantes et je soupçonne qu’elle finira par dépasser tout ce que ESRI pourrait proposer. Mais alors je suis un fanboi FOSS biaisé :)
la source
Vous pouvez consulter MangoMap www.mangomap.com .
Vous devriez pouvoir créer la carte que vous voulez avec les outils disponibles.
Comme il est hébergé et gratuit, son déploiement nécessite très peu de temps et d’efforts.
la source
Pour les fonctionnalités que vous suggérez, je voudrais regarder quelle est la pile la plus simple et la plus facile à installer qui répond à vos besoins. Le logiciel dit "Vous pouvez avoir rapide, puissant ou pas cher. Choisissez deux." applique définitivement ici.
Si vous ne prévoyez que d'effectuer des requêtes simples telles que l'identification des fonctionnalités, la puissance de PostGIS est probablement excessive. Il est beaucoup plus simple de simplement télécharger des fichiers de formes en tant que magasin de données directement dans GeoServer.
Encore une fois, OpenLayers est formidable et offre de nombreuses fonctionnalités, telles que la prise en charge de systèmes de coordonnées autres que WGS84 et Web Mercator, mais si vous ne comptez pas utiliser cette fonctionnalité, je regarderais dans Leaflet . courbe d'apprentissage abrupte pour les nouveaux utilisateurs.
De plus, si vous n'avez pas d'exigence indiquant que vous devez héberger l'application sur votre propre serveur, vous pouvez jeter un coup d'œil à certaines des options hébergées, car vous obtiendrez beaucoup plus en retour du moment où vous investissez. En utilisant MangoMap ou GeoCommons, vous obtiendrez probablement une carte supérieure pour vos utilisateurs sans avoir à écrire une seule ligne de code.
S'il s'agit d'un projet dans lequel vous souhaitez écrire du code, vous pouvez également consulter CartoDB et MapBox . Si vous voulez en savoir plus sur toutes ces plates-formes hébergées, j'ai écrit un ebook gratuit sur le sujet qui donne tous les détails dont vous avez besoin pour en sélectionner un.
Divulgation : Je suis le fondateur de MangoMap
la source
Lors du développement d'une carte Web, il existe de nombreux points de départ.
Si vous avez de l'expérience en tant que développeur Web, vous devriez commencer par examiner les différents services disponibles qui vous permettent de publier une carte sur le Web. Vous trouverez ici des réponses à d’ autres questions sur ce site qui vous donneront de précieuses informations sur les différences entre les plates-formes disponibles.
Si vous commencez à peine et que vous ne souhaitez pas vous engager sur une plate-forme particulière, répondez à vos besoins métiers. Comment allez-vous dessiner vos données sur la carte? Comment les données seront-elles mises à jour? Qui va utiliser ce site? Que vont-ils en faire? Prendre ces décisions tôt vous aidera à assembler les pièces ou à faire des choix qui favoriseront une expansion vers un objectif.
En ce qui concerne les coûts ... je préfère emprunter un proverbe moderne: "Bon, rapide, pas cher. Choisissez-en deux." Il est formellement défini comme le triangle de gestion de projet , qui décrit l'équilibre entre coût, planification et portée pour apporter de la qualité.
la source
Moi aussi, j'ai récemment commencé la cartographie Web après de nombreuses années consacrées à la base de données.
Ce qui m’a vraiment aidé, c’est l’apprentissage des principes de base de la programmation. L’utilisation de MapBasic pour MapInfo (ou de Python pour la foule esri) m'a vraiment aidée à comprendre comment les ordinateurs "pensent".
De là, CodeAcademy était une aubaine. C'est un moyen vraiment amusant et intuitif d'apprendre la programmation. Cela peut vous mener d'exemples "Hello World" à des programmes entièrement fonctionnels et interactifs. La courbe d'apprentissage est progressive et comprend que certaines personnes sont douées avec ce genre de choses et que d'autres (comme moi) ne le sont pas.
Le deuxième conseil serait d'installer GeoServer et d'examiner les demandes de démonstration pour voir comment les services Web sont structurés et comment ils fonctionnent. Examinez les aperçus des calques pour voir comment Javascript et HTML fonctionnent ensemble. Vous pouvez littéralement copier ce code de prévisualisation de couche (voir la source de la page), l'enregistrer quelque part et commencer à bricoler.
W3 schools - contient des exemples interactifs avec lesquels vous pouvez jouer et vous adapter à votre nouveau code. Si vous décidez d'utiliser JavaScript, JS Fiddle est également très bon.
la source
Si vous êtes un programmeur Java, jetez un coup d'œil à Geomajas .
Il existe un archétype Maven qui vous permet de démarrer en quelques minutes ( voir ici ). Vous pouvez ensuite ajouter des couches supplémentaires, etc.
la source
Vous pouvez utiliser OpenLayers pour le côté client. Il est stable, facile et contient de nombreux exemples d'utilisation d'un WFS (dans votre cas, pour vous connecter à PostgreSQL), etc. Geoserver, OSM l'utilise à des fins de rendu.
Vous pouvez également consulter GeoExt, qui fournit un widget extJS pour la création de cartes. Encore une fois, geoext utilise OpenLayers pour le rendu de la carte.
Il existe également des infrastructures basées sur PHP qui utilisent MapServer (que OpenLayers prend déjà en charge), telles que GeoMoose , CartoWeb, etc.
Je vote pour OpenLayers car vous pouvez décider de la conception de la page Web dans son ensemble, contrairement au framework PHP fonctionnant sur les liaisons MapScript qui ont un modèle par défaut et je n'ai pas trouvé facile de gérer une base de code d'une telle taille.
la source
Trois compétences nécessaires pour la plupart des développements Web, y compris la cartographie Web, sont html, css et javascript. Les ressources pour apprendre ces langues sont nombreuses. La question de savoir par où commencer à apprendre à développer des applications de cartographie Web est assez bien abordée dans la question d'échange de pile SIG Comment démarrer la cartographie Web?
Mapbox est une ressource à considérer pour développer des applications de cartographie Web si vous avez une expérience limitée en programmation . Vous pouvez produire des cartes Web sans codage, même si je pense qu'il serait difficile de produire une carte Web aussi complexe et interactive que celle que vous utilisez dans votre exemple sans utiliser un langage de script tel que javascript ou python.
la source
J'utilise des tracts et je pense que c'est très simple. Il est basé sur javascript et peut dessiner des fonctionnalités à l'aide de diverses sources de données. Fondamentalement, vous insérez le code de carte dans un fichier .html, puis affichez le fichier. Je ne peux pas commenter les autres API, mais je pense que Google est assez simple, de même que les Openlayers.
En outre, il existe des services tels que MapBox qui ne vous obligent pas à héberger le fichier html, mais simplement leur télécharger vos données.
la source
Je pense que le moyen le plus simple d’aller avec qgis + qgis2leaflet plugin. Vous pouvez modifier ce que vous voulez dans qgis que d’exporter en dépliant et de le télécharger sur votre serveur Web. Ou si vous choisissez le moyen plus intéressant que:
Au lieu de geoexplorer, j’utiliserais le code javascript du dépliant, car il est plus joli et plus fluide ... mais prenez un peu de temps pour copier / coller ensemble du code. voici un exemple: http://gis.xyz
la source
Ce qui est important à noter, c’est que Web-Gis est un vaste domaine, et plusieurs projets et bibliothèques ont déjà fait l’objet de nombreux travaux pour l’aider dans cette tâche. Nous devons donc voir s’il ya quelque chose que vous pouvez réutiliser, au lieu de partir de zéro.
La mauvaise nouvelle est qu’il n’existe pas de bibliothèque / application populaire pour la cartographie Web en php. La bonne nouvelle est que vous n'en aurez peut-être pas besoin.
Je vous recommande d'essayer d'abord de comprendre WebMapping et de comprendre les projets et les bibliothèques déjà présents. Pour cela, vous pouvez vous référer à ces questions:
Une fois que vous avez compris les options disponibles, vous devez clarifier vos besoins. En examinant votre question, vous avez des exigences de base: Afficher les parcelles sur la carte Autoriser les requêtes, Obtenir des attributs pour les parcelles et les montrer à l'utilisateur, soit sur le résultat d'une requête, soit lorsque l'utilisateur clique dessus.
Ce type de travail est possible avec Google Maps, mais je ne le recommanderais pas, car l’API de Google Maps est difficile à utiliser lorsque vous avez de grandes quantités de données.
Je suggérerais plutôt que vous optiez pour une solution Geoserver / OpenLayers à condition que vous puissiez utiliser JavaScript. Vous n'aurez peut-être même pas besoin de code php si vos données sont entièrement dans les attributs des fonctionnalités.
la source
Leaflet est une alternative intéressante à OpenLayers, qui est la grande bibliothèque javascript populaire pour la cartographie Web .
J'utilise Leaflet avec GeoServer pour créer de jolies cartes, y compris une certaine interactivité. Cela nécessite un codage personnalisé, mais pas beaucoup, et il est beaucoup plus facile à utiliser que OpenLayers.
la source
Avant de choisir entre Leaflet et OpenLayers, il peut être intéressant de jeter un coup d’œil à la version à venir qui promet une API nettoyée et une meilleure documentation:
http://openlayers.org/
la source
Je commencerais par Google Maps API . C'est gratuit et facile à travailler. Il utilise Javascript, qui peut être appris via un certain nombre de bonnes ressources. Je recommanderais Codecademy si vous êtes nouveau dans JS.
Il existe de nombreuses sources de données gratuites pouvant être intégrées à Google Maps de différentes manières (KML, base de données, GeoRSS, etc.). La plupart des États et de nombreuses universités disposent de bases de données gratuites pouvant être intégrées à votre carte.
L'un de mes sites préférés pour les exemples de Google Maps est Google Maps Mania . Il existe d'excellents exemples de cartes qui illustrent les possibilités de cette API.
la source
GeoPHP pourrait valoir le détour.
Et vous pouvez prendre un cran avec l’ extension GEOS (en supposant que vous ayez les privilèges d’administrateur pour installer GEOS).
la source
Eh bien, un script PHP personnalisé pourrait être une solution plus robuste (et simple). Après tout, les données spatiales ne sont que des lignes dans une base de données et peuvent être interrogées comme d'habitude. Pas besoin de logiciel SIG serveur lourd et / ou de la syntaxe de filtre OGC horrible. Si j'étais à votre place, je stockais les données dans une base de données PostgreSQL avec l'extension PostGIS, j'écrivais PHP en back-end pour interroger la base de données et récupérait les données au format GeoJSON (regardez cet élément essentiel ), ainsi qu'une application Web frontale basée sur OpenLayers - il est plus flexible que l'API Google Maps, mais vous pouvez toujours utiliser des cartes de base Google si vous le souhaitez.
la source
Pour obtenir de l'aide sur la question relative à Alternatives à ArcGIS Online et à la question de savoir quels livres, revues et ressources électroniques sont les plus utiles pour étendre les connaissances en information géographique? question pour les ressources d'apprentissage.
Les coûts de cartographie Web incluent l'hébergement (paiement d'un site Web) et l'espace de stockage du serveur (si vous utilisez des services de cartographie, consultez les tarifs de MapBox et de CartoDB par mois). En fin de compte, il sera très important de connaître le développement Web pour créer votre carte.
la source
Eh bien, il existe quelques bibliothèques de cartographie que vous pouvez utiliser.
Le premier (et probablement le plus connu) serait Google Maps API , cependant je pense que cela peut être assez complexe si vous êtes relativement nouveau en cartographie Web.
Je suggère de jeter un coup d'oeil à Leaflet.js ou Mapbox.js . Mapbox.js a été conçu dans l’esprit de Leaflet et Mapbox propose d’excellents tutoriels sur diverses tâches que vous pouvez effectuer avec Mapbox.js. Leaflet propose également des exemples et des ressources .
Voici des liens spécifiques vers des exemples qui devraient vous aider à vous orienter dans la bonne direction.
la source
Si vous avez besoin d'une carte sur laquelle vous cliquez sur un pays et qu'une image apparaît, vous pouvez consulter l' exemple de Mapbox pour la liaison à des données externes.
Vous pouvez apprendre comment le code interagit dans JSFiddle pour le projet.
Si vous avez besoin de plus de documentation sur Mapbox, vous pouvez lire leurs guides Mapbox ou plonger un peu plus dans le code en utilisant la section Exemples.
la source
Je suis un nouveau webmapper et j'ai été référé à la visualisation de données pour le Web de Scott Murray . Son ebook peut être lu ici: http://chimera.labs.oreilly.com/books/1230000000345/ gratuitement. C'est pour les «non-codeurs», extrêmement informatif, et a de nombreux exemples pratiques.
la source
Vous pouvez utiliser UMN Map Server. Là, vous pouvez utiliser des scripts PHP (appelés scripts de map). Ceci est basé sur le serveur Apache. Si vous voulez une base de données, vous pouvez utiliser MySQL avec des extensions spatiales ou PostgreSQL avec postGIS ...
la source