cuq
Messages postés345Date d'inscriptionmardi 3 juin 2003StatutMembreDernière intervention21 mars 20082 20 févr. 2013 à 23:13
Google Earth 6.1.0.5001 ca marche encore sous windows7 64 bits (mais GE est en 32 bits)
Google Earth 7.0.2.8415 effectivement GetFeatureByName me donne une Erreur d'execution. Bug ... mais a qui reporté ? monsieur google
cpa76
Messages postés2Date d'inscriptionmardi 19 février 2013StatutMembreDernière intervention21 février 2013 19 févr. 2013 à 14:15
Bonjour,
J'ai fait comme vous quand j'étais sous XP Pro 32 bits et GoogleEart 4.
Tout fonctionnait bien.
Mais maintenant avec windows7 64 bits et GoogleEarth 7.0.2.8415. J'ai une exception qui est soulevé (exception non spécifié) sur la méthode GetFeatureByName.
Quelqu'un a-t-il rencontré ce problème ?
Et comment le résoudre ?
merci d'avance pour vos réponse.
cordialement
cuq
Messages postés345Date d'inscriptionmardi 3 juin 2003StatutMembreDernière intervention21 mars 20082 10 mai 2007 à 16:41
J'ai essayé de rajouter une fonction pour sauver un feature dans un fichier KML.
C'est une grosse béquille en attendant mieux.
cuq
Messages postés345Date d'inscriptionmardi 3 juin 2003StatutMembreDernière intervention21 mars 20082 25 avril 2007 à 14:57
Un nouvel exemple avec GetLayersDatabases.
Je poste cette exemple n'ayant pas trouvé sur le web ce genre de chose. Sachant que ce n'est pas ce que je voulais faire au départ :
Vous avez peut-être vu que dans Google Earth au lendemain des élections on peut (pouvait) voir les résultats de l'élection présidentielle par département/commune etc. Je voulais voir si il était possible de me balader automatiquement dans toutes les références histoire de récupérer en automatique les résulats par commune (par exemple pour voir à quoi resemblai la commune de ceux qui votent certains candidats et si elle ressemblai à ce que l'on pouvait attendre de ce genre d'endroit ... bon la je m'égare .... ca devient de la politique plus du code VB. Donc j'ai commnecé par ça ...
'fonction pour récupérér un feature GE depuis la base de données primaire
Private Sub Command5_Click()
Dim Indice As Long
Dim GEI As ApplicationGE
Dim Feat As FeatureGE
Dim Child As FeatureCollectionGE
Dim CameraInfo As CameraInfoGE
Set GEI = CreateObject("GoogleEarth.ApplicationGE")
'Attente que GoogleEarth soit initialisé
While (GEI.IsInitialized = 0)
DoEvents
Wend
'Racine du layersdatabase
'Debug.Print GEI.GetLayersDatabases.Count
'Debug.Print GEI.GetLayersDatabases.Item(1).Name
'Récupère les enfants
Set Child = GEI.GetLayersDatabases.Item(1).GetChildren
For Indice = 1 To Child.Count
'Si elle a une vue et si c'est bien ce qui m'intéresse on y va
Debug.Print Child.Item(Indice).Name
If Child.Item(Indice).HasView And InStr(Child.Item(Indice).Name, "Élection présidentielle France 2007") Then
Call GEI.SetFeatureView(Child.Item(Indice), 5)
End If
Next Indice
End Sub
Mais j'arrive toujours sur le premier feature c'est à dire celui de la france. Bon au final j'ai utilisé une autre solution en passant directement par les pages web donnant les mêmes infos. (au passage merci à NIX pour sa source sur la récupération de page par winsock qui m'a été super utile) et pour mes résulats j'ai eu la confirmation de ce que je pensais : moi j'irai pas habiter à Veney beaucoup trop tranquille comme coin ...
adirat
Messages postés2Date d'inscriptionvendredi 8 octobre 2004StatutMembreDernière intervention19 décembre 2006 19 déc. 2006 à 16:09
Eh be je me répond à moi même vu que ça peut intéresser des vieux comme moi, qu'on pas l'habitude de saloper le boulot , arf arf arf .. Bon et bien je dis bravo les p'tits gars: pas de soucis à se faire pour la redistribution , c'est simple pour le déploiement : oubliez GE: il suffit qu'il soit sur le poste et GO!! evidemment si l'API change au cours du temps.. god bless you. mais ça on a l'habitude !
adirat
Messages postés2Date d'inscriptionvendredi 8 octobre 2004StatutMembreDernière intervention19 décembre 2006 19 déc. 2006 à 09:23
la référence type library "earth 1.0" pointe directement sur l'exe (et pas une bibliothèque .tlb . Donc comment préparer le package de distribution d'un prog organisé comme ça ? Qq'un a pensé au déploiement ? Pas de probème en vue? Et si GE est installé dans un autre répertoire que celui par défaut ? ça marche quand même? J'ai un p'tit doute là ! Mais c'est super quand même!
fredoj
Messages postés25Date d'inscriptionjeudi 6 juin 2013StatutMembreDernière intervention 5 novembre 20061 5 nov. 2006 à 17:41
Bien le bonjour,
c'est juste pour dire que je trouve cela excellent lol Merci.
Bonne prog à tous.
cuq
Messages postés345Date d'inscriptionmardi 3 juin 2003StatutMembreDernière intervention21 mars 20082 3 nov. 2006 à 15:01
A ce propos j'ai regardé mon exemple 3 ne marche plus ... petite modif il faut maintenant écrire en version 4.0.2416
'Exemple de récupération de coordonnées de point et d'altitude
Private Sub Command3_Click()
Dim GEI As ApplicationGE
Dim PointOnTerrain As PointOnTerrainGE
Dim PositionCherché(2) As Double
Dim Repeat As Integer
Dim Epsilon As Double
Dim LongDiff As Double
Dim LatDiff As Double
'Initialisation
Epsilon = 0.0005
'Coordonnées du mont Blanc
PositionCherché(0) = 45.8325541
PositionCherché(1) = 6.86437217
Set GEI = CreateObject("GoogleEarth.ApplicationGE")
'Attente que GoogleEarth soit initialisé
While (GEI.IsInitialized = 0)
DoEvents
Wend
'Fixe le mode Elevation à 1 ( Activation relief)
GEI.ElevationExaggeration = 1 'Si différent de 0, alors coords[2] est fixée à la vraie altitude du terrain.
'Récupération de données de point centre écran les
Do
'Positionne la caméra sur le Mont Blanc (La vitesse est fixé à 5 = Maxi donc pas d'effet de transition
Call GEI.SetCameraParams(PositionCherché(0), PositionCherché(1), 0, RelativeToGroundAltitudeGE, 100, 0, 0, 5)
Set PointOnTerrain = GEI.GetPointOnTerrainFromScreenCoords(0, 0)
'Attente que le processus de striming soit terminé sur la zone concerné
While (GEI.StreamingProgressPercentage < 100)
DoEvents
Wend
LongDiff = Abs(PositionCherché(1) - PointOnTerrain.Longitude)
LatDiff = Abs(PositionCherché(0) - PointOnTerrain.Latitude)
Repeat = Repeat + 1
'Controle que la position est bien celle demandée. Repeeat permet déviter de blocquer la procédure
'avec une limite à 100 itérations
Loop While (LongDiff > Epsilon Or LatDiff > Epsilon Or PointOnTerrain.Altitude < 0) And Repeat < 100
MsgBox "Altitude Mont Blanc dans GoogleEarth " & PointOnTerrain.Altitude
End Sub
Pas grand chose de nouveau a part ça on va attendre la mise à jour de la doc
cuq
Messages postés345Date d'inscriptionmardi 3 juin 2003StatutMembreDernière intervention21 mars 20082 3 nov. 2006 à 14:44
De rien, ca ma permis de voir que ma version n'était plus à jour. De plus avec la version 4.0.2416 (beta) la possibilité de créer des polygones et des trajets est maintenant dans la version de base gratuite Y a plus qu'a attendre qu'ils mettent à jour l'API et ce sera parfait ..
cs_mak10
Messages postés18Date d'inscriptionmercredi 19 février 2003StatutMembreDernière intervention 3 novembre 2006 3 nov. 2006 à 13:57
merci, c'est bien la version qui est a l'origine du probleme et j'etais a la version 4.0.15xx (beta) de juin 2006.
avec la version actuelle 4.0.2416 (beta) d'octobre 2006, ca marche tres bien. Merci
cuq
Messages postés345Date d'inscriptionmardi 3 juin 2003StatutMembreDernière intervention21 mars 20082 3 nov. 2006 à 13:05
Je pense que cela peut venir de la version de googleearth que tu utilises:
Pour ma part : 4.0.2091 (Beta) je ne pense pas que l'api existait avant la version 4.0 . Met à jour ta version si tu n'es pas dans ce cas là . Sinon : "Nous ne voyons pas d'autre explication"
cs_mak10
Messages postés18Date d'inscriptionmercredi 19 février 2003StatutMembreDernière intervention 3 novembre 2006 3 nov. 2006 à 12:54
bonjour et merci pour ce code. mais j'ai un probleme a le faire fonctionner . meme avec la reference a jouté dans les references du projet, il y a une erreur de ref inconnu dans l'excecution du code et il s'arrete a la premiere ligne de : GEI as ApplicationGE.
merci de vos conseils.
fredoj
Messages postés25Date d'inscriptionjeudi 6 juin 2013StatutMembreDernière intervention 5 novembre 20061 25 oct. 2006 à 23:23
Oki merci autant pour moi Renfield j'avais pas bien lu lol.
Bonne soiree, je vais le faire tourner de ce pas j'avais pas eu le temps non plus de me pencher sur cet api c'est du travail maché merci cuq.
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 25 oct. 2006 à 22:29
Zip testé et OK (Winrar)
"Le Zip contient uniquement le fichier KML Exemple.
Pour les Grand débutant : pour que la source fonctionne ne pas oublié de rajouter dans Projet / Références / "Earth 1.0 type library" Voir copie écran."
fredoj
Messages postés25Date d'inscriptionjeudi 6 juin 2013StatutMembreDernière intervention 5 novembre 20061 25 oct. 2006 à 22:24
Bonkour,
j'ai téléchargé le Zip et il n'y a pas la source je ne comprends pas tres bien. Je n'ai que geneve.kml "@Source telecharge depuis ce lien" et @Readme-CodeS-SourceS-FR.txt. J'ai essayé avec winrar et 7Zip. Si cela vient de moi merci de me prévenir.
Bonne prog à tous.
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 24 oct. 2006 à 10:50
Nix
Messages postés831Date d'inscriptionsamedi 15 mai 1999StatutMembreDernière intervention18 juillet 2009 23 oct. 2006 à 19:14
Génial, exactement le genre de choses que je voulais faire mais je n'avais pas encore eu le temps de regarder de près les API. Maintenant je sais que c'est possible ;)
Merci pour cette petite source qui me sera bien utile !
21 févr. 2013 à 11:10
merci de ta réponse,
Google encourage d’utiliser son pluging Java depuis 2008. Ils ne font aucune évolution de leur API COM.
http://googlegeodevelopers.blogspot.fr/2010/08/sunset-for-google-earth-com-api.html.
Alors je ne sais pas si cela vaut le coup de leur rapporter leur bug.
a+
20 févr. 2013 à 23:13
Google Earth 7.0.2.8415 effectivement GetFeatureByName me donne une Erreur d'execution. Bug ... mais a qui reporté ? monsieur google
19 févr. 2013 à 14:15
J'ai fait comme vous quand j'étais sous XP Pro 32 bits et GoogleEart 4.
Tout fonctionnait bien.
Mais maintenant avec windows7 64 bits et GoogleEarth 7.0.2.8415. J'ai une exception qui est soulevé (exception non spécifié) sur la méthode GetFeatureByName.
Quelqu'un a-t-il rencontré ce problème ?
Et comment le résoudre ?
merci d'avance pour vos réponse.
cordialement
10 mai 2007 à 16:41
C'est une grosse béquille en attendant mieux.
Merci à RENFIELD pour son code
http://www.vbfrance.com/codes/SENDKEYSEX-SIMULER-TOUCHE-DANS-FENETRE-PRECISE_41974.aspx
que j'ai réutilisé dans cette fonction
25 avril 2007 à 14:57
Je poste cette exemple n'ayant pas trouvé sur le web ce genre de chose. Sachant que ce n'est pas ce que je voulais faire au départ :
Vous avez peut-être vu que dans Google Earth au lendemain des élections on peut (pouvait) voir les résultats de l'élection présidentielle par département/commune etc. Je voulais voir si il était possible de me balader automatiquement dans toutes les références histoire de récupérer en automatique les résulats par commune (par exemple pour voir à quoi resemblai la commune de ceux qui votent certains candidats et si elle ressemblai à ce que l'on pouvait attendre de ce genre d'endroit ... bon la je m'égare .... ca devient de la politique plus du code VB. Donc j'ai commnecé par ça ...
'fonction pour récupérér un feature GE depuis la base de données primaire
Private Sub Command5_Click()
Dim Indice As Long
Dim GEI As ApplicationGE
Dim Feat As FeatureGE
Dim Child As FeatureCollectionGE
Dim CameraInfo As CameraInfoGE
Set GEI = CreateObject("GoogleEarth.ApplicationGE")
'Attente que GoogleEarth soit initialisé
While (GEI.IsInitialized = 0)
DoEvents
Wend
'Racine du layersdatabase
'Debug.Print GEI.GetLayersDatabases.Count
'Debug.Print GEI.GetLayersDatabases.Item(1).Name
'Récupère les enfants
Set Child = GEI.GetLayersDatabases.Item(1).GetChildren
For Indice = 1 To Child.Count
'Si elle a une vue et si c'est bien ce qui m'intéresse on y va
Debug.Print Child.Item(Indice).Name
If Child.Item(Indice).HasView And InStr(Child.Item(Indice).Name, "Élection présidentielle France 2007") Then
Call GEI.SetFeatureView(Child.Item(Indice), 5)
End If
Next Indice
End Sub
Mais j'arrive toujours sur le premier feature c'est à dire celui de la france. Bon au final j'ai utilisé une autre solution en passant directement par les pages web donnant les mêmes infos. (au passage merci à NIX pour sa source sur la récupération de page par winsock qui m'a été super utile) et pour mes résulats j'ai eu la confirmation de ce que je pensais : moi j'irai pas habiter à Veney beaucoup trop tranquille comme coin ...
19 déc. 2006 à 16:09
19 déc. 2006 à 09:23
5 nov. 2006 à 17:41
c'est juste pour dire que je trouve cela excellent lol Merci.
Bonne prog à tous.
3 nov. 2006 à 15:01
'Exemple de récupération de coordonnées de point et d'altitude
Private Sub Command3_Click()
Dim GEI As ApplicationGE
Dim PointOnTerrain As PointOnTerrainGE
Dim PositionCherché(2) As Double
Dim Repeat As Integer
Dim Epsilon As Double
Dim LongDiff As Double
Dim LatDiff As Double
'Initialisation
Epsilon = 0.0005
'Coordonnées du mont Blanc
PositionCherché(0) = 45.8325541
PositionCherché(1) = 6.86437217
Set GEI = CreateObject("GoogleEarth.ApplicationGE")
'Attente que GoogleEarth soit initialisé
While (GEI.IsInitialized = 0)
DoEvents
Wend
'Fixe le mode Elevation à 1 ( Activation relief)
GEI.ElevationExaggeration = 1 'Si différent de 0, alors coords[2] est fixée à la vraie altitude du terrain.
'Récupération de données de point centre écran les
Do
'Positionne la caméra sur le Mont Blanc (La vitesse est fixé à 5 = Maxi donc pas d'effet de transition
Call GEI.SetCameraParams(PositionCherché(0), PositionCherché(1), 0, RelativeToGroundAltitudeGE, 100, 0, 0, 5)
Set PointOnTerrain = GEI.GetPointOnTerrainFromScreenCoords(0, 0)
'Attente que le processus de striming soit terminé sur la zone concerné
While (GEI.StreamingProgressPercentage < 100)
DoEvents
Wend
LongDiff = Abs(PositionCherché(1) - PointOnTerrain.Longitude)
LatDiff = Abs(PositionCherché(0) - PointOnTerrain.Latitude)
Repeat = Repeat + 1
'Controle que la position est bien celle demandée. Repeeat permet déviter de blocquer la procédure
'avec une limite à 100 itérations
Loop While (LongDiff > Epsilon Or LatDiff > Epsilon Or PointOnTerrain.Altitude < 0) And Repeat < 100
MsgBox "Altitude Mont Blanc dans GoogleEarth " & PointOnTerrain.Altitude
End Sub
Pas grand chose de nouveau a part ça on va attendre la mise à jour de la doc
3 nov. 2006 à 14:44
3 nov. 2006 à 13:57
avec la version actuelle 4.0.2416 (beta) d'octobre 2006, ca marche tres bien. Merci
3 nov. 2006 à 13:05
Pour ma part : 4.0.2091 (Beta) je ne pense pas que l'api existait avant la version 4.0 . Met à jour ta version si tu n'es pas dans ce cas là . Sinon : "Nous ne voyons pas d'autre explication"
3 nov. 2006 à 12:54
merci de vos conseils.
25 oct. 2006 à 23:23
Bonne soiree, je vais le faire tourner de ce pas j'avais pas eu le temps non plus de me pencher sur cet api c'est du travail maché merci cuq.
25 oct. 2006 à 22:29
"Le Zip contient uniquement le fichier KML Exemple.
Pour les Grand débutant : pour que la source fonctionne ne pas oublié de rajouter dans Projet / Références / "Earth 1.0 type library" Voir copie écran."
25 oct. 2006 à 22:24
j'ai téléchargé le Zip et il n'y a pas la source je ne comprends pas tres bien. Je n'ai que geneve.kml "@Source telecharge depuis ce lien" et @Readme-CodeS-SourceS-FR.txt. J'ai essayé avec winrar et 7Zip. Si cela vient de moi merci de me prévenir.
Bonne prog à tous.
24 oct. 2006 à 10:50
mais surtout, tu effectue multes concaténations
KMLData = KMLData + ...
KMLData = KMLData + ...
KMLData = KMLData + ...
ce qui fais réallouer l'espace, déplacer la chaine existente, maintes fois, inutilement
24 oct. 2006 à 10:44
24 oct. 2006 à 09:41
KMLData = "<?xml version=""1.0"" encoding=""UTF-8""?>" & _
"<kml xmlns=""http://earth.google.com/kml/2.1"">" & _
"" & _
"<name>Le Jet d'eau Genève</name>" & _
"<LookAt>" & _
"<longitude>6.156182706892176</longitude>" & _
"<latitude>46.20746317320977</latitude>" & _
"0" & _
"<range>316.3662914479763</range>" & _
"<tilt>0</tilt>" & _
"<heading>6.199453434125936</heading>" & _
"</LookAt>" & _
"" & _
"<coordinates>6.156019183879536,46.20743386584116,0</coordinates>" & _
"
" & _
"
" & _
"</kml>"
23 oct. 2006 à 19:14
Merci pour cette petite source qui me sera bien utile !