Generación de codificación geográfica y zona de tiempo a partir de direcciones en SQL Server con PowerShell, T-SQL y GoogleMaps

Generación de codificación geográfica y zona de tiempo a partir de direcciones en SQL Server con PowerShell, T-SQL y GoogleMaps Carlos Mon, 09/26/2016 - 15:21

Generar las coordenadas geográficas a partir de una dirección utilizando la API de Web Services de Google Maps, y todo dentro de SQL Server, me parece algo tan útil como técnicamente interesante.

Como estoy seguro de que no tardaré en probarlo o necesitarlo para algo, enlazo aquí el post de MSSQLTips sobre cómo hacerlo para saber dónde encontrarlo como lo necesite, y me guardo la función de llamada a la API:

 
#
# Name:      Get-Geo-Coding
# Purpose:   Use Google api 4 address 2 location calc.
#

function Get-Geo-Coding {
    [CmdletBinding()] 
    param(
        [Parameter(Mandatory = $true)]
        [String] $ServiceKey,

        [Parameter(Mandatory = $true)]
        [string] $FullAddress
    )

    # Create request string
    [string]$ApiUrl = ""
    $ApiUrl += "https://maps.googleapis.com/maps/api/geocode/xml?address="
    $ApiUrl += $FullAddress
    $ApiUrl += "&key="
    $ApiUrl += $ServiceKey

    # Make request
    $Request = [System.Net.WebRequest]::Create($ApiUrl)
    $Request.Method ="GET"
    $Request.ContentLength = 0

    # Read responce
    $Response = $Request.GetResponse()
    $Reader = new-object System.IO.StreamReader($Response.GetResponseStream())
    

    # Return the result
    return $Reader.ReadToEnd()
}