- Cambios en el Algoritmo Genetico.

- Se agregó el HASH al JSON que regresa cuando se genera el ruteo.
This commit is contained in:
2024-05-07 05:46:32 -06:00
parent 433fc32b9a
commit b44f28abc9
18 changed files with 2353 additions and 35 deletions

View File

@@ -1,24 +1,45 @@
AppType=StandardJava
Build1=Default,b4j.example
File1=config.js
File2=cover.png
File3=genetic-algorithm.js
File4=index.html
File5=LICENSE
File6=map.js
File7=README.md
File8=result.html
File9=style.css
FileGroup1=Default Group
FileGroup2=Default Group
FileGroup3=Default Group
FileGroup4=Default Group
FileGroup5=Default Group
FileGroup6=Default Group
FileGroup7=Default Group
FileGroup8=Default Group
FileGroup9=Default Group
Group=Default Group
Library1=compressstrings
Library10=byteconverter
Library2=jcore
Library3=jfx
Library4=jokhttputils2
Library5=jrandomaccessfile
Library6=jserver
Library7=json
Library8=jsql
Library9=nhcalculatehash
Module1=DBRequestManager
Module2=delDB
Module3=Mapa
Module4=rutaCompleta
Module5=Ruteador
NumberOfFiles=0
NumberOfLibraries=10
NumberOfModules=5
Library1=byteconverter
Library10=nhcalculatehash
Library11=javaobject
Library2=compressstrings
Library3=jcore
Library4=jfx
Library5=jokhttputils2
Library6=jrandomaccessfile
Library7=jserver
Library8=json
Library9=jsql
Module1=Ayuda
Module2=DBRequestManager
Module3=delDB
Module4=Genetic_Algorithm
Module5=Mapa
Module6=rutaCompleta
Module7=Ruteador
NumberOfFiles=9
NumberOfLibraries=11
NumberOfModules=7
Version=10
@EndOfDesignText@
#Region Project Attributes
@@ -38,7 +59,7 @@ Version=10
#End Region
Sub Process_Globals
Private srvr As Server
Dim srvr As Server
Dim db As SQL
' Dim fx As JFX
Dim punteoLista As List
@@ -52,6 +73,7 @@ Sub Process_Globals
' Dim estePunto() As String
Dim error As String = ""
Dim msg As String = ""
Dim hash As String = ""
End Sub
Sub AppStart (Args() As String)
@@ -72,9 +94,7 @@ Sub AppStart (Args() As String)
End If
Next
End If
' Log($"ARGS=${DBRIp}:${DBRPort}"$)
Log("Server Port=" & srvr.Port)
ts.Initialize
@@ -85,12 +105,20 @@ Sub AppStart (Args() As String)
srvr.AddHandler("/mapa", "Mapa", False)
srvr.AddHandler("/rutacompleta", "rutaCompleta", False)
srvr.AddHandler("/borrar", "delDB", False)
srvr.AddHandler("/ayuda", "Ayuda", False)
srvr.AddHandler("/help", "Ayuda", False)
srvr.AddHandler("/h", "Ayuda", False)
srvr.AddHandler("/ga", "Genetic_Algorithm", False)
Log(File.ListFiles(File.DirApp))
Dim jo As JavaObject = srvr
jo.GetFieldJO("context").RunMethodJO("getMimeTypes", Null).RunMethod("addMimeMapping", Array("kml", "text/xml"))
srvr.Start
StartMessageLoop
'open browser and navigate to: http://127.0.0.1:51042/
End Sub
#Region Shared Files
@@ -153,7 +181,7 @@ Sub creaTablas(params As Map)
Log(params)
Private almacen As String = params.Get("almacen")
Private estasCoords As String = params.Get("coords")
Private hash As String = params.Get("hash")
hash = params.Get("hash")
Private ruta As String = $"${params.Get("ruta")}A${almacen}_${hash}"$
db.BeginTransaction
Try
@@ -281,6 +309,10 @@ Sub generaMatrizOSRM(ruta As String) As ResumableSub 'ignore
If j.Success Then
' Log(j.GetString)
Private j0 As String = j.GetString
Else
Log($"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ${CRLF} ${j.ErrorMessage}"$)
If error = "" Then error = j.ErrorMessage
Log($"######################### ${error}"$)
End If
j.Release
' StopMessageLoop
@@ -300,6 +332,7 @@ Sub generaMatrizOSRM(ruta As String) As ResumableSub 'ignore
' fx.ShowExternalDocument($"http://router.project-osrm.org/table/v1/driving/${lasCoords}"$)
Log("Matriz OSRM generada")
Catch
Log(456)
Log(LastException)
If error = "" Then error = LastException
End Try
@@ -394,7 +427,7 @@ Private Sub b_tiempos_Click
' tiempos("R1")
End Sub
'Regresa El tiempo y distancia de la ruta especificada.
'Regresa El tiempo y distancia de la ruta especificada desde el API de OSRM.
Sub tiempos(ruta As String) As ResumableSub 'ignore
Log("#######################################################")
Log("############# Main/tiempos ####################")
@@ -422,6 +455,10 @@ Sub tiempos(ruta As String) As ResumableSub 'ignore
' Log("RESPONSE:")
' Log(j.GetString)
Private j0 As String = j.GetString
Else
Log($"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ${CRLF} ${j.ErrorMessage}"$)
If error = "" Then error = j.ErrorMessage
Log($"######################### ${error}"$)
End If
j.Release
' StopMessageLoop
@@ -434,7 +471,7 @@ Sub tiempos(ruta As String) As ResumableSub 'ignore
'' Log(colroot)
'' Next
' Log("*****************************************")
ts.Put(ruta, CreateMap("code":"KO", "duration":0, "distance":0, "puntos":0))
ts.Put(ruta, CreateMap("code":"KO", "duration":0, "distance":0, "puntos":0, "mensaje":error))
Try
Private m As Map = js.NextObject
' Log(m)
@@ -446,11 +483,12 @@ Sub tiempos(ruta As String) As ResumableSub 'ignore
' Log("Distance: " & rutas.Get("distance"))
' Log("Legs: " & rutas.Get("legs").As(List).Size)
' Log("Waypoints: " & waypoints.Size)
ts.Put(ruta, CreateMap("code":"OK", "duration":rutas.Get("duration"), "distance":rutas.Get("distance"), "puntos":rutas.Get("legs").As(List).Size))
ts.Put(ruta, CreateMap("code":"OK", "hash":hash, "duration":rutas.Get("duration"), "distance":rutas.Get("distance"), "puntos":rutas.Get("legs").As(List).Size))
' Log(">>>>>>>>>>>>>>>>>>>>>>>>>>>" & ts)
Catch
Log(LastException)
If error = "" Then error = LastException
Log($"######################### ${error}"$)
End Try
End If
Return 1
@@ -635,7 +673,7 @@ Public Sub calculateDistance3(lat1 As Double, lon1 As Double, lat2 As Double, lo
Return Round(Yards)
Catch
Log("CalcDistance " & LastException)
if error = "" then error = LastException
If error = "" Then error = LastException
Return -1
End Try
End Sub