skip to Main Content

Använd Google Geocode för positionering

Det dök upp en fråga om det inte var möjligt att använda Googles adressökning för att positionera sig i MicroStation. Efter lite sökande på nätet hittade jag ett exempel som verkade lovande och gjorde en liten VBA-modul som använder Googles Geocode API för att returnera en position för en valfri adress. Problemet är att positionen som returneras är i formen longitud/latitude och designfilerna oftast är i något lokal koordinatsystem.

Efter ytterligare lite testande visade det sig att man kan positionera sig med long/lat koordinater i designfilen under ett par förutsättningar:

  1. Filen måste ha ett koordinatsystem angivet.
    Detta görs enkelt genom att använda de inbyggda funktionerna i MicroStation för att ange önskat koordinatsystem.
  2. Man måste (så långt jag förstått)  även sätta detta koordinatsystem som aktivt Auxilary Coordinat System (ASC).
    Jag har inte hittat någon key-in för detta utan gör detta via dialogboxen Auxilary Coordinates som finns bland snabbikonerna. Om någon har ett bättre förslag så hör av er! Lite tips om hur detta fungerar finns på BE Communities Wiki.

Dialogboxen för Auxilary Coordinates ser ut på detta sätt:

När detta är gjort och projektfilen (se nedan) har lagts i en katalog som finns i MS_VBASEARCHDIRECTORIES kan man ladda funktionen genom att skriva följande på kommandoraden i MicroStation:

vba run Geolocate

Följande dialogbox öppnas då:

Skriv in önskad adress och tryck på [Locate] så zoomas adressen in i den aktiva vyn.

OBS! Det är problem med svenska tecken men byt bara ut dessa mot a och o, dvs skriv Storvagen istället för Storvägen så verkar allt fungera!

Välkomna att testa och hör gärna av er om det är något som inte fungerar eller om ni har någon bättre ide.

 Ladda ner mvba-projektet Geolocate

 

This Post Has 0 Comments

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *

Denna webbplats använder Akismet för att minska skräppost. Lär dig hur din kommentardata bearbetas.

Back To Top