Este documento describe el desarrollo de una aplicación para georreferenciar información minera en la provincia de Salta, Argentina. La aplicación mapea polígonos, líneas y puntos relacionados con la minería utilizando el control MapControl de Genexus junto con la API de Google Maps. Permite visualizar los datos geoespaciales según su tipo y realizar análisis estadísticos. Se proponen futuras mejoras como mediciones interactivas y capas temáticas.
24. Nuevas Funcionalidades esperadas
#GX24
• Calculo de Superficie de un Polígono
• Medir Distancias entre dos puntos on line
• Detectar la superposición visual de Polígonos
• Dibujo de Polígonos directamente en el Mapa
• Exportar a KML e interactuar mas con google earth
• Explotar al Máximo la API 3 de Google MAPS
• Interfase de VIsta Full Screen
• Capas
• Puntos de Interés:
• Hoteles
• Aeropuertos
• Rutas
• Ríos y temas geográficos
25. #GX24
Georeferenciando Mineria
Georeferenciación
con Genexus +
MapControl + API
Google +
Georeferenciación
en otras
aplicaciones
33. Como lo hicimos El mapa temático
#GX24
Event Start
If &HttpRequest.Method = 'GET'
Form.Caption = 'Mapa Catastral'
For each TipoCoordenadaID
where TipoPoligonosCant > 0
where TipoPoligonosPublico = true
&TipoPoligonoSDT.TipoCoordenadaID = TipoCoordenadaID
&TipoPoligonoSDT.TipoCoordenadaDesc = TipoCoordenadaDesc
&TipoPoligonoSDT.TipoCoordenadaIcono.FromURL(TipoCoordenadaIcono.ImageURI)
&TipoPoligonoSDT.TipoPoligonosJerarquia = TipoPoligonosJerarquia
&TipoPoligonoSDT.TipoPoligonosCant = TipoPoligonosCant
&TipoPoligonoSDT.TipoPoligonosPert = TipoPoligonosPert
&TiposPoligonosSDT.Add(&TipoPoligonoSDT)
&TipoPoligonoSDT = new TipoPoligonoSDT()
EndFor
Endif
Endevent
34. Como lo hicimos El mapa temático
#GX24
Event ctlTipoPoligonoSelected.Click
&TipoCoordenadaID = &TiposPoligonosSDT.CurrentItem.TipoCoordenadaID
&TipoCoordenadaDesc = &TiposPoligonosSDT.CurrentItem.TipoCoordenadaDesc
If &TiposPoligonosSDT.CurrentItem.TipoPoligonoSelected = true
&TipoPoligonoSDT.TipoPoligonoSelected = true
&TipoPoligonoSelected = true
else
&TipoPoligonoSDT.TipoPoligonoSelected = false
&TipoPoligonoSelected = false
Endif
do 'Poligonos y Lineas'
Endevent
35. Como lo hicimos El mapa temático
#GX24
Sub 'Poligonos y Lineas' //Poligonos Y Lineas
For each …….
Do case
Case ExpedientePoligonosTipoDibujo = 'Poligono'.and. &TipoPoligonoSelected = true
//Polygons
&GxMapPolygon = new GxMap.Polygon()
&GxMapPolygon.PolygonFill = TipoCoordenadaColorHexa
&GxMapPolygon.PolygonFillOpacity = (TipoCoordenadaFillOpacity/100)
&GxMapPolygon.PolygonStroke = TipoCoordenadaColorHexa_B
&GxMapPolygon.PolygonStrokeOpacity = TipoCoordenadaStrokeOpacity
&GxMapPolygon.PolygonStrokeWeight = TipoCoordenadaGrosorBorde
&GxMapPolygon.PolygonInfowinHtml = ExpedienteNombreMina.Trim()
&GxMapPolygon.PolygonTipoPoligonoID = &TipoCoordenadaID
For each ExpedientePoligonosBloqueID
&GxMapPolyPath = new GxMap.Polygon.Path()
&GxMapPolyPath.PathLat = ExpedientePoligonosBloqueLat.ToString().Trim()
&GxMapPolyPath.PathLong = ExpedientePoligonosBloqueLong.ToString().Trim()
&GxMapPolygon.Paths.Add(&GxMapPolyPath )
EndFor
&GxMapData.Polygons.Add(&GxMapPolygon )
Case ExpedientePoligonosTipoDibujo = 'Poligono' .and. &TipoPoligonoSelected = false
For &GxMapPolygon In &GxMapData.Polygons
If &GxMapPolygon.PolygonTipoPoligonoID = &TipoCoordenadaID
&GxMapPolygon.Paths.Clear()
Endif
EndFor
EndCase
EndFor
EndSub