GOOGLE MAPS SCRIPT

Om van een XLS lijst naar een Google Maps iFrame te komen kun je de volgende stappen doorlopen.

Er wordt gebruik gemaakt van een Python programmatje om het XLS lijstje om te zetten naar een CSV-lijst, want alleen met CSV kan een Google Maps kaart gemaakt worden.

Bij twijfel contact Erwin, PA3EFR.

 

Stapnummer Beschrijving Aanvullende informatie
1.

Installeer Pyhton3 op je computer. Deze is te vinden op https://www.python.org/downloads/windows/

 
2. 

Zorg dat in de Python-directory een up-to-date XLS lijst van alle JOTA stations staat.

 
3.

Hernoem (rename) deze XLS JOTA lijst naar "Overzicht_JOTA_QTHs.xlsx" als dit nog niet eerder is gebeurd.

Deze benaming wordt later door het Python-script gebruikt om er een CSV-bestand van te maken.
4. 

Zorg dat in de Python-directory het script "conversie.py" staat. Deze is onderaan deze pagina ook weergegeven.

Dit script zorgt voor een conversie van Overzicht_JOTA_QTHs.xlsx naar Overzicht_JOTA_QTHs.csv in dezelfde directory.
5. 

Installeer de PANDA module, indien dat nog niet eerder is gedaan met je computer (ga anders door naar stap 6): 

- start de DOS command terminal in administrator modus

- in de terminal: navigeer naar de dropbox directory waar de Overzicht_JOTA_QTHs.xlsx te vinden is

- voer in de terminal uit: pip install pandas openpyxl

Deze PANDA module is nodig voor de uitvoering van het conversie script.

Start, zoek, "Opdrachtprompt"

6.

Blijf in de terminal. Voer de conversie uit: python conversie.py

Na het uitvoeren van dit script is er een nieuwe (of geupdate) Overzicht_JOTA_QTHs.csv file ontstaan in de directory. 

Na uitvoering geeft de DOS terminal aan dat het CSV-bestand is opgeslagen naar Overzicht_JOTA_QTHs.csv.
7. 

Login bij Google met het Google account

 
8. 

Ga naar de Google Drive van het Google account en kopieer de Overzicht_JOTA_QTHs.xlsx file daar naar toe (in de map JOTA Google Maps).

Alleen vanuit de Google Drive worden kaarten op Google Maps mogelijk gemaakt.
9. 

Open een browser-window en navigeer naar google.com/maps/d/

We gaan er nu vanuit dat er nog geen kaart staat met reeds aangegeven Bunkers. Indien dat wel het geval is ga je naar stap 12.

 
10. 

Klik linksboven op NIEUWE KAART MAKEN. Er komt een nieuwe kaart in zicht en linksboven een venster waarin we lagen kunnen toevoegen en de Naamloze kaart kunnen hernoemen.

 
11. 

Klik op NAAMLOZE KAART en vul in de pop-up een nieuwe naam in (JOTA QTH's Plusscouts PA3EFR/J)

 
12. 

Klik op LAAG TOEVOEGEN en selecteer bij die nieuwe laag de drie puntjes voor de optie IMPORTEREN. In de pop-up navigeer naar het Google Drive bestand Overzicht_JOTA_QTHs.csv (van stap 8).

 
13. 

In de pop-up Kolommen Kiezen selecteer je de Latitude en Longitude voor de plaatsbepaling. Klik op Doorgaan.

In het volgende scherm selecteer je JOTA voor de benaming van de stations. Klik op Voltooien. 

 

 

De kaart laat nu alle JOTA stations zien die in de Overzicht_JOTA_QTHs.csv stonden opgenomen.

14.

Verwijder de lagen met de oude informatie via de drie puntjes bij die laag (en Verwijderen).

De kaart is nu eigenlijk gereed voor publicatie, maar we gaan hem wel even opleuken. 
15. 

We laten in deze laag de optie UNIFORME STIJL onaangeroerd. We richten ons nu op ALLE ITEMS en klikken het vulbekertje rechts van de tekst.

- selecteer de kleur rood

- selecteer Meer Pictogrammen -> Eigen Pictogram

 

 
16. 

De kaart kan nu gedeeld worden en als iFrame worden gepost op een internet pagina.

- Linksboven klik op Delen. In de pop-up selecteer de bovenste schuif (iedereen met deze link kan de kaart bekijken)

- Naast de nieuwe kaartnaam (van stap 10) klik op de drie puntjes en selecteer Insluiten in mijn site. Er komt een nieuwe pop-up die je kunt insluiten in een website. Daarbij het schuifje aanzetten.

 

 

 

 

Met deze iFrame kun je je website voorzien van de nieuwe kaart.

<iframe src="https://www.google.com/maps/d/u/0/embed?mid=1w3Z1zqd3qvBdy16hfmvUuHxeXHxpOZQ&ehbc=2E312F" width="1040" height="1000"></iframe>

 

Daarmee is het proces rond en is de kaart weer up-to-date.

 

 

SCRIPT

Hierbij het script welke de conversie verzorgt.

             .....
import pandas as pd

def xlsx_to_csv_with_combined_columns(input_file, output_file, columns, combine_columns, new_column_name, separator=" "):
"""
Converteert een XLSX-bestand naar een CSV-bestand met samengevoegde kolommen en geselecteerde kolommen.

Parameters:
- input_file: Pad naar het invoer XLSX-bestand.
- output_file: Pad waar het CSV-bestand wordt opgeslagen.
- columns: Lijst van kolomnamen of indexen die in het CSV-bestand moeten worden opgenomen.
- combine_columns: Tuple of lijst met twee kolomnamen om samen te voegen.
- new_column_name: Naam van de nieuwe kolom na het samenvoegen.
- separator: Scheidingsteken tussen de samengevoegde waarden (standaard is een spatie).
"""
try:
# Lees het Excel-bestand
df = pd.read_excel(input_file)

# Controleer of de kolommen bestaan
if not all(col in df.columns for col in combine_columns):
raise ValueError("Een of beide kolommen om samen te voegen bestaan niet in het bestand.")

# Voeg de kolommen samen
df[new_column_name] = df[combine_columns[0]].astype(str) + separator + df[combine_columns[1]].astype(str)

# Selecteer de gewenste kolommen inclusief de nieuwe kolom
selected_columns = df[columns]

# Schrijf naar CSV
selected_columns.to_csv(output_file, index=False)

print(f"CSV-bestand succesvol opgeslagen naar: {output_file}")
except Exception as e:
print(f"Er is een fout opgetreden: {e}")

# Voorbeeldgebruik
# Vervang deze waarden door je eigen bestandsnamen en kolomnamen
input_file = "Overzicht_JOTA_QTHs.xlsx"
output_file = "Overzicht_JOTA_QTHs.csv"
combine_columns = ("Jaartal", "Info") # Kolommen om samen te voegen
new_column_name = "JOTA" # Naam van de nieuwe kolom
columns = ["JOTA", "Latitude", "Longitude"] # Gewenste kolommen in de CSV
separator = ": " # Scheidingsteken tussen de samengevoegde kolommen

xlsx_to_csv_with_combined_columns(input_file, output_file, columns, combine_columns, new_column_name, separator)