MANUAL DE GEOCODIFICACIÓN DE DIRECCIONES POR OSCAR URTUBIA VERGARA
JUNIO 2018
GEOCODIFICACIÓN POR ARCGIS SE DEBE TENER UN SHAPE DE CALLES ESPECÍFICO ACTUALIZADO DE CALLES CON NUMERACIÓN. CADA SEGMENTO DE CALLE DEBE TENER EL NOMBRE DE LA CALLE, LA NUMERACIÓN DE INICIO Y DE TÉRMINO, TANTO POR LA IZQUIERDA COMO POR LA DERECHA. PASOS: 1) MODIFICAR EL FORMATO DE LA DIRECCIÓN ESCRITA EN EXCEL, EL FORMATO PARA LA GEOCODIFICACIÓN DEBE SER N° CALLE, EJEMPLO SI LA DIRECCION ES SUECIA 2275, EL FORMATO DEBE SER 2275 SUECIA (SE USA EL FORMATO ESTADOUNIDENSE (US DUAL RANGES) 2) SE DEBE TENER EL NOMBRE DE LA COMUNA (DE PREFERENCIA TODO EL TEXTO EN MAYUSCULA, SIN TILDES Y SIN Ñ, LAS Ñ DEBEN SER CAMBIADAS POR N. DEPENDE DEL MAESTRO DE DIRECCIONES QUE TENGAN 3) EXPORTAR LA TABLA EN FORMATO .TXT (RECOMENDABLE) A ARCGIS 4) YA EN ARCGIS, SE DEBE CREAR UN LOCALIZADOR DE DIRECCION (ADDRESS LOCATOR), ESTE SE ENCUENTRA EN ARC TOOLBOX/GEOCODING TOOLS/CREATE ADDRESS LOCATOR.
5) PARA CREAR EL ADDRESS LOCATOR SE DEBE ELEGIR; EN STYLE, USS ADDRESS DUAL RANGES
6) COMO DATA DE REFERENCIA SE AGREGA EL SHAPE DE CALLES DE LA CIUDAD (SANTIAGO, VALPO, CONCEPCION, ETC) Y EN FIELD MAP SE DEBEN COMPLETAR LOS CAMPOS “STREET”, EL CUAL SE DEBE ELEGIR LA OPCIÓN “STREET”, Y LOS CAMPOS LEFT CITY ON PLACE Y RIGHT CITY ON PLACE, AMBOS CON LA OPCIÓN “COMUNA”. SE ELIGE DONDE GUARDAR Y LISTO.
7) UNA VEZ CREADO EL ADDRESS LOCATOR SE DEBE AGREGAR LA TABLA EXCEL CON LAS DIRECCIONES EN EL FORMATO PEDIDO, DARLE CLICK DERECHO Y CLICK EN LA OPCION GEOCODE ADDRESSES, AHÍ PEDIRA ELEGIR EL LOCALIZADOR CREADO Y DA LA OPCIÓN PARA BUSCARLO.
8) ELEGIDO EL LOCALIZADOR SE ELIGEN LAS VARIABLES PARA QUE ESTE ENCUENTRE LAS DIRECCIONES, EN STREET SE ELIGE LA VARIBLE FORMATO QUE CREAMOS (2275 SUECIA) Y LA COMUNA COMO CITY OF PLACENAME. FINALMENTE SE ELIGE DONDE GUARDAR Y SE LE DA CLICK A OK.
9) PARA DETERMINAR OPCIONES EN LA GEOCODIFICACIÓN Y PERMITIR QUE EL LOCALIZADOR ENCUENTRE DIRECCIONES QUE NO ESTÉN 100% IGUAL A LAS DEL MAESTRO (SHAPE). EN LA OPCIÓN GEOCODING OPTIONS, SE PUEDEN AUMENTAR LA TOLERANCIA DISMINUYENDO LA RIGUROSIDAD, AUNQUE CON EL RIESGO DE QUE DIRECCIONES SIMILARES QUEDEN EN OTROS LUGARES. DEJAR LA SENSIBILIDAD CON 65% DE COINCIDENCIA ES RECOMENDABLE.
10) ESTO VA A ENTREGAR UN SHAPEFILE DE PUNTOS CON TODOS LOS ATRIBUTOS QUE VENIAN EN LA TABLA Y SE LE PUEDE ASIGNAR LATITUD Y LONGITUD MEDIANTE LA OPCION FIELD CALCULATOR EN LA TABLA DE ATRIBUTOS. EL PROCESO EN SI ENTREGARÁ DIRECCIONES SI ESTAS ESTÁN BIEN ESCRITAS, COMPLETAS O EN EL MISMO FORMATO QUE EL SHAPE DE CALLES CON EL QUE SE HIZO EL ADDRESS LOCATOR, PARA ESTO ES IMPORTANTE EVITAR PREFIJOS EN LA DIRECCION COMO PJE, PSJE, PASAJE, PJE., PSJE. P. AVDA., AV, AVENIDA, CALLE, YA QUE EL LOCALIZADOR NO LOS TOMA.
GEOCODIFICACIÓN POR GOOGLE A TRAVÉS DE API ES MUCHO MÁS LENTO QUE EL ARCGIS PERO MÁS CONFIABLE YA QUE ENTREGA DIRECCIONES AUNQUE VENGAN INCOMPLETAS O CON FORMATO DISTINTO, LO MALO ES QUE NO CONSERVA NINGÚN ATRIBUTO DE LA TABLA. PASOS 1) EN EXCEL ORDENAR LAS DIRECCIONES DE ACUERDO AL FORMATO “CALLE N°, COMUNA, REGION, PAIS”, POR EJEMPLO PARA LA DIRECCION SUECIA 2761 EL FORMATO SERÍA: SUECIA 2761, ÑUÑOA, REGION METROPOLITANA, CHILE 2) DE PREFERENCIA EN MAYUSCULAS, SIN TILDES. 3) UNA VEZ OBTENIDO EL FORMATO SE DEBE IR AL SITIO WEB PARA GEOCODIFICAR http://www.gpsvisualizer.com/geocoder/ , EN INPUT SE DEBEN PEGAR SOLO LAS DIRECCIONES EN EL FORMATO PEDIDO. EL PROGRAMA RECOMIENDA NO INGRESAR MÁS DE 500 A LA VEZ, AUNQUE SE PUEDEN METER MÁS NO ES RECOMENDABLE PORQUE ANDA MÁS LENTO Y ENCUENTRA MENOS DIRECCIONES. EN LA PESTAÑA SOURCE MAP QUEST SE DEBE ELEGIR LA OPCION GOOGLE Y EN LA CLAVE DE API INGRESAR SU CLAVE Y DARLE CLICK A START GEOCODING. COMO CLAVE DE REFERENCIA SE PUEDE UTILIZAR: AIzaSyDxJdm_7o7AqJKru11f6wjKSsrDih8159s
4) UNA VEZ LISTAS TODAS (EL SITIO TIENE UN CONTADOR BAJO EL MAPA QUE INDICA CUANTAS LLEVA) SE DEBE CREAR EL MAPA Y EXPORTAR LAS DIRECCIONES EN LA OPCION OUTPUT FORMAT SE DEBE ELEGIR KML (GOOGLE EARTH) Y DAR CLICK EN DRAW A MAP.
5) GUARDADO EL KML , SE DEBE ABRIR ARCGIS PARA CARGAR EL KML Y CONVERTIRLO A SHAPEFILE, ESTO SE HACE EN ARC TOOLBOX/ CONVERSION TOOLS / FROM KML/ KML TO LAYER, UNA VEZ CREADO EL LAYER SE DEBE EXPORTAR COMO SHAPE Y LISTO.
POR EXCEL CON CONEXIÓN A INTERNET TIENE LAS MISMAS CARACTERÍSTICAS QUE POR LA API DE GOOGLE PERO SE PUEDE HACER DIRECTO A LA TABLA EXCEL, TAMBIÉN TIENE UNA CAPACIDAD DE GEOCODIFICACIÓN GRATUITA DE 2500 REGISTROS DIARIOS. EL PROCESO AL GEOCODIFICAR TARDA VARIOS MINUTOS DEPENDIENDO LA CANTIDAD DE DATOS, PERO PARA 2500 DATOS A LA VEZ PODRÍA TARDAR SOBRE LOS 30 MINUTOS. LA VENTAJA ES QUE SOLO SE NECESITA UNA CONEXIÓN A INTERNET Y SE PUEDEN CONSERVAR TODOS LOS ATRIBUTOS YA QUE LO QUE SE HACE ES AGREGAR UN NUEVO CAMPO DE LATITUD Y LONGITUD A LA FILA (EN GRADOS DECIMALES). EL PROCESO CONSISTE EN CREAR UNA OPERACIÓN EN EXCEL VÍA VISUAL BASIC, A TRAVÉS DE UN SCRIPT. EL MÉTODO ES ALTAMENTE EFECTIVO, PERO EN PRIMERA INSTANCIA TIENE UN ÉXITO CERCANO AL 50% PASOS 1) ORDENAR LA DATA PARA CONCATENAR LA DIRECCIÓN EN EL MISMO FORMATO QUE EN EL MÉTODO API GOOGLE (CALLE N°, COMUNA, REGION, PAIS), SIGUIENDO EL EJEMPLO ANTERIOR (SUECIA 2761, ÑUÑOA, REGION METROPOLITANA, CHILE) EN UNA CELDA CONCATENADA DE LOS DATOS ANTERIORES. 2) CREACIÓN DE LA OPERACIÓN “GEOCODIFICAR” EN EXCEL VISUAL BASIC: LA HERRAMIENTA VISUAL BASIC SE ENCUENTRA EN EL PROGRAMADOR DE EXCEL, SI NO APARECE EL PROGRAMADOR, HAY QUE ACTIVARLO EN LAS OPCIONES DE INICIO > COMPLEMENTOS.
A CONTINUACIÓN, SE DEBE ABRIR EL VISUAL BASIC E INGRESAR A LA OPCIÓN INSERTAR > MÓDULO, PARA INCORPORAR EL SCRIPT, DE PREFERENCIA AL REALIZAR ESTE MÉTODO NO TENER ABIERTOS OTROS TRABAJOS EN EXCEL
UNA VEZ ABIERTA LA VENTANA SE DEBE INCORPORAR EL SIGUIENTE SCRIPT DE GEOCODIFICACIÓN.
Public Function GEOCODIFICAR(Direccion As String) Dim PrimerValor As String, SegundoValor As String, TercerValor As String, ValorTemporal As String 'Primera parte: Armado de la URL con la consulta a la API de Google Maps Geocode PrimerValor = "http://maps.googleapis.com/maps/api/geocode/json?address=" TercerValor = "&sensor=false" Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP") URL = PrimerValor & Replace(Direccion, " ", "+") & TercerValor 'Parte dos: Interpretación del XML que se obtiene como respuesta de la API de Google Maps Geocode objHTTP.Open "GET", URL, False objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible, MSIE 6.0, Windows NT 5.0)" objHTTP.send ("") If InStr(objHTTP.responseText, """lat""") = 0 Then GoTo Error ValorTemporal = Right(objHTTP.responseText, Len(objHTTP.responseText) InStr(objHTTP.responseText, """lat"" : ") - 7) lat = Split(ValorTemporal, ",")(0) ValorTemporal = Right(objHTTP.responseText, Len(objHTTP.responseText) InStr(objHTTP.responseText, """lng"" : ") - 7) lng = Replace(Split(ValorTemporal, "}")(0), " ", "") GEOCODIFICAR = lat & " , " & lng Exit Function 'Parte tres: Manejo de errores y excepciones Error: lat = lng = "No encontrado" End Function
3) UNA VEZ INGRESADO EL SCRIPT SE DEBE CERRAR EL VISUAL BASIC Y A CONTINUACIÓN VOLVER A EXCEL A LA PLANILLA CON NUESTRAS DIRECCIONES Y EN LA CELDA CONTIGUA A LA DIRECCIÓN AGREGAR LA OPERACIÓN “GEOCODIFICAR” AL DAR ENTER DEBERÍA APARECER NUESTRA LATITUD Y LONGITUD DE LA DIRECCIÓN EN UNA SOLA CELDA. UNA VEZ COMPLETADO EL PROCESO SE RECOMIENDA COPIAR Y PEGAR LA COLUMNA COMO VALORES. FINALMENTE PARA SEPARAR LATITUD Y LONGITUD SE UNA UN SEPARADOR POR COLUMNAS DE LA PESTAÑA DATOS, EL SEPARADOR UTILIZADO ES LA COMA (,).