2010-11-16 9 views
2

Je crée une application Web en utilisant OpenLayers. J'ai implémenté des fonctionnalités telles qu'un utilisateur peut ajouter un point ou un polygone à la carte affichée en JavaScript. J'ai maintenant besoin de sauvegarder ces données dans un fichier de formes. Des idées sur comment?Enregistrer des données dans Shapefile avec OpenLayers

Répondre

1

Vous devrez probablement le faire sur le serveur, sauf s'il existe une implémentation javascript de shapelib.

En fait, voulez-vous que l'utilisateur Web obtienne un fichier de formes pour l'enregistrer ou voulez-vous l'enregistrer sur le serveur?

Il existe de nombreuses façons de le faire sur un serveur, en fonction de la langue de votre choix. En python, vous importez seulement la bibliothèque OGR et l'écrire ... Vous aurez besoin de construire une requête Web du client avec les données qu'il contient bien ...

geoscript peut-être aider:

http://geoscriptblog.blogspot.com/2010/06/merging-shapefiles-with-javascript.html

+0

Je viens d'essayer d'utiliser JavaScript et l'API OpenLayers. Je pense que je pourrais être en mesure d'utiliser la fonction de validation, mais je ne sais pas exactement comment. Pas du tout familier avec Python, donc je ne peux pas utiliser cette option. D'autres idées? – nix

+0

Peut-être que je dois convertir en un fichier KML? – nix

+0

Encore une fois, où va ce shapefile? Enregistré sur le serveur Web, ou de nouveau à l'utilisateur sur le client Web? Quelles sont vos compétences [Web]? – Spacedman

2

Je sais que c'est un vieux fil mais je suis venu ici avec la même question après avoir fait un peu de googling moi-même pour voir s'il y avait quelque chose là-bas. Je conclus qu'il n'y avait pas, mais qu'il pourrait y avoir, donc je l'ai écrit:

https://code.google.com/p/js2shapefile/

C'est la première fois que je l'ai fait quoi que ce soit le long de ces lignes en Javascript, donc je suis sûr que vous trouverez toutes sortes de bizarreries avec mon code ... mais, ça marche, pour les graphiques ESRI Javascript API et les marqueurs Google Maps, en tout cas. Il pourrait être facilement étendu pour prendre des vecteurs OpenLayers en entrée, mais je ne suis pas prêt à le faire.

Questions connexes