Spring naar bijdragen

Export Naar Csv Bestand


gps_floris

Aanbevolen berichten

Sinds enkele dagen ben ik in het bezit van een Pioneer avic navigatiesysteem. Nu wil ik in dit navigatiesysteem ook caches zetten net zoals in mijn eerder gebruikte PDA met tomtom. Pioneer levert een software program waar je zelf poi`s kunt invoeren. Deze genereert dat een KML bestand dat via een SD kaartje de caches zichtbaar maakt op het scherm.

 

Nu is het mij al gelukt om met een macro de caches om te zetten in een CSV bestand wat inleeesbaar is in de Pioneer software. Maar hier moet ik handmatig een aanpassingen in doen. Zoals een , vervangen voor ; om de overzet te vereenvoudigen zou ik graag zien dat het CSV bestand dat gemaakt word meteen voorzien is van ; ipv ,

 

De macro die ik gebruik ziet er als volgt uit: (gevonden op GSAK forum)

 

Goto Position=Top

while not($_eol)

$_txt1 = $d_longitude

$_txt2 = $d_latitude

$_txt3 = Quote($d_name)

$_txt4 = Quote($d_container)

$result = TextOut("C:\caches.csv","none","comma")

# Just in case file permission error or something test for error

IF Left($result,7) = "*Error*"

Pause Msg=$result

Cancel

EndIf

Goto position=next

Endwhile

 

Als uitkomst krijg ik dan:

5.805217,50919533,"MAA","Micro"

 

Terwijl ik graag:

5.805217;5091953';"MAA";"Micro"

Als uitkomst zou zien. Is er iemand die hier kaas van gegeten heeft om dit aan te passen???

 

Nog Mooier zou meteen een KML bestand als uitkomst zijn maar stapje voor stapje naar een klik bewerking :) Zoals bij de export naar de tomtom Zie namelijk bij de export mogenlijkheden van GSAK geen KML optie :rolleyes:

Link naar opmerking
Deel via andere websites

ReizenReizen

Ik zou proberen in de TextOut de comma te vervangen door semicolon. Misschien werkt dat

 

Heerlijk die forum`s :thumbup::huh:

 

Semicolon werkt :thumbup::thumbup: (je moet het maar weten in GSAK help stonden maar twee optie`s)

 

Op naar de volgende stap in de macro :)

 

@fub

met GPSbable heb ik ook geprobeerd om een KML bestand te maken maar nog zonder goed resultaat.

Link naar opmerking
Deel via andere websites

Na wat verder stoeien heb ik weer een probleempje dat ik nog niet opgelost krijg :thumbdown:

 

Ik heb er een veld bijgemaakt voor de hint:

 

$_txt1 = $d_longitude

$_txt2 = $d_latitude

$_txt3 = Quote($d_name)

$_txt4 = Quote($d_container)

$_txt5 = $d_Hints

 

Maar als er nu een hint is die in de pagina een <br> gebruikt heeft dat gaar de tekst na de <br> naar de volgende regel:

5.805217;50.919533;"MAA";"Micro";houten trede / wooden step

Let op, de cache past maar op 1 manier terug op z'n plaats!

Attention, the cache fits in just one way in it's hiding place!

5.919833;50.911833;"WIP CACHE: OVERBROEK";"Small";onder tegel

5.71945;50.907583;"De Geul en de Maas";"Micro";

5.929167;50.92275;"FONTEIN HOENSBROEK";"Micro";buis / met gc

 

Wat bij het importeren van het CSV bestand problemen geeft. Is er een optie om dit te voorkomen ??

Link naar opmerking
Deel via andere websites

  • 4 weeks later...

Je moet voordat je het veld exporteert, de " (dubbele quote) vervangen door twee enkele quote-jes ;). = '' (lijkt hetzelfde, maar is een verschil.

 

In CSV formaat moet je alle tekst velden met quotes omgeven als er een komma in staat. Dus "Dit is een, test".

In CSV formaat mag een veld dat je met quotes omgeeft niet daarbinnen nog een quote bevatten. Dus NIET "Dit is een" test".

In CSV formaat is het CrLF (einde van de regel) het afbreken van een compleet record (=serie velden). Dus in een veld zelf mag géén CrLf voorkomen.

 

Oplossing: Replace functie gebruiken:

$Tekst = Quote(Replace($_Quote,"''",$Tekst,True))
Quote($Tekst)

De waarde van $Tekst wordt gezocht op een " (dubbele quote) en dit wordt vervangen door '' (twee enkele quotes). Tevens wordt de tekst door dubbele quotes omgeven.

Erin: $Tekst=dit is een," test

Eruit: $Tekst="dit is een,'' test"

 

Dit kun je ook gebruiken voor het Einde Regel verhaal in de hints.

$Tekst = AllTrim(Replace($_NewLine,". ",$Tekst,True))

Erin: $Tekst=Dit is regel 1

Dit is regel 2

Dit is regel 3

Eruit: $Tekst=Dit is regel1. Dit is regel 2. Dit is regel3.

(De AllTrim zit erin om de laatste spatie te verwijderen.

 

Nu houdt je een perfecte CSV "string" over :pizza:.

 

Dus in het bovenstaande voorbeeld (met beide bovenstaande oplossingen gecombineerd):

$_txt1 = $d_longitude
$_txt2 = $d_latitude
$_txt3 = Quote(AllTrim(Replace($_NewLine,". ",Replace($_Quote,"''",$d_Name,True),True)))
$_txt4 = Quote($d_container)
If not(IsEmpty($d_Hints))
$_txt5 = Quote(AllTrim(Replace($_NewLine,". ",Replace($_Quote,"''",$d_Hints,True),True)))
else
$_txt5 ="No Hints"
EndIf

 

[Edit]Haakjes foutje in de laatste code :yes:

[Edit]$d_Hint moet zijn $d_Hints

bewerkt door team_wolfje
Link naar opmerking
Deel via andere websites

@ Team wolfje :dribble::lol1::eek:

 

Wat een duidelijke uitleg (ik kan het ook nog volgen :thumbup: ) En het werkt ook nog

 

Weer een stapje dichter bij naar een een knop druk in GSAC naar een KML bestand

 

Zou een macro een KML file kunnen maken met een bepaalde indeling???

Link naar opmerking
Deel via andere websites

Ja hoor, dat kan, maar moet ik een keertje in duiken.

 

Wat ik nu heb gedaan is een PHP script met een java script gemaakt die van een INC (include) bestand vanuit GSAK aangemaakt met alle gevonden caches gebruik maakt.

Dat laatste bestand upload ik naar mijn site en de Google map staat er op.

 

In actie: Team_Wolfje Geocaching Map

bewerkt door team_wolfje
Link naar opmerking
Deel via andere websites

Dat ziet er netjes uit.

 

Een standaard KML file die voor Google map gebruikt wordt werkt maar beperkt. Dan verschijnen wel de icoontjes op het scherm maar de info komt dan niet naar boven.

Ik heb een verzoek naar Clyde gestuurd om mogenlijk ook in de toekomst een exportoptie te krijgen voor de Pioneer`s met de juiste KML file. Er staan er al meerdere in waarom dan ook niet voor de Pioneer`s :no:

 

De sotware van Pioneer die de KML file genereert geeft als uitkomst:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<kml xmlns="http://earth.google.com/kml/2.1">
<Document>
	<AvicFeedsFileVersion>1.0</AvicFeedsFileVersion>
	<metadata>
		<igoicon>
			<filename>icon20090815-213417.BMP</filename>
		</igoicon>
	</metadata>
	<Folder>
		<name>POI</name>
		<Placemark>
			<name>MAA</name>
			<description/>
			<Point>
				<coordinates>5.805217,50.919533</coordinates>
			</Point>
			<metadata>
				<telephone>Micro</telephone>
				<igoicon>
					<filename>icon20090815-213417.BMP</filename>
				</igoicon>
				<additional_information>houten trede / wooden step. Let op, de cache past maar op 1 mani</additional_information>
			</metadata>
		</Placemark>
	</Folder>
</Document>
</kml>

Team Wolfje het zou super zijn als je mij hier in de komende wintermaanden mee zou willen helpen (en mogenlijk nog meerdere pioneer gebruikers). Het heeft absoluut geen haast want ik krijg de cache`s er in maar via een omweg.

 

Ik heb in het verleden gestoeid met acces en Typo3/php maar allemaal uit hobby. Mijn kennis gaat helaas niet zo ver om dit geheel zelfstandig uit te zoeken :crybaby:

Link naar opmerking
Deel via andere websites

Na even een paar minuutjes stoeien kom ik op het volgende resultaat uit de macro (voor twee geselecteerde caches):

 

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<kml xmlns="http://earth.google.com/kml/2.1">
<Document>
	<AvicFeedsFileVersion>1.0</AvicFeedsFileVersion>
	<metadata>
		<igoicon>
			<filename>icon20090815-213417.BMP</filename>
		</igoicon>
	</metadata>
	<Folder>
		<name>POI</name>
		<Placemark>
			<name>[Erwtje 201: Snertzoeker</name>
			<description/>
			<Point>
				<coordinates>5.733067,52.713567</coordinates>
			</Point>
			<metadata>
				<telephone>Micro</telephone>
				<igoicon>
					<filename>icon20090815-213417.BMP</filename>
				</igoicon>
				<additional_information>niet in de tuinen. let op het logo</additional_information>
			</metadata>
		</Placemark>
		<Placemark>
			<name>Oorlogshelden in de Polder 3: Karel Doorman</name>
			<description/>
			<Point>
				<coordinates>5.716667,52.683333</coordinates>
			</Point>
			<metadata>
				<telephone>Micro</telephone>
				<igoicon>
					<filename>icon20090815-213417.BMP</filename>
				</igoicon>
				<additional_information>hout zonder takken</additional_information>
			</metadata>
		</Placemark>
	</Folder>
</Document>
</kml>

Hoe komen de BMP (cache icoontjes?) tot stand? Het mooiste zou zijn dat je die zelf kunt aanmaken bv voor de Traditionals een gecocacheT.BMP etc (de T is het cachetype) gelijk aan de TomTom icoontjes.

De folders, daar staat nu POI in, maar mag dat bv ook "Found", "NotFound" en "Owned" zijn?

Heb je zelf een voorbeeld uit de Pioneer die meerdere caches bevat?

bewerkt door team_wolfje
Link naar opmerking
Deel via andere websites

Maak een account aan of meld je aan om een opmerking te plaatsen

Je moet lid zijn om een opmerking achter te kunnen laten

Account aanmaken

Maak een account aan in onze gemeenschap. Het is makkelijk!

Registreer een nieuw account

Aanmelden

Ben je al lid? Meld je hier aan.

Nu aanmelden
  • Onlangs hier   0 leden

    • Er kijken geen geregistreerde gebruikers naar deze pagina.
×
×
  • Nieuwe aanmaken...