Mon objectif est d'afficher différentes formes (polygones, points, lignes) sur google maps en utilisant dynamiquement les données saisies dans une base de données Postgis (je veux dire par là que nous pouvons voir les modifications en temps réel). Je cherchais un moyen de faire cela en utilisant la structure spatiale déjà fournie en postgis (indiquant déjà si la forme est une ligne ou un polygone, etc.) au lieu d'analyser les coordonnées puis de réintégrer la structure spatiale dans google maps. J'ai vu que google maps api est maintenant compatible avec les formats de données kml. Et puis j'ai lu que je dois convertir les données postgis au format kml. J'ai lu dans les forums le processus actuel de conversion des données postgis en kml via FWTools, mais je n'ai rien vu qui puisse m'aider. Je suis nouveau à kml mais je suis familier avec postgis et perl et PHP. Existe-t-il un tutoriel sur le processus de conversion des données postgis en kml? Où puis-je commencer? Merci pour toute aidegestion de carte dynamique dans google earth
Répondre
Vous pouvez obtenir une représentation textuelle des données spatiales d'une base de données Postgres en utilisant une fonction de conversion de texte, comme
SELECT AsText(MyGemoetry) from MyTable
alors vous analysez la chaîne, créez vos objets en utilisant différentes fonctions de l'API - en fonction du type de géométrie PostGIS - et ajoutez ces objets à l'objet plugin GE principal d'une manière DOM.
Si vous êtes familier avec JavaScript et avoir une connaissance de base de XML, un bon départ est http://code.google.com/apis/earth/documentation/reference/
Ne pas oublier de préciser ID uniques à vos objets afin que vous puissiez les retrouver plus tard pour déposer/modifier. Peut-être que vous pouvez obtenir quelques inspirations here, afficher le fichier "locator.js" lié et regarder la fonction PaintSubField (Coord) ... c'est une autre façon, peu grossière mais efficace, en évitant de déranger avec trop de particuliers objets parent/enfant et structures
vous pouvez également consulter sample applications et utiliser le code playground pour « temps réel », vous avez besoin d'au moins un événement « prototypage rapide »
re que vous pouvez lier votre génération/redessiner routines à .
Bonne chance MikeD
Vous pouvez utiliser PostGIS pour convertir en KML directement:
SELECT ST_AsKML(geometry) from MyTable;
ST_AsKML est l'un de plusieurs formats de sortie, y compris WKT, GML, GeoJSON, etc.
Pour afficher des données dynamiques dans Google Earth, un modèle courant consiste à utiliser KML avec un élément NetworkLink. Avoir le lien viewRefreshMode
égal à onStop
et Google Earth fera des demandes (à une URL desservie par PHP, vraisemblablement) avec des paramètres de boîte de délimitation attachés. Utilisez le cadre de sélection pour interroger les entités de la base de données PostGIS et renvoyer les résultats au format kml. C'est génial si vous avez beaucoup, beaucoup de fonctionnalités, mais ne voulez récupérer que ceux dans la région que l'utilisateur regarde.
Selon la complexité de votre application, vous pouvez également regarder GeoDjango. (La familiarité avec PostGIS est une grande longueur d'avance!)
- 1. est-il possible d'afficher une carte Google Earth INSIDE Excel?
- 2. API Google Map vs MS Earth Earth API
- 3. CSS dans Google Earth plugin
- 4. C# Google Earth Erreur
- 5. Vidéo contextuelle Google Earth (ActiveX)
- 6. Virtual Earth ou Google Maps
- 7. Application Google Earth et Windows
- 8. Comment ajouter une carte Google dynamique à mon site?
- 9. Comment utiliser Google Earth sur iPhone?
- 10. Rechercher un lieu avec l'API Google Earth
- 11. Google recherche personnalisée Carte
- 12. Capteur d'inclinaison pour travailler avec Google Earth
- 13. Chargement dynamique de l'API de Google Maps
- 14. Comment exécuter Google Earth dans un contrôle WPF
- 15. Comment gérer un drag-event dans le plugin Google Earth?
- 16. Comment utiliser une image pour superposer la totalité de la Terre dans Google Earth?
- 17. Coloriage dynamique d'une carte US avec Javascript
- 18. comment valider des éléments de carte dynamique
- 19. Analyse des données XML Google Earth à l'aide de VB.NET
- 20. Gestion d'URL dynamique avec javascript
- 21. Chargement dynamique des éléments dans Google Reader
- 22. Déterminez si Google Earth est installé (sous Windows)
- 23. Gestion dynamique d'événements avec expression de fonction
- 24. marqueurs multiples sur une carte Google Map
- 25. Fonctionnalités de groupe dans Google Earth pour cacher les détails en réduction d'un ou plusieurs de
- 26. ASP .NET avec carte google api
- 27. Mettez un bouton sur une carte google
- 28. google maps: mettre des marqueurs partout dans la section visible sur l'affichage de la carte Google
- 29. Ajout dynamique d'écouteurs aux marqueurs Google Maps
- 30. Adresse de tracé sur Virtual Earth
D'après mon expérience, la solution de tcarobruce fonctionne beaucoup mieux. Essayer d'analyser le texte à la main est exagéré quand il y a déjà une fonction pour le faire. – Adam
@Adam: J'ai tendance à être d'accord avec vous, sauf dans le cas où je veux obtenir seulement de petites informations d'un format Geo et en créer un autre. Habituellement, les Geoformats sont surchargés de choses dont je n'ai pas besoin (.... Donne-moi que LAT/LON ;-). Cela dit, il est vrai que je n'ai pas exploré ST_AsKML() jusqu'à présent. – MikeD