Export Google Maps starred locations

/3896948

  • Pourquoi utiliser Google Maps n’est pas une bonne idée (et pourquoi on y échappe pas)

    Après avoir investi beaucoup de temps dans l’apprentissage des fonctions avancées de Google maps et après avoir marqué plein d’endroits sur une carte personnalisée, on commence à se poser la question si on peut faire confiance au géant américain et si on est sûr de pouvoir utiliser ses cartes à long terme. Dans cette cette situation on veut se rassurer en faisant une copie de sauvegarde de ses données dans un format ouvert. Est-ce possible ?

    Is there a way to export my starred locations from Google Maps ? http://webapps.stackexchange.com/questions/16177/is-there-a-way-to-export-my-starred-locations-from-google-map
    La réponse est oui, mais c’est fastidieux et les résultats sont aléatoires

    Une solution pour le commun des mortels (Il faut avoir un compte Google connecté.)

    - Go to Google Maps - My places: http://maps.google.at/maps/myplaces
    – CREATE NEW MAP, name its title “Starred Items to export”, set it to [x] Unlisted, Done
    – Click on My places again to get back to the places list, select Starred
    – For each starred item do the following:
    Click on the starred item, the balloon on the map appears.
    Click the balloon’s “Save to map” link, select the map “Starred Items to export”, then Save
    Click on My places again to get back to the places list, select Maps
    – Click on the map “Starred items to export”, click the KML link
    – Download the KML file.
    Done.

    Pour les courageux il y a un scripte qu’on peut prendre comme base pour fabriquer une meilleure solution automatisée - il ne marche qu’avec des lieux marqués dont le nom est excusivement composé de caractères américains ASCII alphanumériques.

    Export Google Maps starred locations https://gist.github.com/3896948

    # FROM THIS Google Takeout format:
    # {
    #   "type" : "FeatureCollection",
    #   "features" : [ {
    #     "geometry" : {
    #       "coordinates" : [ -118.2474094, 34.0527440 ],
    #       "type" : "Point"
    #     },
    #     "properties" : {
    #       "Google Maps URL" : "https://maps.google.com/?cid=9214992026148815492",
    #       "Location" : {
    #         "Address" : "316 West 2nd Street, Los Angeles, CA 90012, United States",
    #         "Business Name" : "The Redwood Bar & Grill",
    #         "Country Code" : "US",
    #         "Geo Coordinates" : {
    #           "Latitude" : "34.0527440",
    #           "Longitude" : "-118.2474094"
    #         }
    #       },
    #       "Published" : "2018-07-21T02:16:43Z",
    #       "Title" : "The Redwood Bar & Grill",
    #       "Updated" : "2018-07-21T02:16:43Z"
    #     },
    #     "type" : "Feature"
    #   }]
    # }
    import csv
    import json
    # uploading a CSV will let you choose the title column as well. This also pulls out the address correctly.
    final_csv_file = './file_to_import_to_google.csv'
    google_json_file_path = './Saved Places.json'
    with open(google_json_file_path, encoding='utf-8-sig') as google_json_file:
    google_map_json = json.load(google_json_file)
    fieldnames = ['title', 'address', 'latitude', 'longitude', 'link']
    with open(final_csv_file,'w', newline='\n') as csv_file:
    writer = csv.DictWriter(csv_file, fieldnames=fieldnames)
    writer.writeheader()
    for f in google_map_json['features']:
    props = f['properties']
    business_name = props.get('Location', {}).get('Business Name', '')
    # default to business name is title doesn't exist
    title = props.get('Title', business_name) 
    link = props.get('Google Maps URL', '')
    address = props.get('Location', {}).get('Address', '')
    country_code = props.get('Location', {}).get('Country Code', '')
    try:
    latitude = props.get('Location', {}).get('Geo Coordinates').get('Latitude')
    longitude = props.get('Location', {}).get('Geo Coordinates').get('Longitude')
    except:
    # sometimes lat/long are not encapsulated by 'Geo Coordinates' key
    latitude = props.get('Location', {}).get('Latitude', '')
    longitude = props.get('Location', {}).get('Longitude', '')
    # specify which country to pull from
    writer.writerow({
    'title': props.get('Title', ''), 
    'address': props.get('Location', {}).get('Address', ''),
    'latitude': props.get('Location', {}).get('Geo Coordinates', {}).get('Latitude', ''),
    'longitude': props.get('Location', {}).get('Geo Coordinates', {}).get('Longitude', ''),
    'link': props.get('Google Maps URL', ''),
    })
    

    - Go to Google Bookmarks: https://www.google.com/bookmarks
    – On the bottom left, click “Export bookmarks”: https://www.google.com/bookmarks/bookmarks.html?hl=en
    – After downloading the html file, run this script on it to generate a KML.

    It’s hacky and doesn’t read all of them correctly, but the ones it fails on tend to be ones that don’t even open correctly if you click on the link in Google Bookmarks.

    Résultat : L’utilisation de #Google_Maps pour la création de cartes individuelles est à déconseiller à cause du coût élevé de l’intégration avec des applis web hors Google et pour manque d’outils d’exportation des données. C’est la situation actuelle, pire, on n’est pas à l’abri des changements de politique chez Google. Il s’expriment toujours par des modifications techniques qui en général réduisent la liberté d’action des utilisateurs.

    Que faire quand on veut créer des cartes interactives pour plusieurs personnes ? Google reste une option intéressante parce que ses outils ont l’air d’être plus rapides à maîtriser que celles de #Openstreetmap. Si on fait l’effort de systématiquement exporter ses données on conserve sa liberté de changer de système. Encore si on est d’accord de travailler à la fois pour la #NSA, pour Google et pour soi-même, c’est une affaire qui marche.

    L’image change quand on vise un projet collaboratif où tout se passe sur smartphone, même s’il fonctionne sous Android : Google ne propose pas de solution facilement accessible, impossible de rajouter des endroits dans Maps pour mobiles. Il faut développer une App, alors pourquoi ne pas le faire pour Openstreetmaps ?

    Un dernier point : On y échappe pas quand on veut rapidement créer de projets qui s’adressent au grand public. Google est arrivé à un degré de pénétration de la société qui nous oblige de l’intégrer dans notre démarche professionnelle. Ne pas s’y plier c’est comme se déclarer athée dans l’Espagne de 1900.

    P.S. Merci @severo pour ce lien http://www.seenthis.net/messages/148106

    #cartographie