iniciado algoritmo para monitoramento do gps em campo

This commit is contained in:
Diego Freitas 2024-02-29 17:01:02 -03:00
parent 108803068f
commit 9fd3170bb9
194 changed files with 2254 additions and 1844 deletions

Binary file not shown.

View File

@ -315,6 +315,8 @@
<Compile Include="Services\SerialService.cs" />
<Compile Include="Services\SocketService.cs" />
<Content Include="Imagens\loading.gif" />
<Content Include="Imagens\rosa_dos_ventos.png" />
<Content Include="Imagens\transferidor.png" />
<Content Include="Python\Models\deeplabv3plus\backbone\hrnetv2.py">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
@ -351,78 +353,6 @@
<Content Include="Python\Scripts\weed-detector.py">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="Utils\offline_maps\gmapapi.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Utils\offline_maps\gmapcache\components.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Utils\offline_maps\gmapcache\empty.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Utils\offline_maps\gmapcache\gmapapi.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Utils\offline_maps\gmapcache\gstatic\arrow-down.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Utils\offline_maps\gmapcache\gstatic\cb\mod_cb_scout\cb_scout_sprite_api_003.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Utils\offline_maps\gmapcache\gstatic\cb\target_locking.gif">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Utils\offline_maps\gmapcache\gstatic\closedhand_8_8.cur">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Utils\offline_maps\gmapcache\gstatic\google_white.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Utils\offline_maps\gmapcache\gstatic\iw3.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Utils\offline_maps\gmapcache\gstatic\iws3.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Utils\offline_maps\gmapcache\gstatic\mapcontrols3d7.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Utils\offline_maps\gmapcache\gstatic\markers2\marker_sprite.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Utils\offline_maps\gmapcache\gstatic\mv\imgs8.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Utils\offline_maps\gmapcache\gstatic\openhand_8_8.cur">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Utils\offline_maps\gmapcache\gstatic\rotate2.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Utils\offline_maps\gmapcache\gstatic\szc4.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Utils\offline_maps\gmapcache\gstatic\transparent.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Utils\offline_maps\gmapcache\main.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Utils\offline_maps\index.html">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Utils\offline_maps\map.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Utils\offline_maps\script.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Utils\offline_maps\style.css">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Utils\offline_maps\webStorage.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<EmbeddedResource Include="Forms\Atuador\frmAtuConfig.resx">
<DependentUpon>frmAtuConfig.cs</DependentUpon>
</EmbeddedResource>
@ -557,9 +487,6 @@
<None Include="Python\Models\deeplabv3plus\__pycache__\__init__.cpython-311.pyc">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<Content Include="Utils\offline_maps\appcache.manifest">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<None Include="App.config" />

View File

@ -29,9 +29,9 @@ namespace AgroBase.Forms.Operacoes
/// </summary>
private void InitializeComponent()
{
System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea2 = new System.Windows.Forms.DataVisualization.Charting.ChartArea();
System.Windows.Forms.DataVisualization.Charting.Legend legend2 = new System.Windows.Forms.DataVisualization.Charting.Legend();
System.Windows.Forms.DataVisualization.Charting.Series series2 = new System.Windows.Forms.DataVisualization.Charting.Series();
System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea();
System.Windows.Forms.DataVisualization.Charting.Legend legend1 = new System.Windows.Forms.DataVisualization.Charting.Legend();
System.Windows.Forms.DataVisualization.Charting.Series series1 = new System.Windows.Forms.DataVisualization.Charting.Series();
this.pnlCameraSolo = new System.Windows.Forms.Panel();
this.pnlCameraSoloD = new System.Windows.Forms.Panel();
this.pnlCameraSoloE = new System.Windows.Forms.Panel();
@ -42,10 +42,13 @@ namespace AgroBase.Forms.Operacoes
this.pnlGraficos = new System.Windows.Forms.Panel();
this.chartGraficos = new System.Windows.Forms.DataVisualization.Charting.Chart();
this.pnlNiveis = new System.Windows.Forms.Panel();
this.lblPorcentagemProgresso = new System.Windows.Forms.Label();
this.pgbProgresso = new System.Windows.Forms.ProgressBar();
this.lblProgressoT = new System.Windows.Forms.Label();
this.lblPorcentagemBateria = new System.Windows.Forms.Label();
this.lblBateriaT = new System.Windows.Forms.Label();
this.lblReservatorioT = new System.Windows.Forms.Label();
this.lblPorcentagemProgresso = new System.Windows.Forms.Label();
this.pgbBateria = new System.Windows.Forms.ProgressBar();
this.pgbProgresso = new System.Windows.Forms.ProgressBar();
this.lblPorcentagemReservatorio = new System.Windows.Forms.Label();
this.pgbReservatorio = new System.Windows.Forms.ProgressBar();
this.gpbOpcoes = new System.Windows.Forms.GroupBox();
@ -78,6 +81,11 @@ namespace AgroBase.Forms.Operacoes
this.lblUltimaLeituraSolo = new System.Windows.Forms.Label();
this.pnlMapa = new System.Windows.Forms.Panel();
this.pnlOrientacao = new System.Windows.Forms.Panel();
this.lblStatus = new System.Windows.Forms.Label();
this.lblDirecao = new System.Windows.Forms.Label();
this.lblDistancia = new System.Windows.Forms.Label();
this.btnSimular = new System.Windows.Forms.Button();
this.btnManobraConcluida = new System.Windows.Forms.Button();
this.pnlCameraSolo.SuspendLayout();
this.pnlAtuadores.SuspendLayout();
this.pnlGraficos.SuspendLayout();
@ -166,18 +174,18 @@ namespace AgroBase.Forms.Operacoes
//
// chartGraficos
//
chartArea2.Name = "ChartArea1";
this.chartGraficos.ChartAreas.Add(chartArea2);
chartArea1.Name = "ChartArea1";
this.chartGraficos.ChartAreas.Add(chartArea1);
this.chartGraficos.Dock = System.Windows.Forms.DockStyle.Fill;
legend2.Name = "Legend1";
this.chartGraficos.Legends.Add(legend2);
legend1.Name = "Legend1";
this.chartGraficos.Legends.Add(legend1);
this.chartGraficos.Location = new System.Drawing.Point(0, 0);
this.chartGraficos.Margin = new System.Windows.Forms.Padding(2);
this.chartGraficos.Name = "chartGraficos";
series2.ChartArea = "ChartArea1";
series2.Legend = "Legend1";
series2.Name = "Series1";
this.chartGraficos.Series.Add(series2);
series1.ChartArea = "ChartArea1";
series1.Legend = "Legend1";
series1.Name = "Series1";
this.chartGraficos.Series.Add(series1);
this.chartGraficos.Size = new System.Drawing.Size(405, 254);
this.chartGraficos.TabIndex = 0;
this.chartGraficos.Text = "chart1";
@ -185,10 +193,17 @@ namespace AgroBase.Forms.Operacoes
// pnlNiveis
//
this.pnlNiveis.BackColor = System.Drawing.SystemColors.Control;
this.pnlNiveis.Controls.Add(this.lblPorcentagemProgresso);
this.pnlNiveis.Controls.Add(this.pgbProgresso);
this.pnlNiveis.Controls.Add(this.btnManobraConcluida);
this.pnlNiveis.Controls.Add(this.btnSimular);
this.pnlNiveis.Controls.Add(this.lblDirecao);
this.pnlNiveis.Controls.Add(this.lblStatus);
this.pnlNiveis.Controls.Add(this.lblProgressoT);
this.pnlNiveis.Controls.Add(this.lblPorcentagemBateria);
this.pnlNiveis.Controls.Add(this.lblBateriaT);
this.pnlNiveis.Controls.Add(this.lblReservatorioT);
this.pnlNiveis.Controls.Add(this.lblPorcentagemProgresso);
this.pnlNiveis.Controls.Add(this.pgbBateria);
this.pnlNiveis.Controls.Add(this.pgbProgresso);
this.pnlNiveis.Controls.Add(this.lblPorcentagemReservatorio);
this.pnlNiveis.Controls.Add(this.pgbReservatorio);
this.pnlNiveis.Font = new System.Drawing.Font("Mongolian Baiti", 9F, System.Drawing.FontStyle.Bold);
@ -198,58 +213,89 @@ namespace AgroBase.Forms.Operacoes
this.pnlNiveis.Size = new System.Drawing.Size(592, 69);
this.pnlNiveis.TabIndex = 6;
//
// lblPorcentagemProgresso
// lblProgressoT
//
this.lblPorcentagemProgresso.AutoSize = true;
this.lblPorcentagemProgresso.Location = new System.Drawing.Point(392, 11);
this.lblPorcentagemProgresso.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.lblPorcentagemProgresso.Name = "lblPorcentagemProgresso";
this.lblPorcentagemProgresso.Size = new System.Drawing.Size(108, 13);
this.lblPorcentagemProgresso.TabIndex = 5;
this.lblPorcentagemProgresso.Text = "Progresso: 0,00%";
//
// pgbProgresso
//
this.pgbProgresso.Location = new System.Drawing.Point(394, 27);
this.pgbProgresso.Margin = new System.Windows.Forms.Padding(2);
this.pgbProgresso.Name = "pgbProgresso";
this.pgbProgresso.Size = new System.Drawing.Size(191, 40);
this.pgbProgresso.TabIndex = 4;
this.lblProgressoT.AutoSize = true;
this.lblProgressoT.Location = new System.Drawing.Point(322, 13);
this.lblProgressoT.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.lblProgressoT.Name = "lblProgressoT";
this.lblProgressoT.Size = new System.Drawing.Size(64, 13);
this.lblProgressoT.TabIndex = 8;
this.lblProgressoT.Text = "Progresso";
//
// lblPorcentagemBateria
//
this.lblPorcentagemBateria.AutoSize = true;
this.lblPorcentagemBateria.Location = new System.Drawing.Point(198, 11);
this.lblPorcentagemBateria.Location = new System.Drawing.Point(167, 43);
this.lblPorcentagemBateria.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.lblPorcentagemBateria.Name = "lblPorcentagemBateria";
this.lblPorcentagemBateria.Size = new System.Drawing.Size(91, 13);
this.lblPorcentagemBateria.Size = new System.Drawing.Size(50, 13);
this.lblPorcentagemBateria.TabIndex = 3;
this.lblPorcentagemBateria.Text = "Bateria: 0,00%";
this.lblPorcentagemBateria.Text = "00,00%";
//
// lblBateriaT
//
this.lblBateriaT.AutoSize = true;
this.lblBateriaT.Location = new System.Drawing.Point(2, 44);
this.lblBateriaT.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.lblBateriaT.Name = "lblBateriaT";
this.lblBateriaT.Size = new System.Drawing.Size(47, 13);
this.lblBateriaT.TabIndex = 7;
this.lblBateriaT.Text = "Bateria";
//
// lblReservatorioT
//
this.lblReservatorioT.AutoSize = true;
this.lblReservatorioT.Location = new System.Drawing.Point(2, 13);
this.lblReservatorioT.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.lblReservatorioT.Name = "lblReservatorioT";
this.lblReservatorioT.Size = new System.Drawing.Size(79, 13);
this.lblReservatorioT.TabIndex = 6;
this.lblReservatorioT.Text = "Reservatório";
//
// lblPorcentagemProgresso
//
this.lblPorcentagemProgresso.AutoSize = true;
this.lblPorcentagemProgresso.Location = new System.Drawing.Point(477, 12);
this.lblPorcentagemProgresso.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.lblPorcentagemProgresso.Name = "lblPorcentagemProgresso";
this.lblPorcentagemProgresso.Size = new System.Drawing.Size(50, 13);
this.lblPorcentagemProgresso.TabIndex = 5;
this.lblPorcentagemProgresso.Text = "00,00%";
//
// pgbBateria
//
this.pgbBateria.Location = new System.Drawing.Point(198, 27);
this.pgbBateria.Location = new System.Drawing.Point(98, 36);
this.pgbBateria.Margin = new System.Windows.Forms.Padding(2);
this.pgbBateria.Name = "pgbBateria";
this.pgbBateria.Size = new System.Drawing.Size(191, 40);
this.pgbBateria.Size = new System.Drawing.Size(175, 27);
this.pgbBateria.TabIndex = 2;
//
// pgbProgresso
//
this.pgbProgresso.Location = new System.Drawing.Point(408, 5);
this.pgbProgresso.Margin = new System.Windows.Forms.Padding(2);
this.pgbProgresso.Name = "pgbProgresso";
this.pgbProgresso.Size = new System.Drawing.Size(175, 27);
this.pgbProgresso.TabIndex = 4;
//
// lblPorcentagemReservatorio
//
this.lblPorcentagemReservatorio.AutoSize = true;
this.lblPorcentagemReservatorio.Location = new System.Drawing.Point(2, 11);
this.lblPorcentagemReservatorio.BackColor = System.Drawing.Color.Transparent;
this.lblPorcentagemReservatorio.Location = new System.Drawing.Point(167, 12);
this.lblPorcentagemReservatorio.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.lblPorcentagemReservatorio.Name = "lblPorcentagemReservatorio";
this.lblPorcentagemReservatorio.Size = new System.Drawing.Size(123, 13);
this.lblPorcentagemReservatorio.Size = new System.Drawing.Size(50, 13);
this.lblPorcentagemReservatorio.TabIndex = 1;
this.lblPorcentagemReservatorio.Text = "Reservatório: 0,00%";
this.lblPorcentagemReservatorio.Text = "00,00%";
//
// pgbReservatorio
//
this.pgbReservatorio.Location = new System.Drawing.Point(2, 27);
this.pgbReservatorio.Location = new System.Drawing.Point(98, 5);
this.pgbReservatorio.Margin = new System.Windows.Forms.Padding(2);
this.pgbReservatorio.Name = "pgbReservatorio";
this.pgbReservatorio.Size = new System.Drawing.Size(191, 40);
this.pgbReservatorio.Size = new System.Drawing.Size(175, 27);
this.pgbReservatorio.TabIndex = 0;
//
// gpbOpcoes
@ -449,6 +495,8 @@ namespace AgroBase.Forms.Operacoes
// pnlInclinacao
//
this.pnlInclinacao.BackColor = System.Drawing.Color.White;
this.pnlInclinacao.BackgroundImage = global::AgroBase.Properties.Resources.transferidor;
this.pnlInclinacao.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
this.pnlInclinacao.Location = new System.Drawing.Point(625, 6);
this.pnlInclinacao.Margin = new System.Windows.Forms.Padding(2);
this.pnlInclinacao.Name = "pnlInclinacao";
@ -480,6 +528,7 @@ namespace AgroBase.Forms.Operacoes
//
// pnlInferior
//
this.pnlInferior.Controls.Add(this.lblDistancia);
this.pnlInferior.Controls.Add(this.lblMapaCarregado);
this.pnlInferior.Controls.Add(this.chbGPSativo);
this.pnlInferior.Controls.Add(this.chbATUativo);
@ -498,7 +547,7 @@ namespace AgroBase.Forms.Operacoes
//
this.lblMapaCarregado.AutoSize = true;
this.lblMapaCarregado.Font = new System.Drawing.Font("Mongolian Baiti", 9F, System.Drawing.FontStyle.Bold);
this.lblMapaCarregado.Location = new System.Drawing.Point(227, 24);
this.lblMapaCarregado.Location = new System.Drawing.Point(227, 4);
this.lblMapaCarregado.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.lblMapaCarregado.Name = "lblMapaCarregado";
this.lblMapaCarregado.Size = new System.Drawing.Size(129, 13);
@ -575,6 +624,8 @@ namespace AgroBase.Forms.Operacoes
// pnlOrientacao
//
this.pnlOrientacao.BackColor = System.Drawing.Color.White;
this.pnlOrientacao.BackgroundImage = global::AgroBase.Properties.Resources.rosa_dos_ventos;
this.pnlOrientacao.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
this.pnlOrientacao.Location = new System.Drawing.Point(936, 6);
this.pnlOrientacao.Margin = new System.Windows.Forms.Padding(2);
this.pnlOrientacao.Name = "pnlOrientacao";
@ -582,6 +633,61 @@ namespace AgroBase.Forms.Operacoes
this.pnlOrientacao.TabIndex = 11;
this.pnlOrientacao.Paint += new System.Windows.Forms.PaintEventHandler(this.pnlOrientacao_Paint);
//
// lblStatus
//
this.lblStatus.AutoSize = true;
this.lblStatus.Font = new System.Drawing.Font("Mongolian Baiti", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lblStatus.Location = new System.Drawing.Point(406, 37);
this.lblStatus.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.lblStatus.Name = "lblStatus";
this.lblStatus.Size = new System.Drawing.Size(114, 11);
this.lblStatus.TabIndex = 10;
this.lblStatus.Text = "Status: Aguardando";
//
// lblDirecao
//
this.lblDirecao.AutoSize = true;
this.lblDirecao.Font = new System.Drawing.Font("Mongolian Baiti", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lblDirecao.Location = new System.Drawing.Point(406, 51);
this.lblDirecao.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.lblDirecao.Name = "lblDirecao";
this.lblDirecao.Size = new System.Drawing.Size(94, 11);
this.lblDirecao.TabIndex = 11;
this.lblDirecao.Text = "Direção: Parado";
//
// lblDistancia
//
this.lblDistancia.AutoSize = true;
this.lblDistancia.Font = new System.Drawing.Font("Mongolian Baiti", 9F, System.Drawing.FontStyle.Bold);
this.lblDistancia.Location = new System.Drawing.Point(227, 24);
this.lblDistancia.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.lblDistancia.Name = "lblDistancia";
this.lblDistancia.Size = new System.Drawing.Size(171, 13);
this.lblDistancia.TabIndex = 10;
this.lblDistancia.Text = "Distância Operação: 00,00 m";
//
// btnSimular
//
this.btnSimular.Location = new System.Drawing.Point(325, 38);
this.btnSimular.Margin = new System.Windows.Forms.Padding(2);
this.btnSimular.Name = "btnSimular";
this.btnSimular.Size = new System.Drawing.Size(61, 21);
this.btnSimular.TabIndex = 12;
this.btnSimular.Text = "Simular";
this.btnSimular.UseVisualStyleBackColor = true;
this.btnSimular.Click += new System.EventHandler(this.btnSimular_Click);
//
// btnManobraConcluida
//
this.btnManobraConcluida.Location = new System.Drawing.Point(544, 43);
this.btnManobraConcluida.Margin = new System.Windows.Forms.Padding(2);
this.btnManobraConcluida.Name = "btnManobraConcluida";
this.btnManobraConcluida.Size = new System.Drawing.Size(39, 21);
this.btnManobraConcluida.TabIndex = 13;
this.btnManobraConcluida.Text = "MC";
this.btnManobraConcluida.UseVisualStyleBackColor = true;
this.btnManobraConcluida.Click += new System.EventHandler(this.btnManobraConcluida_Click);
//
// frmOperacaoSeguidorLinha
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@ -674,5 +780,13 @@ namespace AgroBase.Forms.Operacoes
private System.Windows.Forms.Label lblPressao;
private System.Windows.Forms.Label lblMapaCarregado;
private System.Windows.Forms.Panel pnlOrientacao;
private System.Windows.Forms.Label lblBateriaT;
private System.Windows.Forms.Label lblReservatorioT;
private System.Windows.Forms.Label lblProgressoT;
private System.Windows.Forms.Label lblDirecao;
private System.Windows.Forms.Label lblStatus;
private System.Windows.Forms.Label lblDistancia;
private System.Windows.Forms.Button btnSimular;
private System.Windows.Forms.Button btnManobraConcluida;
}
}

View File

@ -17,6 +17,7 @@ using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Windows.Forms.DataVisualization.Charting;
using static AgroBase.Models.Enuns;
namespace AgroBase.Forms.Operacoes
{
@ -31,6 +32,7 @@ namespace AgroBase.Forms.Operacoes
DispositivosService<MovimentacaoModel> Movimentacao;
DispositivosService<DirecionalModel> Direcional;
DispositivosService<AtuadorModel> Atuador;
DispositivosService<SensoriamentoModel> Sensoriamento;
public frmOperacaoSeguidorLinha()
@ -52,6 +54,9 @@ namespace AgroBase.Forms.Operacoes
private void frmOperacaoSeguidorLinha_Load(object sender, EventArgs e)
{
tmrLeituras.Tick += TmrLeituras_Tick;
tmrLeituras.Start();
AtualizarDispositivos();
AtualizaListaCameras();
@ -75,6 +80,7 @@ namespace AgroBase.Forms.Operacoes
Movimentacao = (DispositivosService<MovimentacaoModel>)Variaveis.DispositivosConectados.FirstOrDefault(x => x.Dispositivo == Enuns.T_Code.Mov);
Direcional = (DispositivosService<DirecionalModel>)Variaveis.DispositivosConectados.FirstOrDefault(x => x.Dispositivo == Enuns.T_Code.Dir);
Atuador = (DispositivosService<AtuadorModel>)Variaveis.DispositivosConectados.FirstOrDefault(x => x.Dispositivo == Enuns.T_Code.Atu);
Sensoriamento = (DispositivosService<SensoriamentoModel>)Variaveis.DispositivosConectados.FirstOrDefault(x => x.Dispositivo == Enuns.T_Code.Sen);
chbMOVativo.Checked = Movimentacao != null && Movimentacao._Porta.IsOpen;
chbDIRativo.Checked = Direcional != null && Direcional._Porta.IsOpen;
@ -331,7 +337,7 @@ namespace AgroBase.Forms.Operacoes
private void btnIniciarOperacao_Click(object sender, EventArgs e)
{
if (tmrLeituras.Enabled == true)
if (Variaveis.OperacaoEmAndamento.Iniciado)
{
btnIniciarOperacao.Text = "Iniciar Operação";
cmbCameraSoloE.Enabled = true;
@ -339,9 +345,6 @@ namespace AgroBase.Forms.Operacoes
cmbCameraCaminho.Enabled = true;
Variaveis.OperacaoEmAndamento.FinalizarOperacao();
tmrLeituras.Tick -= TmrLeituras_Tick;
tmrLeituras.Stop();
}
else
{
@ -351,23 +354,25 @@ namespace AgroBase.Forms.Operacoes
cmbCameraCaminho.Enabled = false;
Variaveis.OperacaoEmAndamento.IniciarOperacao(null, false);
tmrLeituras.Tick += TmrLeituras_Tick;
tmrLeituras.Start();
}
}
private void TmrLeituras_Tick(object sender, EventArgs e)
{
CamerasSolo.ForEach(CameraSolo =>
{
AtualizaLeituraCameraSolo(CameraSolo);
});
AtualizaLeituraCameraCaminho();
Variaveis.OperacaoEmAndamento.Tempo = TimeSpan.FromTicks(Variaveis.OperacaoEmAndamento.Iniciado ? ((Variaveis.OperacaoEmAndamento.TimestampFim > 0 ? Variaveis.OperacaoEmAndamento.TimestampFim : DateTime.Now.Ticks) - Variaveis.OperacaoEmAndamento.TimestampInicio) : 0);
AtualizarGrafico();
if (Variaveis.OperacaoEmAndamento.Iniciado)
{
CamerasSolo.ForEach(CameraSolo =>
{
AtualizaLeituraCameraSolo(CameraSolo);
});
AtualizaLeituraCameraCaminho();
AtualizarGrafico();
}
AtualizarInformacoesGerais();
}
@ -468,6 +473,8 @@ namespace AgroBase.Forms.Operacoes
pnlInclinacao.Invalidate();
lblUltimaLeituraRua.Text = "Ultima Leitura Rua: " + FuncoesGlobais.TimestampToDate(cameraCaminho.Leituras.FirstOrDefault().timestamp);
AtualizaInformacoesControleOperacao();
}
catch
@ -498,6 +505,8 @@ namespace AgroBase.Forms.Operacoes
}
else
{
Variaveis.OperacaoEmAndamento.CalculaDadosMovimentacaoAutonoma();
Variaveis.OperacaoEmAndamento.Controle.BicosAtuados =
!chbATUativo.Checked ? BicosNaoAtuados
: Atuador.Dados.BicosPulverizadores;
@ -649,13 +658,24 @@ namespace AgroBase.Forms.Operacoes
private void AtualizarInformacoesGerais()
{
if (Variaveis.OperacaoEmAndamento.ReferencialRuaGPS.StatusAtual == Enuns.StatusOperacao.Aguardando)
{
this.Text = "Operação Seguidor de Linha - Iniciando em " + (Variaveis.OperacaoEmAndamento.TempoIniciarOperacao - Variaveis.OperacaoEmAndamento.Tempo.Seconds) + " segundos...";
}
else if (Variaveis.OperacaoEmAndamento.ReferencialRuaGPS.StatusAtual == Enuns.StatusOperacao.Parametrizando)
{
this.Text = "Operação Seguidor de Linha - Parametrização";
}
else if (Variaveis.OperacaoEmAndamento.Iniciado)
{
this.Text = "Operação Seguidor de Linha - Iniciado";
}
lblDistanciaEsquerda.Text = "Distancia da Esquerda: " + Variaveis.OperacaoEmAndamento.Sensoriamento.DistanciaEsquerda.ToString("0.00") + " cm";
lblDistanciaDireita.Text = "Distancia da Direita: " + Variaveis.OperacaoEmAndamento.Sensoriamento.DistanciaDireita.ToString("0.00") + " cm";
lblUltimaLeituraRua.Text = "Ultima Leitura Rua: " + FuncoesGlobais.TimestampToDate(cameraCaminho.Leituras.FirstOrDefault().timestamp);
lblDistanciaPercorrida.Text = "Distancia Percorrida: " + Variaveis.OperacaoEmAndamento.Sensoriamento.DistanciaPercorrida.ToString("0.00") + " m";
TimeSpan tempo = TimeSpan.FromTicks((Variaveis.OperacaoEmAndamento.TimestampFim > 0 ? Variaveis.OperacaoEmAndamento.TimestampFim : DateTime.Now.Ticks) - Variaveis.OperacaoEmAndamento.TimestampInicio);
lblTempoOperacao.Text = "Tempo de Operação: " + tempo.Hours.ToString("00") + ":" + tempo.Minutes.ToString("00") + ":" + tempo.Seconds.ToString("00");
lblTempoOperacao.Text = "Tempo de Operação: " + Variaveis.OperacaoEmAndamento.Tempo.Hours.ToString("00") + ":" + Variaveis.OperacaoEmAndamento.Tempo.Minutes.ToString("00") + ":" + Variaveis.OperacaoEmAndamento.Tempo.Seconds.ToString("00");
lblVelocidadeMedia.Text = "Velocidade Média: " + Variaveis.OperacaoEmAndamento.Sensoriamento.VelocidadeMedia.ToString("0.00") + " km/h";
lblErvasIdentificadas.Text = "Ervas Identificadas: " + Variaveis.OperacaoEmAndamento.Sensoriamento.ErvasIdentificadas.ToString("000");
lblHerbicidaAplicado.Text = "Herbicida Aplicado: " + Variaveis.OperacaoEmAndamento.Sensoriamento.HerbicidaConsumido.ToString("0.000") + " L";
@ -665,37 +685,42 @@ namespace AgroBase.Forms.Operacoes
lblPressao.Text = "P: " + Atuador.Dados.PressaoLinha.ToString("0.00") + " psi";
pgbReservatorio.Value = Convert.ToInt32(Atuador.Dados.PercentualReservatorio);
lblPorcentagemReservatorio.Text = "Reservatório: " + Atuador.Dados.PercentualReservatorio.ToString("0.00") + "%";
lblPorcentagemReservatorio.Text = Atuador.Dados.PercentualReservatorio.ToString("00.00") + "%";
pgbBateria.Value = Convert.ToInt32(Variaveis.OperacaoEmAndamento.Sensoriamento.PorcentagemBateria);
lblPorcentagemReservatorio.Text = Variaveis.OperacaoEmAndamento.Sensoriamento.PorcentagemBateria.ToString("00.00") + "%";
pgbProgresso.Value = Convert.ToInt32(Variaveis.OperacaoEmAndamento.Sensoriamento.ProgressoPercurso);
lblPorcentagemProgresso.Text = "Progresso: " + Variaveis.OperacaoEmAndamento.Sensoriamento.ProgressoPercurso.ToString("0.00") + "%";
lblPorcentagemProgresso.Text = Variaveis.OperacaoEmAndamento.Sensoriamento.ProgressoPercurso.ToString("00.00") + "%";
lblDistancia.Text = "Distância Operação: " + (Variaveis.OperacaoEmAndamento.Mapa == null ? 0 : Variaveis.OperacaoEmAndamento.Mapa.DistanciaTotal).ToString("00.00") + " m";
}
private void pnlInclinacao_Paint(object sender, PaintEventArgs e)
{
try
{
DesenharInclinacao((Panel)sender, e, (float)cameraCaminho.Angulo);
//DesenharInclinacao((Panel)sender, e, (float)cameraCaminho.Angulo);
DesenharInclinacao((Panel)sender, e, (float)(Variaveis.OperacaoEmAndamento.ReferencialRuaGPS.AnguloCarro - Variaveis.OperacaoEmAndamento.ReferencialRuaGPS.AnguloRua), 90);
}
catch { }
}
private void DesenharInclinacao(Panel pnlBussola, PaintEventArgs e, float anguloInclinacao)
private void DesenharInclinacao(Panel pnlBussola, PaintEventArgs e, float anguloInclinacao, float anguloSub)
{
Graphics g = e.Graphics;
// Desenha o círculo da bússola
int diameter = Math.Min(pnlBussola.Width - 1, pnlBussola.Height - 1);
Point centro = new Point((pnlBussola.Width - 1) / 2, (pnlBussola.Height - 1) / 2);
g.DrawEllipse(Pens.Black, centro.X - diameter / 2, centro.Y - diameter / 2, diameter, diameter);
//g.DrawEllipse(Pens.Black, centro.X - diameter / 2, centro.Y - diameter / 2, diameter, diameter);
// Escreve o ângulo no centro do círculo
string anguloTexto = $"{anguloInclinacao.ToString("0.00")}°";
Font fonteAngulo = new Font("Arial", 10); // Ajuste o tamanho da fonte conforme necessário
string anguloTexto = $"{anguloInclinacao.ToString("0")}°";
Font fonteAngulo = new Font("Arial", 7); // Ajuste o tamanho da fonte conforme necessário
SizeF textSize = e.Graphics.MeasureString(anguloTexto, fonteAngulo);
// Calcula a posição para o texto ser centralizado no círculo
float textX = centro.X - (textSize.Width / 2);
float textY = centro.Y - (textSize.Height / 2) + (centro.Y / 2);
float textX = 0;
float textY = 0;
// Define a cor do texto
Brush textBrush = Brushes.Black;
@ -706,10 +731,11 @@ namespace AgroBase.Forms.Operacoes
// A linha será desenhada do centro do círculo
PointF pontoCentral = new PointF(centro.X, centro.Y);
// O comprimento da linha será metade do diâmetro do círculo (raio)
float comprimentoLinha = diameter / 2;
float comprimentoLinha = diameter / 3;
// Ajustar o ângulo para que 0 graus esteja para cima e aumente no sentido horário
float anguloRadianos = (anguloInclinacao - 90) * (float)(Math.PI / 180.0);
//float anguloRadianos = (anguloInclinacao - 90) * (float)(Math.PI / 180.0);
float anguloRadianos = (anguloInclinacao - anguloSub) * (float)(Math.PI / 180.0);
// Calcular o ponto final da linha baseado no ângulo de inclinação
PointF pontoFinal = new PointF(
@ -815,10 +841,36 @@ namespace AgroBase.Forms.Operacoes
{
try
{
DesenharInclinacao((Panel)sender, e, (float)GPSService.UltimaLeitura.Orientacao);
//DesenharInclinacao((Panel)sender, e, (float)GPSService.UltimaLeitura.Orientacao);
DesenharInclinacao((Panel)sender, e, (float)Variaveis.OperacaoEmAndamento.ReferencialRuaGPS.AnguloCarro, -90);
}
catch { }
}
private void btnSimular_Click(object sender, EventArgs e)
{
GPSService.SimularGPS();
Timer tmr = new Timer() { Interval = 500 };
tmr.Tick += Tmr_Tick;
tmr.Start();
}
private void Tmr_Tick(object sender, EventArgs e)
{
if (!GPSService.Iniciado)
{
((Timer)sender).Stop();
}
lblStatus.Text = "Status: " + Enum.GetName(typeof(StatusOperacao), Variaveis.OperacaoEmAndamento.ReferencialRuaGPS.StatusAtual);
lblDirecao.Text = "Direção: " + Enum.GetName(typeof(DirecaoCarroRua), Variaveis.OperacaoEmAndamento.ReferencialRuaGPS.Direcao);
}
private void btnManobraConcluida_Click(object sender, EventArgs e)
{
if (Variaveis.OperacaoEmAndamento.ReferencialRuaGPS.StatusAtual == StatusOperacao.Manobrando)
{
Variaveis.OperacaoEmAndamento.ReferencialRuaGPS.ManobraConcluida = true;
}
}
}
}

View File

@ -13,6 +13,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using static AgroBase.Models.Enuns;
namespace AgroBase.Forms
{
@ -39,6 +40,5 @@ namespace AgroBase.Forms
Mapa.btnCarregar_Click(sender, e);
}
}
}

View File

@ -38,6 +38,7 @@ namespace AgroBase
private void frmPrincipal_FormClosing(object sender, FormClosingEventArgs e)
{
APIService.Parar();
foreach (var Disp in Variaveis.DispositivosConectados)
{
Disp.SalvarParametros(Disp.Dados);

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

View File

@ -116,5 +116,23 @@ namespace AgroBase.Models
Remoto
}
public enum StatusOperacao
{
Parametrizando,
Aguardando,
EntrandoRua,
CaminhandoRua,
SaindoRua,
Manobrando,
Retornando
}
public enum DirecaoCarroRua
{
Parado,
Ida,
Volta
}
}
}

View File

@ -1,4 +1,5 @@
using System;
using AgroBase.Services;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
@ -15,6 +16,12 @@ namespace AgroBase.Models
public double Velocidade { get; set; }
public int NumeroSatelites { get; set; }
public double PrecisaoHorizontal { get; set; }
public double Orientacao { get;set; }
public double Orientacao
{
get
{
return GPSService.CalcularOrientacao(GPSService.UltimaLeitura, GPSService.PenultimaLeitura);
}
}
}
}

View File

@ -17,6 +17,10 @@ namespace AgroBase.Models
private PictureBox picLoading { get; set; } = new PictureBox();
public Label lblMapa { get; set; } = new Label();
public MapasService mapaService { get; set; } = new MapasService();
public List<List<GPSModel>> Trajetoria { get; set; } = new List<List<GPSModel>>();
public List<string> RuasPercorrer { get; set; } = new List<string>();
public int IdxRuaAtual { get; set; } = 0;
public double DistanciaTotal { get; set; } = 0;
public void btnCarregar_Click(object sender, EventArgs e)
{
@ -54,12 +58,41 @@ namespace AgroBase.Models
{
mapaService.CarregarDadosMapa();
lblMapa.Text = "Mapa carregado: " + mapaService.NomeArquivos;
PopularTrajetoria();
}
IniciarProcessamento();
}
}
public void PopularTrajetoria()
{
if (mapaService.DadosMapa != null)
{
DistanciaTotal = 0;
var IDs = RuasPercorrer.Any() ? RuasPercorrer : mapaService.DadosMapa.features.Select(x => x.geometry.id).ToList();
Trajetoria = new List<List<GPSModel>>();
foreach (var rua in mapaService.DadosMapa.features.Where(x => IDs.Contains(x.geometry.id)))
{
Trajetoria.Add(new List<GPSModel>());
foreach (var ponto in rua.geometry.coordinates)
{
GPSModel item = new GPSModel()
{
Longitude = ponto[0],
Latitude = ponto[1],
};
Trajetoria[Trajetoria.Count - 1].Add(item);
if (Trajetoria[Trajetoria.Count - 1].Count > 1)
{
DistanciaTotal += GPSService.DistanciaEntrePontos(Trajetoria[Trajetoria.Count - 1][Trajetoria[Trajetoria.Count - 1].Count - 2], item);
}
}
}
}
}
private void IniciarProcessamento()
{
APIService.Inicializar();
@ -101,6 +134,7 @@ namespace AgroBase.Models
public class MapaFeatureGeometryModel
{
public string id { get; set; }
public string type { get; set; }
public List<List<double>> coordinates { get; set; }
}

View File

@ -390,7 +390,7 @@ namespace AgroBase.Models.Modules
vShunt,
};
if (Sensor.Descricao.Contains("Bateria"))
if (Sensor.Descricao.ToLower().Contains("bateria"))
{
frmInstancial.frmAcompanhamento.AtualizarSensores("Corrente atual: " + corrente.ToString("0.00") + "A - Mín: " + Sensor.ValorMinimo.ToString("0.00") + "A - Máx: " + Sensor.ValorMaximo.ToString("0.00") + "A");
}
@ -412,9 +412,10 @@ namespace AgroBase.Models.Modules
vPinV,
};
if (Sensor.Descricao.Contains("Bateria"))
if (Sensor.Descricao.ToLower().Contains("bateria"))
{
frmInstancial.frmAcompanhamento.AtualizarSensores("Tensão atual: " + tensao.ToString("0.00") + "V - Mín: " + Sensor.ValorMinimo.ToString("0.00") + "V - Máx: " + Sensor.ValorMaximo.ToString("0.00") + "V");
Variaveis.OperacaoEmAndamento.Sensoriamento.PorcentagemBateria = (tensao / Sensor.LimiteMaximo) * 100;
}
AtualizaGrafico = true;
@ -425,7 +426,7 @@ namespace AgroBase.Models.Modules
double.TryParse(Dados[2].Replace(".", ","), out temp);
Sensor.Leituras = new List<double>() { temp };
if (Sensor.Descricao.Contains("Bateria"))
if (Sensor.Descricao.ToLower().Contains("bateria"))
{
frmInstancial.frmAcompanhamento.AtualizarSensores("Temp atual: " + temp.ToString("0.00") + "ºC - Mín: " + Sensor.ValorMinimo.ToString("0.00") + "ºC - Máx: " + Sensor.ValorMaximo.ToString("0.00") + "ºC");
}
@ -549,11 +550,11 @@ namespace AgroBase.Models.Modules
switch (Sensor.Componente)
{
case S_Code.sTMP:
frmInstancial.frmPrincipal.gridSenMotores.Rows[Motor.Canal].Cells[9].Value = Motor.Temperatura.ToString();
frmInstancial.frmPrincipal.gridSenMotores.Rows[Motor.Canal].Cells[9].Value = Motor.Temperatura.ToString("0.00");
break;
case S_Code.sCOR:
frmInstancial.frmPrincipal.gridSenMotores.Rows[Motor.Canal].Cells[10].Value = Motor.Temperatura.ToString();
frmInstancial.frmPrincipal.gridSenMotores.Rows[Motor.Canal].Cells[11].Value = Motor.Temperatura.ToString();
frmInstancial.frmPrincipal.gridSenMotores.Rows[Motor.Canal].Cells[10].Value = Motor.Corrente.ToString("0.00");
frmInstancial.frmPrincipal.gridSenMotores.Rows[Motor.Canal].Cells[11].Value = Motor.Tensao.ToString("0.00");
break;
}

View File

@ -18,6 +18,11 @@ namespace AgroBase.Models
{
public OperacaoModel(ModoOperacao Modo, DispositivosService<MovimentacaoModel> Mov = null, DispositivosService<DirecionalModel> Dir = null, DispositivosService<AtuadorModel> Atu = null)
{
if (APIService.pythonProcess == null)
{
APIService.Inicializar();
}
this.Modo = Modo;
this.Controle = new OperacaoControleModel()
{
@ -60,28 +65,39 @@ namespace AgroBase.Models
this.Sensoriamento.AtuacoesPorBico.Add(0);
}
}
this.tmrLogs.Tick -= TmrLogs_Tick;
this.tmrLogs.Tick += TmrLogs_Tick;
this.tmrParametrizacao.Tick -= TmrParametrizacao_Tick;
this.tmrParametrizacao.Tick += TmrParametrizacao_Tick;
this.tmrParametrizacao.Start();
}
public ModoOperacao Modo { get; set; }
public DispositivosService<MovimentacaoModel> DispMov { get; set; }
public DispositivosService<DirecionalModel> DispDir { get; set; }
public DispositivosService<AtuadorModel> DispAtu { get; set; }
public MapasModel Mapa { get;set; }
public MapasModel Mapa { get; set; } = new MapasModel();
public Form frmOperacao { get; set; }
public string frmOperacaoNome { get; set; }
public bool Iniciado { get; set; }
public long TimestampInicio { get; set; }
public long TimestampFim { get; set; }
public TimeSpan Tempo { get; set; }
public OperacaoControleModel Controle { get; set; }
public OperacaoControleModel ControleAnterior { get; set; }
public List<OperacaoModulosMandatoriosModel> ModulosMandatorios { get; set; }
public OperacaoSensoriamentoModel Sensoriamento { get; set; } = new OperacaoSensoriamentoModel();
public List<OperacaoSensoriamentoModel> Logs { get; set; } = new List<OperacaoSensoriamentoModel>();
public List<GPSModel> GPSTrajetoria { get; set; } = new List<GPSModel>();
public OperacaoRefRuaGPS ReferencialRuaGPS { get; set; } = new OperacaoRefRuaGPS();
public int TempoIniciarOperacao { get; set; } = 10;
public string PastaSaida { get; set; } = "Operacoes/";
public string ID { get; set; }
public Timer tmrLogs = new Timer() { Interval = 5000 };
public Timer tmrParametrizacao = new Timer() { Interval = 1000 };
public static OperacaoModel CarregarParametrosOperacaoPadrao(ModoOperacao Modo)
@ -286,9 +302,10 @@ namespace AgroBase.Models
Directory.CreateDirectory(PastaSaida + ID + "/");
APIService.Inicializar();
GPSService.IniciarRecepcaoDados();
Controle = new OperacaoControleModel();
ControleAnterior = new OperacaoControleModel();
if (controle != null)
{
Controle = controle;
@ -298,16 +315,10 @@ namespace AgroBase.Models
frmOperacao.Show();
}
tmrLogs.Tick -= TmrLogs_Tick;
tmrLogs.Tick += TmrLogs_Tick;
tmrLogs.Start();
tmrParametrizacao.Stop();
}
private void TmrLogs_Tick(object sender, EventArgs e)
{
SalvarLog();
}
public void FinalizarOperacao()
{
Controle.Angulo = 0;
@ -318,17 +329,17 @@ namespace AgroBase.Models
TimestampFim = DateTime.Now.Ticks;
tmrLogs.Stop();
tmrParametrizacao.Start();
GPSService.PararRecepcaoDados();
APIService.Parar();
}
public void AtualizarDadosControle()
{
DateTime Agora = DateTime.Now;
OperacaoControleTipoModel ControleMov = Controle.TiposControle.FirstOrDefault(x => x.Tipo == T_Code.Mov);
OperacaoControleTipoModel ControleDir = Controle.TiposControle.FirstOrDefault(x => x.Tipo == T_Code.Dir);
OperacaoControleTipoModel ControleAtu = Controle.TiposControle.FirstOrDefault(x => x.Tipo == T_Code.Atu);
OperacaoControleTipoModel ControleMov = Controle.TiposControle != null ? Controle.TiposControle.FirstOrDefault(x => x.Tipo == T_Code.Mov) : null;
OperacaoControleTipoModel ControleDir = Controle.TiposControle != null ? Controle.TiposControle.FirstOrDefault(x => x.Tipo == T_Code.Dir) : null;
OperacaoControleTipoModel ControleAtu = Controle.TiposControle != null ? Controle.TiposControle.FirstOrDefault(x => x.Tipo == T_Code.Atu) : null;
if (ControleMov != null && Controle.RPM != ControleAnterior.RPM && (Agora - ControleMov.UltimoComando).Milliseconds > ControleMov.DelayEnvioComando)
{
@ -366,7 +377,8 @@ namespace AgroBase.Models
return;
}
Sensoriamento.VelocidadeMedia = DispMov.Dados.Motores.Average(x => x.VelocidadeInstantanea);
Sensoriamento.DistanciaPercorrida = DispMov.Dados.DistanciaPercorridaOperacao;
//Sensoriamento.DistanciaPercorrida = DispMov.Dados.DistanciaPercorridaOperacao;
Sensoriamento.ProgressoPercurso = Mapa == null ? 0 : Sensoriamento.DistanciaPercorrida / Mapa.DistanciaTotal * 100;
}
public List<string> EnviarProtocoloComando(IDispositivosService Dispositivo)
@ -455,9 +467,41 @@ namespace AgroBase.Models
Longitude = GPSService.UltimaLeitura.Longitude,
PrecisaoHorizontal = GPSService.UltimaLeitura.PrecisaoHorizontal
});
if (GPSTrajetoria.Count > 1)
{
Sensoriamento.DistanciaPercorrida += GPSService.DistanciaEntrePontos(GPSTrajetoria[GPSTrajetoria.Count - 1], GPSTrajetoria[GPSTrajetoria.Count - 2]);
}
File.WriteAllText(PastaSaida + ID + "/trajetoria.json", JsonConvert.SerializeObject(GPSTrajetoria, Formatting.None));
}
public void AtualizarEtapa()
{
}
public void CalculaDadosMovimentacaoAutonoma()
{
}
private void TmrLogs_Tick(object sender, EventArgs e)
{
SalvarLog();
}
private void TmrParametrizacao_Tick(object sender, EventArgs e)
{
if (Mapa != null)
{
APIService.AtualizarRuasSelecionadas();
}
}
}
public class OperacaoControleModel
@ -484,12 +528,6 @@ namespace AgroBase.Models
public List<string> Comandos { get; set; }
}
public class OperacaoGraficoModel
{
public double Velocidade { get; set; }
public double Temperatura { get; set; }
}
public class OperacaoModulosMandatoriosModel
{
public T_Code Dispositivo { get; set; }
@ -505,6 +543,7 @@ namespace AgroBase.Models
public double VelocidadeMedia { get; set; } = 0;
public double HerbicidaConsumido { get; set; } = 0;
public double HerbicidaPorErva { get; set; } = 0;
public double PorcentagemBateria { get; set; } = 0;
public double BateriaConsumida { get; set; } = 0;
public int ErvasIdentificadas { get; set; } = 0;
public List<int> AtuacoesPorBico { get; set; } = new List<int>();
@ -514,5 +553,244 @@ namespace AgroBase.Models
public double DistanciaDireita { get; set; } = 0;
}
public class OperacaoRefRuaGPS
{
public bool ManobraConcluida { get; set; } = false;
private StatusOperacao _EtapaAtual;
public StatusOperacao StatusAtual
{
get
{
StatusOperacao etapaAtual = StatusOperacao.Aguardando;
if (!Variaveis.OperacaoEmAndamento.Iniciado)
{
etapaAtual = StatusOperacao.Parametrizando;
}
else if (Variaveis.OperacaoEmAndamento.Tempo.Minutes == 0 && Variaveis.OperacaoEmAndamento.Tempo.Seconds < Variaveis.OperacaoEmAndamento.TempoIniciarOperacao)
{
etapaAtual = StatusOperacao.Aguardando;
}
else if (_EtapaAtual == StatusOperacao.Manobrando)
{
if (Direcao == DirecaoCarroRua.Parado)
{
if (Variaveis.OperacaoEmAndamento.Mapa.Trajetoria.Count - 1 > Variaveis.OperacaoEmAndamento.Mapa.IdxRuaAtual)
{
Variaveis.OperacaoEmAndamento.Mapa.IdxRuaAtual++;
}
else
{
Variaveis.OperacaoEmAndamento.FinalizarOperacao();
}
ManobraConcluida = false;
}
else
{
return _EtapaAtual;
}
}
else if (!DentroDaRua)
{
if (PontoMaisProximo == 0 && (Direcao == DirecaoCarroRua.Ida || Direcao == DirecaoCarroRua.Parado))
{
etapaAtual = StatusOperacao.EntrandoRua;
}
else if (PontoMaisProximo == 1 && (Direcao == DirecaoCarroRua.Volta || Direcao == DirecaoCarroRua.Parado))
{
etapaAtual = StatusOperacao.EntrandoRua;
}
else
{
if (_EtapaAtual == StatusOperacao.CaminhandoRua)
{
etapaAtual = StatusOperacao.SaindoRua;
}
else
{
etapaAtual = StatusOperacao.Manobrando;
}
}
}
else if (DentroDaRua)
{
etapaAtual = StatusOperacao.CaminhandoRua;
}
_EtapaAtual = etapaAtual;
return etapaAtual;
}
set
{
_EtapaAtual = value;
}
}
public int PontosConsiderarAngulo { get; set; } = 2;
public double Distancia { get; set; } = 0;
public double AnguloCarro
{
get
{
try
{
double somaAngulo = 0;
var Pontos = Variaveis.OperacaoEmAndamento.GPSTrajetoria.Count > PontosConsiderarAngulo ?
Variaveis.OperacaoEmAndamento.GPSTrajetoria.OrderByDescending(x => x.DataHora).Take(PontosConsiderarAngulo).ToList() :
Variaveis.OperacaoEmAndamento.GPSTrajetoria.OrderByDescending(x => x.DataHora).ToList();
Pontos = Pontos.OrderBy(x => x.DataHora).ToList();
for (int i = 0; i < Pontos.Count - 1; i++)
{
somaAngulo += GPSService.CalcularOrientacao(Pontos[i + 1], Pontos[i]);
}
double mediaAngulo = somaAngulo / (Pontos.Count - 1);
return mediaAngulo;
}
catch
{
return 0;
}
}
}
public double AnguloRua
{
get
{
try
{
double somaAnguloRua = 0;
var Rua = Variaveis.OperacaoEmAndamento.Mapa.Trajetoria.Skip(Variaveis.OperacaoEmAndamento.Mapa.IdxRuaAtual).First();
var PontosRua = Rua.Count > PontosConsiderarAngulo ?
Rua.OrderByDescending(x => x.DataHora).Take(PontosConsiderarAngulo).ToList() :
Rua.OrderByDescending(x => x.DataHora).ToList();
PontosRua = PontosRua.OrderBy(x => x.DataHora).ToList();
for (int i = 0; i < PontosRua.Count - 1; i++)
{
somaAnguloRua += GPSService.CalcularOrientacao(PontosRua[i + 1], PontosRua[i]);
}
double mediaAnguloRua = somaAnguloRua / (PontosRua.Count - 1);
return mediaAnguloRua;
}
catch
{
return 0;
}
}
}
public DirecaoCarroRua Direcao
{
get
{
double MargemErroAngulo = 5;
double mediaAngulo = AnguloCarro;
double anguloOposto = (mediaAngulo + 180) % 360;
double mediaAnguloRua = AnguloRua;
if ((mediaAngulo + MargemErroAngulo) >= mediaAnguloRua && (mediaAngulo - MargemErroAngulo) <= mediaAnguloRua)
{
return DirecaoCarroRua.Ida;
}
else if ((anguloOposto + MargemErroAngulo) >= mediaAnguloRua && (anguloOposto - MargemErroAngulo) <= mediaAnguloRua)
{
return DirecaoCarroRua.Volta;
}
else
{
return DirecaoCarroRua.Parado;
}
}
}
public GPSModel PrimeiroPontoRua
{
get
{
var primeiroPontoRua = Variaveis.OperacaoEmAndamento.Mapa.Trajetoria.Skip(Variaveis.OperacaoEmAndamento.Mapa.IdxRuaAtual).First().First();
return primeiroPontoRua;
}
}
public GPSModel UltimoPontoRua
{
get
{
var ultimoPontoRua = Variaveis.OperacaoEmAndamento.Mapa.Trajetoria.Skip(Variaveis.OperacaoEmAndamento.Mapa.IdxRuaAtual).First().Last();
return ultimoPontoRua;
}
}
public bool DentroDaRua
{
get
{
double MargemErroAngulo = 15;
double ToleranciaDistanciaRua = 1;
// Calcula a distância até o ponto de início e fim
double angRua = AnguloRua;
double distPP = GPSService.DistanciaEntrePontos(GPSService.UltimaLeitura, PrimeiroPontoRua);
double angPP = GPSService.CalcularOrientacao(GPSService.UltimaLeitura, PrimeiroPontoRua);
double angPPO = (angPP + 180) % 360;
/*if ((angPP + MargemErroAngulo) >= angRua && (angPP - MargemErroAngulo) <= angRua)
{
distPP = distPP * -1;
}
else */if ((angPPO + MargemErroAngulo) >= angRua && (angPPO - MargemErroAngulo) <= angRua)
{
distPP = distPP * -1;
}
double distUP = GPSService.DistanciaEntrePontos(GPSService.UltimaLeitura, UltimoPontoRua);
double angUP = GPSService.CalcularOrientacao(GPSService.UltimaLeitura, UltimoPontoRua);
double angUPO = (angUP + 180) % 360;
if ((angUP + MargemErroAngulo) >= angRua && (angUP - MargemErroAngulo) <= angRua)
{
distUP = distUP * -1;
}
var Rua = Variaveis.OperacaoEmAndamento.Mapa.mapaService.DadosMapa.features.Skip(Variaveis.OperacaoEmAndamento.Mapa.IdxRuaAtual).First();
// Calcula a diferença entre a soma das distâncias e a distância real entre os pontos
double diferencaDistancia = (distPP + distUP) - Rua.properties.Length;
bool dentro = false;
if (distPP > Rua.properties.Length || distUP > Rua.properties.Length)
{
dentro = false;
}
else
{
dentro = true;
}
// Verifica se a diferença é menor ou igual à tolerância
/*dentro = diferencaDistancia <= ToleranciaDistanciaRua;
if (dentro)
{
if (distPP > Rua.properties.Length || distUP > Rua.properties.Length)
{
dentro = false;
}
else
{
}
}*/
return dentro;
}
}
public int PontoMaisProximo {
get
{
double distPP = GPSService.DistanciaEntrePontos(GPSService.UltimaLeitura, PrimeiroPontoRua);
double distUP = GPSService.DistanciaEntrePontos(GPSService.UltimaLeitura, UltimoPontoRua);
// 0 para mais próximo do primeiro ponto da rua (ENTRANDO)
// 1 para mais próximo do último ponto da rua (SAINDO)
return (distPP < distUP) ? 0 : 1;
}
}
}
}

View File

@ -89,5 +89,25 @@ namespace AgroBase.Properties {
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap rosa_dos_ventos {
get {
object obj = ResourceManager.GetObject("rosa_dos_ventos", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap transferidor {
get {
object obj = ResourceManager.GetObject("transferidor", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
}
}

View File

@ -127,4 +127,10 @@
<data name="loading" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Imagens\loading.gif;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="rosa_dos_ventos" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Imagens\rosa_dos_ventos.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="transferidor" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Imagens\transferidor.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

View File

@ -5,11 +5,14 @@ import sys
apiPort = sys.argv[1]
getCordenadasEndpoint = sys.argv[2]
setCordenadasEndpoint = sys.argv[3]
getRuasSelecionadasEndpoint = sys.argv[4]
setRuasSelecionadasEndpoint = sys.argv[5]
app = Flask(__name__)
CORS(app) # Isso habilita o CORS para todas as rotas e origens
coordenadas = {}
ruas_selecionadas = []
@app.route(setCordenadasEndpoint, methods=['POST'])
def receber_coordenadas():
@ -28,6 +31,19 @@ def servir_coordenadas(id):
return jsonify(coordenadas[id])
else:
return jsonify({'error': 'Coordenadas não encontradas!'}), 404
@app.route(setRuasSelecionadasEndpoint, methods=['POST'])
def receber_ruas_selecionadas():
dados = request.json
ids = dados.get('ids')
global ruas_selecionadas
ruas_selecionadas = ids
return jsonify({'status': 'Ruas selecionadas recebidas com sucesso!'})
@app.route(getRuasSelecionadasEndpoint, methods=['GET'])
def servir_ruas_selecionadas():
return jsonify(ruas_selecionadas)
if __name__ == '__main__':
app.run(host='0.0.0.0', port=apiPort, debug=True)

View File

@ -20,7 +20,8 @@ pathFiles = sys.argv[1]
fileName = sys.argv[2]
outputName = sys.argv[3]
outputMapName = sys.argv[4]
apiEndpoit = sys.argv[5]
marcadorEndpoit = sys.argv[5]
ruasEndpoit = sys.argv[6]
pastaSaida = 'Python/Output/'
# Carregar o arquivo shapefile contendo a geometria
@ -41,6 +42,9 @@ else:
geojson_data = data_geometry.to_json()
folium.GeoJson(geojson_data).add_to(m)
# Salvar GEOJson
data_geometry.to_file(pastaSaida + outputName, driver='GeoJSON')
# Salvar o mapa interativo em um arquivo HTML
m.save(pastaSaida + outputMapName)
@ -63,8 +67,8 @@ with open(caminho_completo_html, 'r+') as arquivo_html:
else:
raise ValueError("Não foi possível encontrar o ID do mapa no arquivo HTML.")
# Script JavaScript para adicionar ao HTML, com o ID do mapa substituído
script_atualizacao_marcador = f"""
# Script para desenhar o trajo percorrido no mapa
script_desenha_trajeotria = f"""
<script>
function trajeto_json_onEachFeature(feature, layer) {{
layer.on({{
@ -122,7 +126,10 @@ with open(caminho_completo_html, 'r+') as arquivo_html:
}});
</script>
"""
# Script JavaScript para adicionar ao HTML, com o ID do mapa substituído
script_atualizacao_marcador = f"""
<script>
var marcadorDinamico = L.marker([0, 0], {{
icon: L.AwesomeMarkers.icon({{
@ -133,7 +140,7 @@ with open(caminho_completo_html, 'r+') as arquivo_html:
}}).addTo({id_mapa});
function atualizarMarcador() {{
fetch('{apiEndpoit}')
fetch('{marcadorEndpoit}')
.then(function(response) {{
return response.json();
}})
@ -153,9 +160,67 @@ with open(caminho_completo_html, 'r+') as arquivo_html:
setInterval(atualizarMarcador, 2000);
</script>
"""
# Primeiro, vamos definir o novo trecho de JavaScript que você quer adicionar
funcao_define_ruas_selecionadas = f"""
var trajetosSelecionados = {{}};
var RuasSelecionadas = [];
function enviarSelecaoParaServidor() {{
fetch('{ruasEndpoit}', {{
method: 'POST',
headers: {{
'Content-Type': 'application/json',
}},
body: JSON.stringify({{ids: RuasSelecionadas}}),
}})
.then(response => response.json())
.then(data => console.log('Sucesso:', data))
.catch((error) => console.error('Erro:', error));
}}
"""
# Código para inserir dentro do layer.on({})
codigo_layer_on = """
click: function(e) {
// Verificar se o trajeto está selecionado
if (trajetosSelecionados[feature.id]) {
// Se está selecionado, reverta para a cor original e remova da seleção
e.target.setStyle({
color: '#3388ff' // Cor original
});
delete trajetosSelecionados[feature.id];
RuasSelecionadas.splice(RuasSelecionadas.indexOf(feature.id), 1);
} else {
// Se não está selecionado, mude a cor para indicar seleção e adicione ao objeto de seleção
e.target.setStyle({
color: 'blue' // Cor de seleção
});
trajetosSelecionados[feature.id] = true;
RuasSelecionadas.push(feature.id);
}
enviarSelecaoParaServidor();
}
"""
# Inserir o script no conteúdo HTML
conteudo_atualizado = conteudo_html.replace('</html>', script_atualizacao_marcador + '</html>')
conteudo_atualizado = conteudo_html.replace('</html>', script_desenha_trajeotria + script_atualizacao_marcador + '</html>')
# Encontrar a posição onde inserir o novo trecho de JavaScript
indice_inicio_funcao = conteudo_atualizado.find("function geo_json_")
# Inserir o novo trecho de JavaScript antes da função
conteudo_atualizado = conteudo_atualizado[:indice_inicio_funcao] + funcao_define_ruas_selecionadas + conteudo_atualizado[indice_inicio_funcao:]
# Agora, para adicionar o código dentro do layer.on({})
# Você precisa encontrar o local exato. Isso pode ser um pouco mais complicado, pois pode haver várias ocorrências.
# Uma abordagem seria encontrar a primeira ocorrência após o seu trecho inserido anteriormente.
indice_layer_on = conteudo_atualizado.find("layer.on({", indice_inicio_funcao)
# Verificar se encontrou o layer.on({})
if indice_layer_on != -1:
# Encontrar a posição do fechamento do layer.on({})
indice_fechamento = conteudo_atualizado.find("});", indice_layer_on) # +1 para incluir a abertura da chave
# Inserir o código dentro do layer.on({})
conteudo_atualizado = conteudo_atualizado[:indice_fechamento] + codigo_layer_on + conteudo_atualizado[indice_fechamento:]
# Agora, reabrir o arquivo para escrita e sobrescrever o conteúdo com a versão atualizada
with open(caminho_completo_html, 'w') as arquivo_html:

View File

@ -1,7 +1,9 @@
using AgroBase.Models;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Net.Http;
using System.Text;
@ -14,6 +16,8 @@ namespace AgroBase.Services
public static string API_Porta { get; set; } = "5001";
public static string GPS_setCoordenadasEndpoint { get; set; } = "/receber-coordenadas";
public static string GPS_getCoordenadasEndpoint { get; set; } = "/servir-coordenadas/<id>";
public static string Mapa_setRuasSelecionadasEndpoint { get; set; } = "/receber-ruas-selecionadas";
public static string Mapa_getRuasSelecionadasEndpoint { get; set; } = "/servir-ruas-selecionadas";
public static int GPS_IDcoordenadasRobo { get; set; } = 1;
public static string ApiBase()
@ -25,7 +29,13 @@ namespace AgroBase.Services
{
if (pythonProcess == null)
{
pythonProcess = PythonService.RunScript(PythonService.ScriptAPI, new string[] { API_Porta.ToString(), GPS_getCoordenadasEndpoint, GPS_setCoordenadasEndpoint });
pythonProcess = PythonService.RunScript(PythonService.ScriptAPI, new string[] {
API_Porta.ToString(),
GPS_getCoordenadasEndpoint,
GPS_setCoordenadasEndpoint,
Mapa_getRuasSelecionadasEndpoint,
Mapa_setRuasSelecionadasEndpoint
});
}
}
@ -58,5 +68,36 @@ namespace AgroBase.Services
string result = await response.Content.ReadAsStringAsync();
}
}
public static async void AtualizarRuasSelecionadas()
{
try
{
var url = ApiBase() + Mapa_getRuasSelecionadasEndpoint;
using (var client = new HttpClient())
{
var response = await client.GetAsync(url);
List<string> ids = new List<string>();
string result = await response.Content.ReadAsStringAsync();
if (!result.Contains("[]"))
{
result = result.Replace("\n", "");
result = result.Replace("\"", "");
ids = JsonConvert.DeserializeObject<int[]>(result).Select(x => x.ToString()).ToList();
}
if (ids.Count != Variaveis.OperacaoEmAndamento.Mapa.RuasPercorrer.Count)
{
Variaveis.OperacaoEmAndamento.Mapa.RuasPercorrer = ids;
Variaveis.OperacaoEmAndamento.Mapa.PopularTrajetoria();
}
}
}
catch
{
}
}
}
}

View File

@ -1,4 +1,5 @@
using AgroBase.Models;
using Emgu.CV.Features2D;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
@ -10,8 +11,6 @@ using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using static AgroBase.Models.Enuns;
using static AgroBase.Services.SerialService;
namespace AgroBase.Services
{
@ -98,7 +97,6 @@ namespace AgroBase.Services
PenultimaLeitura.DataHora = UltimaLeitura.DataHora;
PenultimaLeitura.NumeroSatelites = UltimaLeitura.NumeroSatelites;
PenultimaLeitura.Velocidade = UltimaLeitura.Velocidade;
PenultimaLeitura.Orientacao = UltimaLeitura.Orientacao;
if (parts[2] != "" && parts[3] != "")
{
@ -111,7 +109,6 @@ namespace AgroBase.Services
UltimaLeitura.NumeroSatelites = int.TryParse(parts[7], out int numSat) ? numSat : 0;
UltimaLeitura.PrecisaoHorizontal = double.TryParse(parts[8], NumberStyles.Float, CultureInfo.InvariantCulture, out double hdop) ? hdop : 0;
UltimaLeitura.Altitude = ConvertToDouble(parts[9]);
UltimaLeitura.Orientacao = AtualizaOrientacao();
APIService.AtualizarCoordenadasGPS(UltimaLeitura, APIService.GPS_IDcoordenadasRobo);
break;
@ -177,13 +174,13 @@ namespace AgroBase.Services
return knots * 1.852;
}
private static double AtualizaOrientacao()
public static double CalcularOrientacao(GPSModel P1, GPSModel P2)
{
// Converter latitudes e longitudes de graus para radianos
double latA = UltimaLeitura.Latitude * (Math.PI / 180.0);
double lonA = UltimaLeitura.Longitude * (Math.PI / 180.0);
double latB = PenultimaLeitura.Latitude * (Math.PI / 180.0);
double lonB = PenultimaLeitura.Longitude * (Math.PI / 180.0);
double latA = P1.Latitude * (Math.PI / 180.0);
double lonA = P1.Longitude * (Math.PI / 180.0);
double latB = P2.Latitude * (Math.PI / 180.0);
double lonB = P2.Longitude * (Math.PI / 180.0);
// Calcular a diferença de longitude
double deltaLon = lonB - lonA;
@ -202,6 +199,100 @@ namespace AgroBase.Services
return direcaoGraus;
}
public static double DistanciaEntrePontos(GPSModel P1, GPSModel P2)
{
double lat1 = P1.Latitude;
double lat2 = P2.Latitude;
double lon1 = P1.Longitude;
double lon2 = P2.Longitude;
double R = 6371.0; // Raio da Terra em Km
double dLat = ToRadians(lat2 - lat1);
double dLon = ToRadians(lon2 - lon1);
lat1 = ToRadians(lat1);
lat2 = ToRadians(lat2);
double a = Math.Sin(dLat / 2) * Math.Sin(dLat / 2) +
Math.Sin(dLon / 2) * Math.Sin(dLon / 2) * Math.Cos(lat1) * Math.Cos(lat2);
double c = 2 * Math.Atan2(Math.Sqrt(a), Math.Sqrt(1 - a));
double distance = R * c;
// Converter para centímetros
distance = distance * 1000;
//distance = distance * 1.23;
return distance;
}
private static double ToRadians(double angle)
{
return Math.PI / 180 * angle;
}
private static MapaFeatureCollectionModel TrajetoFake = new MapaFeatureCollectionModel();
private static int idxPonto = 0;
private static int idxRuaA = 0;
public static void SimularGPS()
{
var dados = File.ReadAllText("trajetoFakeGps.json");
TrajetoFake = JsonConvert.DeserializeObject<MapaFeatureCollectionModel>(dados);
int i = 0;
TrajetoFake.features.ForEach(feature =>
{
feature.geometry.id = i.ToString();
i++;
});
Timer tmr = new Timer() { Interval = 1000 };
tmr.Tick += Tmr_Tick;
tmr.Start();
Iniciado = true;
}
private static void Tmr_Tick(object sender, EventArgs e)
{
if (Variaveis.OperacaoEmAndamento.Mapa.IdxRuaAtual >= TrajetoFake.features.Count) // Verifica se chegou ao fim do trajeto total
{
((Timer)sender).Stop();
Iniciado = false;
return; // Encerra a execução para evitar processamento adicional
}
if (idxRuaA != Variaveis.OperacaoEmAndamento.Mapa.IdxRuaAtual)
{
idxPonto = 0;
idxRuaA = Variaveis.OperacaoEmAndamento.Mapa.IdxRuaAtual;
//double distPP = DistanciaEntrePontos(UltimaLeitura, new GPSModel() { Longitude = TrajetoFake.features[idxRuaA].geometry.coordinates[0][0], Latitude = TrajetoFake.features[idxRuaA].geometry.coordinates[0][1] });
//double distUP = DistanciaEntrePontos(UltimaLeitura, new GPSModel() { Longitude = TrajetoFake.features[idxRuaA].geometry.coordinates[TrajetoFake.features[idxRuaA].geometry.coordinates.Count - 1][0], Latitude = TrajetoFake.features[idxRuaA].geometry.coordinates[TrajetoFake.features[idxRuaA].geometry.coordinates.Count - 1][1] });
if (idxRuaA % 2 != 0)
{
TrajetoFake.features[idxRuaA].geometry.coordinates.Reverse();
}
}
UltimaLeitura = new GPSModel()
{
DataHora = DateTime.Now,
Longitude = TrajetoFake.features[idxRuaA].geometry.coordinates[idxPonto][0],
Latitude = TrajetoFake.features[idxRuaA].geometry.coordinates[idxPonto][1],
};
APIService.AtualizarCoordenadasGPS(UltimaLeitura, APIService.GPS_IDcoordenadasRobo);
if (Variaveis.OperacaoEmAndamento.Tempo.Minutes == 0 && Variaveis.OperacaoEmAndamento.Tempo.Seconds < Variaveis.OperacaoEmAndamento.TempoIniciarOperacao)
{
return;
}
if (idxPonto < TrajetoFake.features[idxRuaA].geometry.coordinates.Count - 1)
{
idxPonto++;
}
}
}

View File

@ -28,7 +28,6 @@ namespace AgroBase.Services
public string MapaUrl = "";
public string CaminhoDadosMapa = "";
public MapaFeatureCollectionModel DadosMapa;
private string PathUpdateMarker = "update_marker";
public void CarregarMapa(string nomeArquivoMapa, string nomeArquivoSaida)
@ -48,7 +47,14 @@ namespace AgroBase.Services
NomeArquivos = opfMapa.FileName.Split('\\')[opfMapa.FileName.Split('\\').Length - 1].Split('.')[0];
CaminhoMapa = opfMapa.FileName.Substring(0, opfMapa.FileName.Length - NomeArquivos.Length - 4).Replace("\\", "/");
pythonProcess = PythonService.RunScript(PythonService.ScriptMapConverter, new string[] { CaminhoMapa, NomeArquivos, ArquivoSaida, NomeArquivoMapa, APIService.ApiBase() + APIService.GPS_getCoordenadasEndpoint.Replace("<id>", APIService.GPS_IDcoordenadasRobo.ToString()) });
pythonProcess = PythonService.RunScript(PythonService.ScriptMapConverter, new string[] {
CaminhoMapa,
NomeArquivos,
ArquivoSaida,
NomeArquivoMapa,
APIService.ApiBase() + APIService.GPS_getCoordenadasEndpoint.Replace("<id>", APIService.GPS_IDcoordenadasRobo.ToString()),
APIService.ApiBase() + APIService.Mapa_setRuasSelecionadasEndpoint
});
MapaUrl = new Uri(CaminhoSaida + NomeArquivoMapa).AbsoluteUri;
CaminhoDadosMapa = CaminhoSaida + ArquivoSaida;
@ -69,6 +75,12 @@ namespace AgroBase.Services
{
var dados = File.ReadAllText(CaminhoDadosMapa);
DadosMapa = JsonConvert.DeserializeObject<MapaFeatureCollectionModel>(dados);
int i = 0;
DadosMapa.features.ForEach(feature =>
{
feature.geometry.id = i.ToString();
i++;
});
}

View File

@ -1,38 +0,0 @@
CACHE MANIFEST
NETWORK:
*
CACHE:
index.html
style.css
script.js
gmapapi.js
gmapcache/main.js
gmapcache/components.js
gmapcache/empty.js
gmapcache/gstatic/arrow-down.png
gmapcache/gstatic/cb/mod_cb_scout/cb_scout_sprite_api_003.png
gmapcache/gstatic/cb/target_locking.gif
gmapcache/gstatic/google_white.png
gmapcache/gstatic/iw3.png
gmapcache/gstatic/iws3.png
gmapcache/gstatic/mapcontrols3d7.png
gmapcache/gstatic/markers2/marker_sprite.png
gmapcache/gstatic/mv/imgs8.png
gmapcache/gstatic/rotate2.png
gmapcache/gstatic/szc4.png
gmapcache/gstatic/transparent.png
gmapcache/gstatic/openhand_8_8.cur
gmapcache/gstatic/closedhand_8_8.cur
FALLBACK:
gmapcache/googleapis/maps/api/js/AuthenticationService.Authenticate gmapcache/empty.js
gmapcache/googleapis/maps/api/js/QuotaService.RecordEvent gmapcache/empty.js
gmapcache/googleapis/maps/api/js/StaticMapService.GetMapImage gmapcache/empty.js
gmapcache/googleapis/maps/api/js/ViewportInfoService.GetViewportInfo gmapcache/empty.js
gmapcache/googleapis/maps/gen_204 gmapcache/empty.js
gmapcache/googleapis/mapslt/ft gmapcache/empty.js

View File

@ -1,224 +0,0 @@
window.google = window.google || {};
google.maps = google.maps || {};
(function () {
function getScript(src) {
document.write('<' + 'script src="' + src + '"' + ' type="text/javascript"><' + '/script>');
}
var modules = google.maps.modules = {};
google.maps.__gjsload__ = function (name, text) {
modules[name] = text;
};
google.maps.Load = function (apiLoad) {
delete google.maps.Load;
apiLoad([null, [
[
["http://mt0.googleapis.com/vt?lyrs=m@174000000\u0026src=api\u0026hl=en-US\u0026"],
null,
null,
null,
null,
"m@174000000"
],
[
["http://khm0.googleapis.com/kh?v=107\u0026hl=en-US\u0026"],
null,
null,
null,
1,
"107"
],
[
["http://mt0.googleapis.com/vt?lyrs=h@174000000\u0026src=api\u0026hl=en-US\u0026"],
null,
null,
"imgtp=png32\u0026",
null,
"h@174000000"
],
[
["http://mt0.googleapis.com/vt?lyrs=t@128,r@174000000\u0026src=api\u0026hl=en-US\u0026"],
null,
null,
null,
null,
"t@128,r@174000000"
],
null,
[
[null, 0, 7, 7, [
[
[330000000, 1246050000],
[386200000, 1293600000]
],
[
[366500000, 1297000000],
[386200000, 1320034790]
]
], ["http://mt0.gmaptiles.co.kr/mt?v=kr1.15\u0026hl=en-US\u0026"]],
[null, 0, 8, 8, [
[
[330000000, 1246050000],
[386200000, 1279600000]
],
[
[345000000, 1279600000],
[386200000, 1286700000]
],
[
[354690000, 1286700000],
[386200000, 1320035000]
]
], ["http://mt0.gmaptiles.co.kr/mt?v=kr1.15\u0026hl=en-US\u0026"]],
[null, 0, 9, 9, [
[
[330000000, 1246050000],
[386200000, 1279600000]
],
[
[340000000, 1279600000],
[386200000, 1286700000]
],
[
[348900000, 1286700000],
[386200000, 1302000000]
],
[
[368300000, 1302000000],
[386200000, 1320035000]
]
], ["http://mt0.gmaptiles.co.kr/mt?v=kr1.15\u0026hl=en-US\u0026"]],
[null, 0, 10, 19, [
[
[329890840, 1246055600],
[386930130, 1284960940]
],
[
[344646740, 1284960940],
[386930130, 1288476560]
],
[
[350277470, 1288476560],
[386930130, 1310531620]
],
[
[370277730, 1310531620],
[386930130, 1320034790]
]
], ["http://mt0.gmaptiles.co.kr/mt?v=kr1.15\u0026hl=en-US\u0026"]],
[null, 3, 7, 7, [
[
[330000000, 1246050000],
[386200000, 1293600000]
],
[
[366500000, 1297000000],
[386200000, 1320034790]
]
], ["http://mt0.gmaptiles.co.kr/mt?v=kr1p.12\u0026hl=en-US\u0026"]],
[null, 3, 8, 8, [
[
[330000000, 1246050000],
[386200000, 1279600000]
],
[
[345000000, 1279600000],
[386200000, 1286700000]
],
[
[354690000, 1286700000],
[386200000, 1320035000]
]
], ["http://mt0.gmaptiles.co.kr/mt?v=kr1p.12\u0026hl=en-US\u0026"]],
[null, 3, 9, 9, [
[
[330000000, 1246050000],
[386200000, 1279600000]
],
[
[340000000, 1279600000],
[386200000, 1286700000]
],
[
[348900000, 1286700000],
[386200000, 1302000000]
],
[
[368300000, 1302000000],
[386200000, 1320035000]
]
], ["http://mt0.gmaptiles.co.kr/mt?v=kr1p.12\u0026hl=en-US\u0026"]],
[null, 3, 10, null, [
[
[329890840, 1246055600],
[386930130, 1284960940]
],
[
[344646740, 1284960940],
[386930130, 1288476560]
],
[
[350277470, 1288476560],
[386930130, 1310531620]
],
[
[370277730, 1310531620],
[386930130, 1320034790]
]
], ["http://mt0.gmaptiles.co.kr/mt?v=kr1p.12\u0026hl=en-US\u0026"]]
],
[
["http://cbk0.googleapis.com/cbk?"]
],
[
["http://khmdb0.googleapis.com/kh?v=53\u0026hl=en-US\u0026"],
null,
null,
null,
null,
"53"
],
[
[
"http://mt0.googleapis.com/mapslt?hl=en-US\u0026"
]
],
[
[
"gmapcache/googleapis/mapslt/ft?hl=en-US\u0026"
]
],
[
[
"http://mt0.googleapis.com/vt?hl=en-US\u0026"
]
]
], [
"en-US",
"US",
null,
0,
null,
null,
"gmapcache/gstatic/",
"http://csi.gstatic.com",
"https://maps.googleapis.com",
"gmapcache/googleapis"
], [
"http://maps.gstatic.com/intl/en_us/mapfiles/api-3/8/5",
"3.8.5"
], [275480768],
1.0, null, null, null, null, 0, "", null, null, 0,
"http://khm.googleapis.com/mz?v=107\u0026",
null,
"https://earthbuilder.google.com",
"https://earthbuilder.googleapis.com"
], loadScriptTime);
};
var loadScriptTime = (new Date).getTime();
getScript("gmapcache/main.js");
getScript("gmapcache/components.js");
})();

File diff suppressed because one or more lines are too long

View File

@ -1,21 +0,0 @@
window.google = window.google || {};
google.maps = google.maps || {};
(function() {
function getScript(src) {
document.write('<' + 'script src="' + src + '"' +
' type="text/javascript"><' + '/script>');
}
var modules = google.maps.modules = {};
google.maps.__gjsload__ = function(name, text) {
modules[name] = text;
};
google.maps.Load = function(apiLoad) {
delete google.maps.Load;
apiLoad([null,[[["http://mt0.googleapis.com/vt?lyrs=m@174000000\u0026src=api\u0026hl=en-US\u0026","http://mt1.googleapis.com/vt?lyrs=m@174000000\u0026src=api\u0026hl=en-US\u0026"],null,null,null,null,"m@174000000"],[["http://khm0.googleapis.com/kh?v=107\u0026hl=en-US\u0026","http://khm1.googleapis.com/kh?v=107\u0026hl=en-US\u0026"],null,null,null,1,"107"],[["http://mt0.googleapis.com/vt?lyrs=h@174000000\u0026src=api\u0026hl=en-US\u0026","http://mt1.googleapis.com/vt?lyrs=h@174000000\u0026src=api\u0026hl=en-US\u0026"],null,null,"imgtp=png32\u0026",null,"h@174000000"],[["http://mt0.googleapis.com/vt?lyrs=t@128,r@174000000\u0026src=api\u0026hl=en-US\u0026","http://mt1.googleapis.com/vt?lyrs=t@128,r@174000000\u0026src=api\u0026hl=en-US\u0026"],null,null,null,null,"t@128,r@174000000"],null,[[null,0,7,7,[[[330000000,1246050000],[386200000,1293600000]],[[366500000,1297000000],[386200000,1320034790]]],["http://mt0.gmaptiles.co.kr/mt?v=kr1.15\u0026hl=en-US\u0026","http://mt1.gmaptiles.co.kr/mt?v=kr1.15\u0026hl=en-US\u0026"]],[null,0,8,8,[[[330000000,1246050000],[386200000,1279600000]],[[345000000,1279600000],[386200000,1286700000]],[[354690000,1286700000],[386200000,1320035000]]],["http://mt0.gmaptiles.co.kr/mt?v=kr1.15\u0026hl=en-US\u0026","http://mt1.gmaptiles.co.kr/mt?v=kr1.15\u0026hl=en-US\u0026"]],[null,0,9,9,[[[330000000,1246050000],[386200000,1279600000]],[[340000000,1279600000],[386200000,1286700000]],[[348900000,1286700000],[386200000,1302000000]],[[368300000,1302000000],[386200000,1320035000]]],["http://mt0.gmaptiles.co.kr/mt?v=kr1.15\u0026hl=en-US\u0026","http://mt1.gmaptiles.co.kr/mt?v=kr1.15\u0026hl=en-US\u0026"]],[null,0,10,19,[[[329890840,1246055600],[386930130,1284960940]],[[344646740,1284960940],[386930130,1288476560]],[[350277470,1288476560],[386930130,1310531620]],[[370277730,1310531620],[386930130,1320034790]]],["http://mt0.gmaptiles.co.kr/mt?v=kr1.15\u0026hl=en-US\u0026","http://mt1.gmaptiles.co.kr/mt?v=kr1.15\u0026hl=en-US\u0026"]],[null,3,7,7,[[[330000000,1246050000],[386200000,1293600000]],[[366500000,1297000000],[386200000,1320034790]]],["http://mt0.gmaptiles.co.kr/mt?v=kr1p.12\u0026hl=en-US\u0026","http://mt1.gmaptiles.co.kr/mt?v=kr1p.12\u0026hl=en-US\u0026"]],[null,3,8,8,[[[330000000,1246050000],[386200000,1279600000]],[[345000000,1279600000],[386200000,1286700000]],[[354690000,1286700000],[386200000,1320035000]]],["http://mt0.gmaptiles.co.kr/mt?v=kr1p.12\u0026hl=en-US\u0026","http://mt1.gmaptiles.co.kr/mt?v=kr1p.12\u0026hl=en-US\u0026"]],[null,3,9,9,[[[330000000,1246050000],[386200000,1279600000]],[[340000000,1279600000],[386200000,1286700000]],[[348900000,1286700000],[386200000,1302000000]],[[368300000,1302000000],[386200000,1320035000]]],["http://mt0.gmaptiles.co.kr/mt?v=kr1p.12\u0026hl=en-US\u0026","http://mt1.gmaptiles.co.kr/mt?v=kr1p.12\u0026hl=en-US\u0026"]],[null,3,10,null,[[[329890840,1246055600],[386930130,1284960940]],[[344646740,1284960940],[386930130,1288476560]],[[350277470,1288476560],[386930130,1310531620]],[[370277730,1310531620],[386930130,1320034790]]],["http://mt0.gmaptiles.co.kr/mt?v=kr1p.12\u0026hl=en-US\u0026","http://mt1.gmaptiles.co.kr/mt?v=kr1p.12\u0026hl=en-US\u0026"]]],[["http://cbk0.googleapis.com/cbk?","http://cbk1.googleapis.com/cbk?"]],[["http://khmdb0.googleapis.com/kh?v=53\u0026hl=en-US\u0026","http://khmdb1.googleapis.com/kh?v=53\u0026hl=en-US\u0026"],null,null,null,null,"53"],[["http://mt0.googleapis.com/mapslt?hl=en-US\u0026","http://mt1.googleapis.com/mapslt?hl=en-US\u0026"]],[["http://mt0.googleapis.com/mapslt/ft?hl=en-US\u0026","http://mt1.googleapis.com/mapslt/ft?hl=en-US\u0026"]],[["http://mt0.googleapis.com/vt?hl=en-US\u0026","http://mt1.googleapis.com/vt?hl=en-US\u0026"]]],["en-US","US",null,0,null,null,"http://maps.gstatic.com/mapfiles/","http://csi.gstatic.com","https://maps.googleapis.com","http://maps.googleapis.com"],["http://maps.gstatic.com/intl/en_us/mapfiles/api-3/8/5","3.8.5"],[275480768],1.0,null,null,null,null,0,"",null,null,0,"http://khm.googleapis.com/mz?v=107\u0026",null,"https://earthbuilder.google.com","https://earthbuilder.googleapis.com"], loadScriptTime);
};
var loadScriptTime = (new Date).getTime();
getScript("http://maps.gstatic.com/intl/en_us/mapfiles/api-3/8/5/main.js");
})();

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 326 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 326 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 620 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 574 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 95 B

View File

@ -1,44 +0,0 @@
(function(){function aa(a){throw a;}var ca=void 0,i=!0,j=null,k=!1,da=encodeURIComponent,m=window,ea=Object,fa=Infinity,n=document,o=Math,ga=Array,ha=screen,ia=navigator,ja=Error,ka=String,la=RegExp;function ma(a,b){return a.onload=b}function na(a,b){return a.center_changed=b}function oa(a,b){return a.isEmpty=b}function pa(a,b){return a.version=b}function ra(a,b){return a.width=b}function sa(a,b){return a.extend=b}function ta(a,b){return a.onerror=b}function ua(a,b){return a.map_changed=b}
function va(a,b){return a.visible_changed=b}function wa(a,b){return a.minZoom=b}function xa(a,b){return a.remove=b}function ya(a,b){return a.equals=b}function za(a,b){return a.setZoom=b}function Aa(a,b){return a.tileSize=b}function Ca(a,b){return a.getDetails=b}function Da(a,b){return a.getBounds=b}function Ea(a,b){return a.changed=b}function Fa(a,b){return a.clear=b}function Ga(a,b){return a.name=b}function Ha(a,b){return a.overflow=b}function Ia(a,b){return a.getTile=b}
function Ja(a,b){return a.toString=b}function Ka(a,b){return a.length=b}function La(a,b){return a.getZoom=b}function Ma(a,b){return a.size=b}function Na(a,b){return a.search=b}function Oa(a,b){return a.releaseTile=b}function Pa(a,b){return a.maxZoom=b}function Qa(a,b){return a.getUrl=b}function Ra(a,b){return a.contains=b}function Sa(a,b){return a.height=b}function Ta(a,b){return a.zoom=b}
var Ua="appendChild",p="push",Va="isEmpty",Xa="deviceXDPI",r="trigger",u="bindTo",Ya="shift",Za="exec",$a="clearTimeout",ab="fromLatLngToPoint",v="width",w="round",bb="slice",cb="replace",db="nodeType",eb="ceil",fb="floor",gb="getVisible",hb="offsetWidth",ib="concat",jb="removeListener",kb="extend",lb="charAt",mb="unbind",nb="preventDefault",ob="getNorthEast",pb="minZoom",rb="indexOf",sb="fromCharCode",tb="remove",ub="equals",vb="createElement",wb="atan2",xb="firstChild",yb="forEach",zb="setZoom",
Ab="sqrt",x="setAttribute",Bb="setValues",Cb="tileSize",Eb="toUrlValue",Fb="addListenerOnce",Gb="removeAt",Hb="changed",y="type",Ib="getTileUrl",Jb="clearInstanceListeners",A="bind",Kb="name",Lb="getTime",Mb="getElementsByTagName",Nb="substr",Ob="getTile",Pb="notify",Qb="toString",Rb="setVisible",B="length",Sb="onRemove",C="prototype",Tb="setTimeout",Vb="intersects",Wb="document",Xb="split",Yb="opacity",E="forward",Zb="getLength",$b="getSouthWest",ac="getAt",bc="message",cc="hasOwnProperty",F="style",
G="addListener",dc="removeChild",ec="insertAt",fc="target",gc="releaseTile",hc="call",ic="getMap",jc="atan",kc="random",lc="returnValue",mc="charCodeAt",nc="getArray",oc="href",pc="maxZoom",qc="console",rc="addDomListener",sc="setMap",tc="contains",uc="apply",vc="setAt",wc="tagName",xc="parentNode",yc="asin",zc="label",H="height",Ac="splice",Bc="offsetHeight",Cc="join",Dc="toLowerCase",Ec="ERROR",Fc="INVALID_REQUEST",Hc="MAX_DIMENSIONS_EXCEEDED",Ic="MAX_ELEMENTS_EXCEEDED",Jc="MAX_WAYPOINTS_EXCEEDED",
Kc="OK",Lc="OVER_QUERY_LIMIT",Mc="REQUEST_DENIED",Nc="UNKNOWN_ERROR",Oc="ZERO_RESULTS";function Pc(){return function(){}}function Qc(a){return function(){return this[a]}}var I,Rc=[];function Sc(a){return function(){return Rc[a][uc](this,arguments)}}var Tc={ROADMAP:"roadmap",SATELLITE:"satellite",HYBRID:"hybrid",TERRAIN:"terrain"};var Uc={TOP_LEFT:1,TOP_CENTER:2,TOP:2,TOP_RIGHT:3,LEFT_CENTER:4,LEFT_TOP:5,LEFT:5,LEFT_BOTTOM:6,RIGHT_TOP:7,RIGHT:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM:11,BOTTOM_RIGHT:12};var Vc=this;o[fb](2147483648*o[kc]())[Qb](36);function Wc(a){var b=a;if(a instanceof ga)b=[],Xc(b,a);else if(a instanceof ea){var c=b={},d;for(d in c)c[cc](d)&&delete c[d];for(var e in a)a[cc](e)&&(c[e]=Wc(a[e]))}return b}function Xc(a,b){Ka(a,b[B]);for(var c=0;c<b[B];++c)a[c]=Wc(b[c])}function Yc(a,b){a[b]||(a[b]=[]);return a[b]}function Zc(a,b){return a[b]?a[b][B]:0};var $c=la("'","g");function ad(a,b){var c=[];bd(a,b,c);return c[Cc]("&")[cb]($c,"%27")}function bd(a,b,c){for(var d=1;d<b.Y[B];++d){var e=b.Y[d],f=a[d+b.$];if(f!=j)if(3==e[zc])for(var g=0;g<f[B];++g)cd(f[g],d,e,c);else cd(f,d,e,c)}}function cd(a,b,c,d){if("m"==c[y]){var e=d[B];bd(a,c.V,d);d[Ac](e,0,[b,"m",d[B]-e][Cc](""))}else"b"==c[y]&&(a=a?"1":"0"),d[p]([b,c[y],da(a)][Cc](""))};function dd(a){this.l=a||[]}function ed(a){this.l=a||[]}var fd=new dd,gd=new dd;var hd={METRIC:0,IMPERIAL:1},id={DRIVING:"DRIVING",WALKING:"WALKING",BICYCLING:"BICYCLING"};var jd=o.abs,kd=o[eb],ld=o[fb],md=o.max,nd=o.min,od=o[w],pd="number",qd="object",rd="string",sd="undefined";function J(a){return a?a[B]:0}function td(){return i}function ud(a,b){for(var c=0,d=J(a);c<d;++c)if(a[c]===b)return i;return k}function vd(a,b){wd(b,function(c){a[c]=b[c]})}function xd(a){for(var b in a)return k;return i}function L(a,b){function c(){}c.prototype=b[C];a.prototype=new c}function yd(a,b,c){b!=j&&(a=o.max(a,b));c!=j&&(a=o.min(a,c));return a}
function zd(a,b,c){return((a-b)%(c-b)+(c-b))%(c-b)+b}function Ad(a,b){return 1.0E-9>=o.abs(a-b)}function M(a){return a*(o.PI/180)}function Bd(a){return a/(o.PI/180)}function Cd(a,b){for(var c=Dd(ca,J(b)),d=Dd(ca,0);d<c;++d)a[p](b[d])}function Ed(a){return typeof a!=sd}function N(a){return typeof a==pd}function Fd(a){return typeof a==qd}function Hd(){}function Dd(a,b){return a==j?b:a}function Id(a){a[cc]("_instance")||(a._instance=new a);return a._instance}function Jd(a){return typeof a==rd}
function O(a,b){if(a)for(var c=0,d=J(a);c<d;++c)b(a[c],c)}function wd(a,b){for(var c in a)b(c,a[c])}function P(a,b,c){if(2<arguments[B]){var d=Kd(arguments,2);return function(){return b[uc](a||this,0<arguments[B]?d[ib](Ld(arguments)):d)}}return function(){return b[uc](a||this,arguments)}}function Md(a,b,c){var d=Kd(arguments,2);return function(){return b[uc](a,d)}}function Kd(a,b,c){return Function[C][hc][uc](ga[C][bb],arguments)}function Ld(a){return ga[C][bb][hc](a,0)}
function Nd(){return(new Date)[Lb]()}function Od(a,b){if(a)return function(){--a||b()};b();return Hd}function Pd(a){return a!=j&&typeof a==qd&&typeof a[B]==pd}function Qd(a){var b="";O(arguments,function(a){J(a)&&"/"==a[0]?b=a:(b&&"/"!=b[J(b)-1]&&(b+="/"),b+=a)});return b}function Rd(a){a=a||m.event;Sd(a);Td(a);return k}function Sd(a){a.cancelBubble=i;a.stopPropagation&&a.stopPropagation()}function Td(a){a.returnValue=k;a[nb]&&a[nb]()}
function Ud(a){a.returnValue=a[lc]?"true":"";typeof a[lc]!=rd?a.handled=i:a.returnValue="true"}function Vd(a){return function(){var b=this,c=arguments;Wd(function(){a[uc](b,c)})}}function Wd(a){return m[Tb](a,0)}function Xd(a,b){var c=a[Mb]("head")[0],d=a[vb]("script");d[x]("type","text/javascript");d[x]("charset","UTF-8");d[x]("src",b);c[Ua](d)};function Q(a,b,c){a-=0;b-=0;c||(a=yd(a,-90,90),b=zd(b,-180,180));this.Ta=a;this.Ua=b}I=Q[C];Ja(I,function(){return"("+this.lat()+", "+this.lng()+")"});ya(I,function(a){return!a?k:Ad(this.lat(),a.lat())&&Ad(this.lng(),a.lng())});I.lat=Qc("Ta");I.lng=Qc("Ua");function Yd(a,b){var c=o.pow(10,b);return o[w](a*c)/c}I.toUrlValue=function(a){a=Ed(a)?a:6;return Yd(this.lat(),a)+","+Yd(this.lng(),a)};function Zd(a,b){-180==a&&180!=b&&(a=180);-180==b&&180!=a&&(b=180);this.b=a;this.e=b}function $d(a){return a.b>a.e}I=Zd[C];oa(I,function(){return 360==this.b-this.e});I.intersects=function(a){var b=this.b,c=this.e;return this[Va]()||a[Va]()?k:$d(this)?$d(a)||a.b<=this.e||a.e>=b:$d(a)?a.b<=c||a.e>=b:a.b<=c&&a.e>=b};Ra(I,function(a){-180==a&&(a=180);var b=this.b,c=this.e;return $d(this)?(a>=b||a<=c)&&!this[Va]():a>=b&&a<=c});
sa(I,function(a){this[tc](a)||(this[Va]()?this.b=this.e=a:ae(a,this.b)<ae(this.e,a)?this.b=a:this.e=a)});ya(I,function(a){return 1.0E-9>=o.abs(a.b-this.b)%360+o.abs(be(a)-be(this))});function ae(a,b){var c=b-a;return 0<=c?c:b+180-(a-180)}function be(a){return a[Va]()?0:$d(a)?360-(a.b-a.e):a.e-a.b}I.ob=function(){var a=(this.b+this.e)/2;$d(this)&&(a=zd(a+180,-180,180));return a};function ce(a,b){this.b=a;this.e=b}I=ce[C];oa(I,function(){return this.b>this.e});
I.intersects=function(a){var b=this.b,c=this.e;return b<=a.b?a.b<=c&&a.b<=a.e:b<=a.e&&b<=c};Ra(I,function(a){return a>=this.b&&a<=this.e});sa(I,function(a){this[Va]()?this.e=this.b=a:a<this.b?this.b=a:a>this.e&&(this.e=a)});ya(I,function(a){return this[Va]()?a[Va]():1.0E-9>=o.abs(a.b-this.b)+o.abs(this.e-a.e)});I.ob=function(){return(this.e+this.b)/2};function de(a,b){a&&!b&&(b=a);if(a){var c=yd(a.lat(),-90,90),d=yd(b.lat(),-90,90);this.aa=new ce(c,d);c=a.lng();d=b.lng();360<=d-c?this.ba=new Zd(-180,180):(c=zd(c,-180,180),d=zd(d,-180,180),this.ba=new Zd(c,d))}else this.aa=new ce(1,-1),this.ba=new Zd(180,-180)}I=de[C];I.getCenter=function(){return new Q(this.aa.ob(),this.ba.ob())};Ja(I,function(){return"("+this[$b]()+", "+this[ob]()+")"});I.toUrlValue=function(a){var b=this[$b](),c=this[ob]();return[b[Eb](a),c[Eb](a)][Cc]()};
ya(I,function(a){return!a?k:this.aa[ub](a.aa)&&this.ba[ub](a.ba)});Ra(I,function(a){return this.aa[tc](a.lat())&&this.ba[tc](a.lng())});I.intersects=function(a){return this.aa[Vb](a.aa)&&this.ba[Vb](a.ba)};I.Va=Sc(4);sa(I,function(a){this.aa[kb](a.lat());this.ba[kb](a.lng());return this});I.union=function(a){this[kb](a[$b]());this[kb](a[ob]());return this};I.getSouthWest=function(){return new Q(this.aa.b,this.ba.b,i)};I.getNorthEast=function(){return new Q(this.aa.e,this.ba.e,i)};
I.toSpan=function(){return new Q(this.aa[Va]()?0:this.aa.e-this.aa.b,be(this.ba),i)};oa(I,function(){return this.aa[Va]()||this.ba[Va]()});function ee(a,b){return function(c){if(!b)for(var d in c)a[d]||aa(ja("Unknown property <"+(d+">")));var e;for(d in a)try{var f=c[d];if(!a[d](f)){e="Invalid value for property <"+(d+(">: "+f));break}}catch(g){e="Error in property <"+(d+(">: ("+(g[bc]+")")));break}e&&aa(ja(e));return i}}function fe(a){return a==j}function ge(a){try{return!!a.cloneNode}catch(b){return k}}function he(a,b){var c=Ed(b)?b:i;return function(b){return b==j&&c||b instanceof a}}
function ie(a){return function(b){for(var c in a)if(a[c]==b)return i;return k}}function je(a){return function(b){Pd(b)||aa(ja("Value is not an array"));var c;O(b,function(b,e){try{a(b)||(c="Invalid value at position "+(e+(": "+b)))}catch(f){c="Error in element at position "+(e+(": ("+(f[bc]+")")))}});c&&aa(ja(c));return i}}
function ke(a){var b=arguments,c=b[B];return function(){for(var a=[],e=0;e<c;++e)try{if(b[e][uc](this,arguments))return i}catch(f){a[p](f[bc])}J(a)&&aa(ja("Invalid value: "+(arguments[0]+(" ("+(a[Cc](" | ")+")")))));return k}}var le=ke(N,fe),me=ke(Jd,fe),ne=ke(function(a){return a===!!a},fe),oe=ke(he(Q,k),Jd),pe=je(oe);var qe=ee({routes:je(ee({},i))},i);var re="geometry",se="drawing_impl",te="geocoder",ue="infowindow",ve="layers",we="map",xe="marker",ye="maxzoom",ze="onion",Ae="places_impl",Be="poly",Ce="search_impl",De="stats",Ee="usage";var Fe={main:[],common:["main"],util:["common"],adsense:["main"],adsense_impl:["util"],controls:["util"]};Fe.directions=["util",re];Fe.distance_matrix=["util"];Fe.drawing=["main"];Fe[se]=["controls"];Fe.visualization=["main"];Fe.visualization_impl=["util"];Fe.earthbuilder_impl=[ze];Fe.elevation=["util",re];Fe.buzz=["main"];Fe[te]=["util"];Fe[re]=["main"];Fe[ue]=["util"];Fe.kml=[ze,"util",we];Fe[ve]=[we];Fe[we]=["common"];Fe[xe]=["util"];Fe[ye]=["util"];Fe[ze]=["util",we];Fe.overlay=["common"];
Fe.panoramio=["main"];Fe.places=["main"];Fe[Ae]=["controls"];Fe[Be]=["util",we];Na(Fe,["main"]);Fe[Ce]=[ze];Fe[De]=["util"];Fe.streetview=["util",re];Fe[Ee]=["util"];Fe.weather=["main"];Fe.weather_impl=[ze];function Ge(a,b){this.e=a;this.n={};this.d=[];this.b=j;this.f=(this.j=!!b.match(/^https?:\/\/[^:\/]*\/intl/))?b[cb]("/intl","/cat_js/intl"):b}function He(a,b){a.n[b]||(a.j?(a.d[p](b),a.b||(a.b=m[Tb](P(a,a.A),0))):Xd(a.e,Qd(a.f,b)+".js"))}Ge[C].A=function(){var a=Qd(this.f,"%7B"+this.d[Cc](",")+"%7D.js");Ka(this.d,0);m[$a](this.b);this.b=j;Xd(this.e,a)};var Ie="click",Je="contextmenu",Ke="forceredraw",Le="staticmaploaded",Me="panby",Ne="panto",Oe="insert",Pe="remove";var R={};R.df=function(){return this}().navigator&&-1!=ia.userAgent[Dc]()[rb]("msie");R.Vc={};R.addListener=function(a,b,c){return new Qe(a,b,c,0)};R.qe=function(a,b){var c=a.__e3_,c=c&&c[b];return!!c&&!xd(c)};R.removeListener=function(a){a[tb]()};R.clearListeners=function(a,b){wd(Re(a,b),function(a,b){b&&b[tb]()})};R.clearInstanceListeners=function(a){wd(Re(a),function(a,c){c&&c[tb]()})};function Se(a,b){a.__e3_||(a.__e3_={});var c=a.__e3_;c[b]||(c[b]={});return c[b]}
function Re(a,b){var c,d=a.__e3_||{};if(b)c=d[b]||{};else{c={};for(var e in d)vd(c,d[e])}return c}R.trigger=function(a,b,c){if(R.qe(a,b)){var d=Kd(arguments,2),e=Re(a,b),f;for(f in e){var g=e[f];g&&g.d[uc](g.b,d)}}};R.addDomListener=function(a,b,c,d){if(a.addEventListener){var e=d?4:1;a.addEventListener(b,c,d);c=new Qe(a,b,c,e)}else a.attachEvent?(c=new Qe(a,b,c,2),a.attachEvent("on"+b,Te(c))):(a["on"+b]=c,c=new Qe(a,b,c,3));return c};
R.addDomListenerOnce=function(a,b,c,d){var e=R[rc](a,b,function(){e[tb]();return c[uc](this,arguments)},d);return e};R.R=function(a,b,c,d){c=Ue(c,d);return R[rc](a,b,c)};function Ue(a,b){return function(c){return b[hc](a,c,this)}}R.bind=function(a,b,c,d){return R[G](a,b,P(c,d))};R.addListenerOnce=function(a,b,c){var d=R[G](a,b,function(){d[tb]();return c[uc](this,arguments)});return d};R.forward=function(a,b,c){return R[G](a,b,Ve(b,c))};R.va=function(a,b,c,d){return R[rc](a,b,Ve(b,c,!d))};
R.wg=function(){var a=R.Vc,b;for(b in a)a[b][tb]();R.Vc={};(a=Vc.CollectGarbage)&&a()};function Ve(a,b,c){return function(d){var e=[b,a];Cd(e,arguments);R[r][uc](this,e);c&&Ud[uc](j,arguments)}}function Qe(a,b,c,d){this.b=a;this.e=b;this.d=c;this.f=j;this.j=d;this.id=++We;Se(a,b)[this.id]=this;R.df&&"tagName"in a&&(R.Vc[this.id]=this)}var We=0;
function Te(a){return a.f=function(b){b||(b=m.event);if(b&&!b[fc])try{b.target=b.srcElement}catch(c){}var d=a.d[uc](a.b,[b]);return b&&Ie==b[y]&&(b=b.srcElement)&&"A"==b[wc]&&"javascript:void(0)"==b[oc]?k:d}}
xa(Qe[C],function(){if(this.b){switch(this.j){case 1:this.b.removeEventListener(this.e,this.d,k);break;case 4:this.b.removeEventListener(this.e,this.d,i);break;case 2:this.b.detachEvent("on"+this.e,this.f);break;case 3:this.b["on"+this.e]=j}delete Se(this.b,this.e)[this.id];this.f=this.d=this.b=j;delete R.Vc[this.id]}});function Xe(a,b){this.e=a;this.b=b;this.d=Ye(b)}function Ye(a){var b={};wd(a,function(a,d){O(d,function(d){b[d]||(b[d]=[]);b[d][p](a)})});return b}function Ze(){this.b=[]}Ze[C].Ab=function(a,b){var c=new Ge(n,a),d=this.e=new Xe(c,b);O(this.b,function(a){a(d)});Ka(this.b,0)};Ze[C].Vd=function(a){this.e?a(this.e):this.b[p](a)};function $e(){this.f={};this.b={};this.j={};this.e={};this.d=new Ze}$e[C].Ab=function(a,b){this.d.Ab(a,b)};
function af(a,b){a.f[b]||(a.f[b]=i,a.d.Vd(function(c){O(c.b[b],function(b){a.e[b]||af(a,b)});He(c.e,b)}))}function bf(a,b,c){a.e[b]=c;O(a.b[b],function(a){a(c)});delete a.b[b]}$e[C].Dc=function(a,b){var c=this,d=c.j;c.d.Vd(function(e){var f=e.b[a]||[],g=e.d[a]||[],h=d[a]=Od(f[B],function(){delete d[a];cf[f[0]](b);O(g,function(a){d[a]&&d[a]()})});O(f,function(a){c.e[a]&&h()})})};function df(a,b){Id($e).Dc(a,b)}var cf={},ef=Vc.google.maps;ef.__gjsload__=df;wd(ef.modules,df);delete ef.modules;function S(a,b,c){var d=Id($e);if(d.e[a])b(d.e[a]);else{var e=d.b;e[a]||(e[a]=[]);e[a][p](b);c||af(d,a)}}function ff(a,b){bf(Id($e),a,b)}function gf(a){var b=Fe;Id($e).Ab(a,b)}function hf(a){var b=Yc(jf.l,12),c=[],d=Od(J(b),function(){a[uc](j,c)});O(b,function(a,b){S(a,function(a){c[b]=a;d()},i)})};function kf(){}kf[C].route=function(a,b){S("directions",function(c){c.Vg(a,b,i)})};function T(a,b){this.x=a;this.y=b}var lf=new T(0,0);Ja(T[C],function(){return"("+this.x+", "+this.y+")"});ya(T[C],function(a){return!a?k:a.x==this.x&&a.y==this.y});T[C].round=function(){this.x=od(this.x);this.y=od(this.y)};T[C].Zc=Sc(0);function U(a,b,c,d){ra(this,a);Sa(this,b);this.B=c||"px";this.n=d||"px"}var mf=new U(0,0);Ja(U[C],function(){return"("+this[v]+", "+this[H]+")"});ya(U[C],function(a){return!a?k:a[v]==this[v]&&a[H]==this[H]});function nf(a){this.F=this.D=fa;this.G=this.J=-fa;O(a,P(this,this[kb]))}function of(a,b,c,d){var e=new nf;e.F=a;e.D=b;e.G=c;e.J=d;return e}I=nf[C];oa(I,function(){return!(this.F<this.G&&this.D<this.J)});sa(I,function(a){a&&(this.F=nd(this.F,a.x),this.G=md(this.G,a.x),this.D=nd(this.D,a.y),this.J=md(this.J,a.y))});I.getCenter=function(){return new T((this.F+this.G)/2,(this.D+this.J)/2)};ya(I,function(a){return!a?k:this.F==a.F&&this.D==a.D&&this.G==a.G&&this.J==a.J});I.Va=Sc(3);
var pf=of(-fa,-fa,fa,fa),qf=of(0,0,0,0);function V(){}I=V[C];I.get=function(a){var b=rf(this)[a];if(b){var a=b.tb,b=b.Qe,c="get"+sf(a);return b[c]?b[c]():b.get(a)}return this[a]};I.set=function(a,b){var c=rf(this);if(c[cc](a)){var d=c[a],c=d.tb,d=d.Qe,e="set"+sf(c);if(d[e])d[e](b);else d.set(c,b)}else this[a]=b,tf(this,a)};I.notify=function(a){var b=rf(this);b[cc](a)?(a=b[a],a.Qe[Pb](a.tb)):tf(this,a)};I.setValues=function(a){for(var b in a){var c=a[b],d="set"+sf(b);if(this[d])this[d](c);else this.set(b,c)}};I.setOptions=V[C][Bb];
Ea(I,Pc());function tf(a,b){var c=b+"_changed";if(a[c])a[c]();else a[Hb](b);R[r](a,b[Dc]()+"_changed")}var uf={};function sf(a){return uf[a]||(uf[a]=a[Nb](0,1).toUpperCase()+a[Nb](1))}function vf(a,b,c,d,e){rf(a)[b]={Qe:c,tb:d};e||tf(a,b)}function rf(a){a.gm_accessors_||(a.gm_accessors_={});return a.gm_accessors_}function wf(a){a.gm_bindings_||(a.gm_bindings_={});return a.gm_bindings_}
V[C].bindTo=function(a,b,c,d){var c=c||a,e=this;e[mb](a);wf(e)[a]=R[G](b,c[Dc]()+"_changed",function(){tf(e,a)});vf(e,a,b,c,d)};V[C].unbind=function(a){var b=wf(this)[a];b&&(delete wf(this)[a],R[jb](b),b=this.get(a),delete rf(this)[a],this[a]=b)};V[C].unbindAll=function(){var a=[];wd(wf(this),function(b){a[p](b)});O(a,P(this,this[mb]))};var xf=V;function yf(a,b,c){this.heading=a;this.pitch=yd(b,-90,90);Ta(this,o.max(0,c))}var zf=ee({zoom:N,heading:N,pitch:N});function Af(a){if(!Fd(a)||!a)return""+a;a.__gm_id||(a.__gm_id=++Bf);return""+a.__gm_id}var Bf=0;function Cf(){this.ua={}}Cf[C].X=function(a){var b=this.ua,c=Af(a);b[c]||(b[c]=a,R[r](this,Oe,a),this.b&&this.b(a))};xa(Cf[C],function(a){var b=this.ua,c=Af(a);b[c]&&(delete b[c],R[r](this,Pe,a),this[Sb]&&this[Sb](a))});Ra(Cf[C],function(a){return!!this.ua[Af(a)]});Cf[C].forEach=function(a){var b=this.ua,c;for(c in b)a[hc](this,b[c])};function Df(a){return function(){return this.get(a)}}function Ef(a,b){return b?function(c){b(c)||aa(ja("Invalid value for property <"+(a+(">: "+c))));this.set(a,c)}:function(b){this.set(a,b)}}function Ff(a,b){wd(b,function(b,d){var e=Df(b);a["get"+sf(b)]=e;d&&(e=Ef(b,d),a["set"+sf(b)]=e)})};var Gf="set_at",Hf="insert_at",If="remove_at";function Jf(a){this.b=a||[];Kf(this)}L(Jf,V);I=Jf[C];I.getAt=function(a){return this.b[a]};I.forEach=function(a){for(var b=0,c=this.b[B];b<c;++b)a(this.b[b],b)};I.setAt=function(a,b){var c=this.b[a],d=this.b[B];if(a<d)this.b[a]=b,R[r](this,Gf,a,c),this.gc&&this.gc(a,c);else{for(c=d;c<a;++c)this[ec](c,ca);this[ec](a,b)}};I.insertAt=function(a,b){this.b[Ac](a,0,b);Kf(this);R[r](this,Hf,a);this.ec&&this.ec(a)};
I.removeAt=function(a){var b=this.b[a];this.b[Ac](a,1);Kf(this);R[r](this,If,a,b);this.fc&&this.fc(a,b);return b};I.push=function(a){this[ec](this.b[B],a);return this.b[B]};I.pop=function(){return this[Gb](this.b[B]-1)};I.getArray=Qc("b");function Kf(a){a.set("length",a.b[B])}Fa(I,function(){for(;this.get("length");)this.pop()});Ff(Jf[C],{length:ca});function Lf(){}L(Lf,V);var Mf=V;function Nf(a,b){this.b=a||0;this.e=b||0}Nf[C].heading=Qc("b");Nf[C].Ba=Sc(8);var Of=new Nf;function Pf(){}L(Pf,V);Pf[C].set=function(a,b){b!=j&&(!b||!N(b[pc])||!b[Cb]||!b[Cb][v]||!b[Cb][H]||!b[Ob]||!b[Ob][uc])&&aa(ja("Expected value implementing google.maps.MapType"));return V[C].set[uc](this,arguments)};function Qf(){this.f=[];this.e=this.b=this.d=j};function Rf(){}L(Rf,V);var Sf=[];function Tf(a){this[Bb](a)}L(Tf,V);Ff(Tf[C],{content:ke(fe,Jd,ge),position:he(Q),size:he(U),map:ke(he(Rf),he(Lf)),anchor:he(V),zIndex:le});function Uf(a){this[Bb](a);m[Tb](function(){S(ue,Hd)},100)}L(Uf,Tf);Uf[C].open=function(a,b){this.set("anchor",b);this.set("map",a)};Uf[C].close=function(){this.set("map",j)};Ea(Uf[C],function(a){var b=this;S(ue,function(c){c[Hb](b,a)})});function Vf(a,b,c,d,e){this.url=a;Ma(this,b||e);this.origin=c;this.anchor=d;this.scaledSize=e};function Wf(a){this[Bb](a)}L(Wf,V);Ea(Wf[C],function(a){if("map"==a||"panel"==a){var b=this;S("directions",function(c){c.Pk(b,a)})}});Ff(Wf[C],{directions:qe,map:he(Rf),panel:ke(ge,fe),routeIndex:le});function Xf(){}Xf[C].getDistanceMatrix=function(a,b){S("distance_matrix",function(c){c.b(a,b)})};function Yf(){}Yf[C].getElevationAlongPath=function(a,b){S("elevation",function(c){c.b(a,b)})};Yf[C].getElevationForLocations=function(a,b){S("elevation",function(c){c.e(a,b)})};var Zf,$f;function ag(){S(te,Hd)}ag[C].geocode=function(a,b){S(te,function(c){c.geocode(a,b)})};function bg(a,b,c){this.e=j;this.set("url",a);this.set("bounds",b);this[Bb](c)}L(bg,V);ua(bg[C],function(){var a=this,b=a.e,c=a.e=a.get("map");b!=c&&(b&&b.d[tb](a),c&&c.d.X(a),S("kml",function(b){b.nj(a,a.get("map"))}))});Ff(bg[C],{map:he(Rf),url:j,bounds:j,opacity:le});function cg(a,b){this.set("url",a);this[Bb](b)}L(cg,V);ua(cg[C],function(){var a=this;S("kml",function(b){b.Kk(a)})});Ff(cg[C],{map:he(Rf),defaultViewport:j,metadata:j,status:j,url:j});var dg={UNKNOWN:"UNKNOWN",OK:Kc,INVALID_REQUEST:Fc,DOCUMENT_NOT_FOUND:"DOCUMENT_NOT_FOUND",FETCH_ERROR:"FETCH_ERROR",INVALID_DOCUMENT:"INVALID_DOCUMENT",DOCUMENT_TOO_LARGE:"DOCUMENT_TOO_LARGE",LIMITS_EXCEEDED:"LIMITS_EXECEEDED",TIMED_OUT:"TIMED_OUT"};function eg(){S(ve,Hd)}L(eg,V);ua(eg[C],function(){var a=this;S(ve,function(b){b.b(a)})});Ff(eg[C],{map:he(Rf)});function fg(){S(ve,Hd)}L(fg,V);ua(fg[C],function(){var a=this;S(ve,function(b){b.e(a)})});Ff(fg[C],{map:he(Rf)});function gg(a){this.l=a||[]}function hg(a){this.l=a||[]}var ig=new gg,jg=new gg,kg=new hg;function lg(a){this.l=a||[]}function mg(a){this.l=a||[]}function ng(a){this.l=a||[]}function og(a){this.l=a||[]}function pg(a){this.l=a||[]}function qg(a){this.l=a||[]}Qa(lg[C],function(a){return Yc(this.l,0)[a]});var rg=new lg,sg=new lg,tg=new lg,ug=new lg,vg=new lg,wg=new lg,xg=new lg,yg=new lg,zg=new lg;function Ag(a){a=a.l[0];return a!=j?a:""}function Bg(){var a=Cg(jf).l[1];return a!=j?a:""}function Dg(){var a=Cg(jf).l[9];return a!=j?a:""}function Eg(a){a=a.l[0];return a!=j?a:""}
function Fg(a){a=a.l[1];return a!=j?a:""}function Gg(){var a=jf.l[4],a=(a?new pg(a):Hg).l[0];return a!=j?a:0}function Ig(){var a=jf.l[5];return a!=j?a:1}function Jg(){var a=jf.l[11];return a!=j?a:""}var Kg=new mg,Lg=new ng;function Cg(a){return(a=a.l[2])?new ng(a):Lg}var Mg=new og;function Ng(){var a=jf.l[3];return a?new og(a):Mg}var Hg=new pg;var jf;function Og(){this.b=new T(128,128);this.e=256/360;this.d=256/(2*o.PI)}Og[C].fromLatLngToPoint=function(a,b){var c=b||new T(0,0),d=this.b;c.x=d.x+a.lng()*this.e;var e=yd(o.sin(M(a.lat())),-(1-1.0E-15),1-1.0E-15);c.y=d.y+0.5*o.log((1+e)/(1-e))*-this.d;return c};Og[C].fromPointToLatLng=function(a,b){var c=this.b;return new Q(Bd(2*o[jc](o.exp((a.y-c.y)/-this.d))-o.PI/2),(a.x-c.x)/this.e,b)};function Pg(a,b,c){if(a=a[ab](b))c=o.pow(2,c),a.x*=c,a.y*=c;return a};function Qg(a,b){var c=a.lat()+Bd(b);90<c&&(c=90);var d=a.lat()-Bd(b);-90>d&&(d=-90);var e=o.sin(b),f=o.cos(M(a.lat()));if(90==c||-90==d||1.0E-6>f)return new de(new Q(d,-180),new Q(c,180));e=Bd(o[yc](e/f));return new de(new Q(d,a.lng()-e),new Q(c,a.lng()+e))};function Rg(a){this.Yb=a||0;this.Sb=R[A](this,Ke,this,this.I)}L(Rg,V);Rg[C].O=function(){var a=this;a.f||(a.f=m[Tb](function(){a.f=ca;a.Z()},a.Yb))};Rg[C].I=function(){this.f&&m[$a](this.f);this.f=ca;this.Z()};Rg[C].Z=Pc();Rg[C].Q=Sc(2);function Sg(a,b){var c=a[F];ra(c,b[v]+b.B);Sa(c,b[H]+b.n)}function Tg(a){return new U(a[hb],a[Bc])};function Ug(a){this.l=a||[]}var Vg;function Wg(a){this.l=a||[]}var Xg;function Yg(a){this.l=a||[]}var Zg;function $g(a){this.l=a||[]}var ah;
function bh(a){if(!ah){var b=[];ah={$:-1,Y:b};if(!Xg){var c=[];Xg={$:-1,Y:c};c[1]={type:"i",label:1};c[2]={type:"i",label:1}}b[1]={type:"m",label:1,V:Xg};b[2]={type:"e",label:1};b[3]={type:"u",label:1};Zg||(c=[],Zg={$:-1,Y:c},c[1]={type:"u",label:1},c[2]={type:"u",label:1},c[3]={type:"e",label:1});b[4]={type:"m",label:1,V:Zg};Vg||(c=[],Vg={$:-1,Y:c},c[1]={type:"e",label:1},c[2]={type:"b",label:1},c[3]={type:"b",label:1},c[5]={type:"s",label:1},c[6]={type:"s",label:1},c[100]={type:"b",label:1});b[5]=
{type:"m",label:1,V:Vg}}return ad(a.l,ah)}La($g[C],function(){var a=this.l[2];return a!=j?a:0});za($g[C],function(a){this.l[2]=a});function ch(a,b,c){Rg[hc](this);this.A=b;this.n=new Og;this.B=c+"/maps/api/js/StaticMapService.GetMapImage";this.set("div",a)}L(ch,Rg);var dh={roadmap:0,satellite:2,hybrid:3,terrain:4},eh={"0":1,2:2,3:2,4:2};I=ch[C];I.bf=Df("center");I.af=Df("zoom");function fh(a){var b=a.get("tilt")||a.get("mapMaker")||J(a.get("styles")),a=a.get("mapTypeId");return b?j:dh[a]}
Ea(I,function(){var a=this.bf(),b=this.af(),c=fh(this);if(a&&!a[ub](this.C)||this.d!=b||this.H!=c)gh(this.j),this.O(),this.d=b,this.H=c;this.C=a});function gh(a){a[xc]&&a[xc][dc](a)}
I.Z=function(){var a="",b=this.bf(),c=this.af(),d=fh(this),e=this.get("size");if(b&&1<c&&d!=j&&e&&e[v]&&e[H]&&this.b){Sg(this.b,e);var f;(b=Pg(this.n,b,c))?(f=new nf,f.F=o[w](b.x-e[v]/2),f.G=f.F+e[v],f.D=o[w](b.y-e[H]/2),f.J=f.D+e[H]):f=j;b=eh[d];if(f){var a=new $g,g=1<(22>c&&(m.devicePixelRatio||ha[Xa]&&ha[Xa]/96||1))?2:1,h;a.l[0]=a.l[0]||[];h=new Wg(a.l[0]);h.l[0]=f.F*g;h.l[1]=f.D*g;a.l[1]=b;a[zb](c);a.l[3]=a.l[3]||[];c=new Yg(a.l[3]);c.l[0]=(f.G-f.F)*g;c.l[1]=(f.J-f.D)*g;1<g&&(c.l[2]=2);a.l[4]=
a.l[4]||[];c=new Ug(a.l[4]);c.l[0]=d;c.l[1]=i;c.l[4]=Ag(Cg(jf));d=Bg()[Dc]();if("cn"==d||"in"==d||"kr"==d)c.l[5]=d;a=this.A(this.B+unescape("%3F")+bh(a))}}this.j&&e&&(Sg(this.j,e),e=a,d=this.j,e!=d.src?(gh(d),ma(d,Md(this,this.zf,i)),ta(d,Md(this,this.zf,k)),d.src=e):!d[xc]&&e&&this.b[Ua](d))};I.zf=function(a){var b=this.j;ma(b,j);ta(b,j);a&&(b[xc]||this.b[Ua](b),Sg(b,this.get("size")),R[r](this,Le))};
I.div_changed=function(){var a=this.get("div"),b=this.b;if(a)if(b)a[Ua](b);else{b=this.b=n[vb]("div");Ha(b[F],"hidden");var c=this.j=n[vb]("img");R[rc](b,Je,Td);c.ontouchstart=c.ontouchmove=c.ontouchend=c.ontouchcancel=Rd;Sg(c,mf);a[Ua](b);this.Z()}else b&&(gh(b),this.b=j)};function hh(a){this.b=[];this.e=a||Nd()}var ih;function jh(a,b,c){c=c||Nd()-a.e;ih&&a.b[p]([b,c]);return c};var kh;function lh(a,b){var c=this;c.f=new V;var d=c.controls=[];wd(Uc,function(a,b){d[b]=new Jf});c.N=a;c.setPov(new yf(0,0,1));c[Bb](b);c[gb]()==ca&&c[Rb](i);c.Ub=b&&b.Ub||new Cf;R[Fb](this,"pano_changed",Vd(function(){S(xe,function(a){a.b(c.Ub,c)})}))}L(lh,Lf);va(lh[C],function(){var a=this;!a.d&&a[gb]()&&(a.d=i,S("streetview",function(b){b.f(a)}))});Ff(lh[C],{visible:ne,pano:me,position:he(Q),pov:ke(zf,fe),links:ca,enableCloseButton:ne});lh[C].getContainer=Qc("N");lh[C].M=Qc("f");
lh[C].registerPanoProvider=Ef("panoProvider");function mh(a,b){var c=new nh(b);for(c.b=[a];J(c.b);){var d=c,e=c.b[Ya]();d.e(e);for(e=e[xb];e;e=e.nextSibling)1==e[db]&&d.b[p](e)}}function nh(a){this.e=a};var oh=Vc[Wb]&&Vc[Wb][vb]("div");function ph(a){for(var b;b=a[xb];)qh(b),a[dc](b)}function qh(a){mh(a,function(a){R[Jb](a)})};function rh(a,b){kh&&jh(kh,"mc");var c=this,d=b||{};c[Bb](d);c.d=new Cf;c.Tb=new Jf;c.mapTypes=new Pf;c.features=new xf;var e=c.Ub=new Cf;e.b=function(){delete e.b;S(xe,Vd(function(a){a.b(e,c)}))};c.$d=new Cf;c.ee=new Cf;c.ce=new Cf;Sf[p](a);c.B=new lh(a,{visible:k,enableCloseButton:i,Ub:e});c[Pb]("streetView");c.b=a;var f=Tg(a);d.noClear||ph(a);var g=j;sh(d.useStaticMap,f)&&(g=new ch(a,Zf,Dg()),R[E](g,Le,this),R[Fb](g,Le,function(){jh(kh,"smv")}),g.set("size",f),g[u]("center",c),g[u]("zoom",c),g[u]("mapTypeId",
c),g[u]("styles",c),g[u]("mapMaker",c));c.n=new Mf;c.overlayMapTypes=new Jf;var h=c.controls=[];wd(Uc,function(a,b){h[b]=new Jf});c.j=new Qf;S(we,function(a){a.Ph(c,d,g)})}L(rh,Rf);I=rh[C];I.streetView_changed=function(){this.get("streetView")||this.set("streetView",this.B)};I.getDiv=Qc("b");I.M=Qc("n");I.panBy=function(a,b){var c=this.n;S(we,function(){R[r](c,Me,a,b)})};I.panTo=function(a){var b=this.n;S(we,function(){R[r](b,Ne,a)})};
I.panToBounds=function(a){var b=this.n;S(we,function(){R[r](b,"pantolatlngbounds",a)})};I.fitBounds=function(a){var b=this;S(we,function(c){c.fitBounds(b,a)})};function sh(a,b){if(Ed(a))return!!a;var c=b[v],d=b[H];return 384E3>=c*d&&800>=c&&800>=d}Ff(rh[C],{bounds:j,streetView:he(Lf),center:he(Q),zoom:le,mapTypeId:me,projection:j,heading:le,tilt:le});function th(a){this[Bb](a);S(xe,Hd)}L(th,V);var uh=ke(Jd,he(ea));Ff(th[C],{position:he(Q),title:me,icon:uh,shadow:uh,shape:td,cursor:me,clickable:ne,animation:td,draggable:ne,visible:ne,flat:ne,zIndex:le});th[C].getVisible=function(){return this.get("visible")!=k};th[C].getClickable=function(){return this.get("clickable")!=k};function vh(a){th[hc](this,a)}L(vh,th);ua(vh[C],function(){this.e&&this.e.Ub[tb](this);(this.e=this.get("map"))&&this.e.Ub.X(this)});vh.MAX_ZINDEX=1E6;Ff(vh[C],{map:ke(he(Rf),he(Lf))});function wh(){S(ye,Hd)}wh[C].getMaxZoomAtLatLng=function(a,b){S(ye,function(c){c.getMaxZoomAtLatLng(a,b)})};function xh(a,b){if(Jd(a)||le(a))this.set("tableId",a),this[Bb](b);else this[Bb](a)}L(xh,V);Ea(xh[C],function(a){if(!("suppressInfoWindows"==a||"clickable"==a)){var b=this;S(ze,function(a){a.Jk(b)})}});Ff(xh[C],{map:he(Rf),tableId:le,query:ke(Jd,Fd)});function yh(){}L(yh,V);ua(yh[C],function(){var a=this;S("overlay",function(b){b.b(a)})});Ff(yh[C],{panes:ca,projection:ca,map:ke(he(Rf),he(Lf))});function zh(a){var b,c=k;if(a instanceof Jf)if(0<a.get("length")){var d=a[ac](0);d instanceof Q?(b=new Jf,b[ec](0,a)):d instanceof Jf?d[Zb]()&&!(d[ac](0)instanceof Q)?c=i:b=a:c=i}else b=a;else Pd(a)?0<a[B]?(d=a[0],d instanceof Q?(b=new Jf,b[ec](0,new Jf(a))):Pd(d)?d[B]&&!(d[0]instanceof Q)?c=i:(b=new Jf,O(a,function(a,c){b[ec](c,new Jf(a))})):c=i):b=new Jf:c=i;c&&aa(ja("Invalid value for constructor parameter 0: "+a));return b}function Ah(a){return a&&a.radius||6378137};function Bh(a){this[Bb](a);S(Be,Hd)}L(Bh,V);ua(Bh[C],va(Bh[C],function(){var a=this;S(Be,function(b){b.b(a)})}));na(Bh[C],function(){R[r](this,"bounds_changed")});Bh[C].radius_changed=Bh[C].center_changed;Da(Bh[C],function(){var a=this.get("radius"),b=this.get("center");if(b&&N(a)){var c=this.get("map"),c=c&&c.M().get("mapType");return Qg(b,a/Ah(c))}return j});Ff(Bh[C],{center:he(Q),editable:ne,map:he(Rf),radius:le,visible:ne});function Ch(){this.set("latLngs",new Jf([new Jf]))}L(Ch,V);ua(Ch[C],va(Ch[C],function(){var a=this;S(Be,function(b){b.e(a)})}));Ch[C].getPath=function(){return this.get("latLngs")[ac](0)};Ch[C].setPath=function(a){a=zh(a);this.get("latLngs")[vc](0,a[ac](0)||new Jf)};Ff(Ch[C],{editable:ne,map:he(Rf),visible:ne});function Dh(a){Ch[hc](this);this[Bb](a);S(Be,Hd)}L(Dh,Ch);Dh[C].f=i;Dh[C].getPaths=function(){return this.get("latLngs")};Dh[C].setPaths=function(a){this.set("latLngs",zh(a))};function Eh(a){Ch[hc](this);this[Bb](a);S(Be,Hd)}L(Eh,Ch);Eh[C].f=k;function Fh(a){Rg[hc](this);this[Bb](a);S(Be,Hd)}L(Fh,Rg);ua(Fh[C],va(Fh[C],function(){var a=this;S(Be,function(b){b.d(a)})}));Ff(Fh[C],{editable:ne,bounds:he(de),map:he(Rf),visible:ne});function Gh(){}Gh[C].getPanoramaByLocation=function(a,b,c){var d=this.Pa;S("streetview",function(e){e.d(a,b,c,d)})};Gh[C].getPanoramaById=function(a,b){var c=this.Pa;S("streetview",function(d){d.e(a,b,c)})};function Hh(a){this.b=a}Ia(Hh[C],function(a,b,c){c=c[vb]("div");a={fa:c,qa:a,zoom:b};c.pa=a;this.b.X(a);return c});Oa(Hh[C],function(a){this.b[tb](a.pa);a.pa=j});Hh[C].sb=function(a){R[r](a.pa,"stop",a.pa)};function Ih(a){Aa(this,a[Cb]);Ga(this,a[Kb]);this.alt=a.alt;wa(this,a[pb]);Pa(this,a[pc]);var b=new Cf,c=new Hh(b);Ia(this,P(c,c[Ob]));Oa(this,P(c,c[gc]));this.sb=P(c,c.sb);var d=P(a,a[Ib]);this.set("opacity",a[Yb]);var e=this;S(we,function(c){(new c.uk(b,d,j,a))[u]("opacity",e)})}L(Ih,V);Ih[C].Nb=i;Ff(Ih[C],{opacity:le});function Jh(a,b){var c=b||{};this.C=c.baseMapTypeId||"roadmap";this.A=a;wa(this,c[pb]);Pa(this,c[pc]||20);Ga(this,c[Kb]);this.alt=c.alt;Aa(this,new U(256,256));Ia(this,Hd)};var Kh={Animation:{BOUNCE:1,DROP:2,e:3,b:4},Circle:Bh,ControlPosition:Uc,GroundOverlay:bg,ImageMapType:Ih,InfoWindow:Uf,LatLng:Q,LatLngBounds:de,MVCArray:Jf,MVCObject:V,Map:rh,MapTypeControlStyle:{DEFAULT:0,HORIZONTAL_BAR:1,DROPDOWN_MENU:2},MapTypeId:Tc,MapTypeRegistry:Pf,Marker:vh,MarkerImage:Vf,NavigationControlStyle:{DEFAULT:0,SMALL:1,ANDROID:2,ZOOM_PAN:3,kl:4,Hk:5},OverlayView:yh,Point:T,Polygon:Dh,Polyline:Eh,Rectangle:Fh,ScaleControlStyle:{DEFAULT:0},Size:U,ZoomControlStyle:{DEFAULT:0,SMALL:1,
LARGE:2,Hk:3,ANDROID:4},event:R};
vd(Kh,{BicyclingLayer:eg,DirectionsRenderer:Wf,DirectionsService:kf,DirectionsStatus:{OK:Kc,UNKNOWN_ERROR:Nc,OVER_QUERY_LIMIT:Lc,REQUEST_DENIED:Mc,INVALID_REQUEST:Fc,ZERO_RESULTS:Oc,MAX_WAYPOINTS_EXCEEDED:Jc,NOT_FOUND:"NOT_FOUND"},DirectionsTravelMode:id,DirectionsUnitSystem:hd,DistanceMatrixService:Xf,DistanceMatrixStatus:{OK:Kc,INVALID_REQUEST:Fc,OVER_QUERY_LIMIT:Lc,REQUEST_DENIED:Mc,UNKNOWN_ERROR:Nc,MAX_ELEMENTS_EXCEEDED:Ic,MAX_DIMENSIONS_EXCEEDED:Hc},DistanceMatrixElementStatus:{OK:Kc,NOT_FOUND:"NOT_FOUND",
ZERO_RESULTS:Oc},ElevationService:Yf,ElevationStatus:{OK:Kc,UNKNOWN_ERROR:Nc,OVER_QUERY_LIMIT:Lc,REQUEST_DENIED:Mc,INVALID_REQUEST:Fc,fl:"DATA_NOT_AVAILABLE"},FusionTablesLayer:xh,Geocoder:ag,GeocoderLocationType:{ROOFTOP:"ROOFTOP",RANGE_INTERPOLATED:"RANGE_INTERPOLATED",GEOMETRIC_CENTER:"GEOMETRIC_CENTER",APPROXIMATE:"APPROXIMATE"},GeocoderStatus:{OK:Kc,UNKNOWN_ERROR:Nc,OVER_QUERY_LIMIT:Lc,REQUEST_DENIED:Mc,INVALID_REQUEST:Fc,ZERO_RESULTS:Oc,ERROR:Ec},KmlLayer:cg,KmlLayerStatus:dg,MaxZoomService:wh,
MaxZoomStatus:{OK:Kc,ERROR:Ec},StreetViewPanorama:lh,StreetViewService:Gh,StreetViewStatus:{OK:Kc,UNKNOWN_ERROR:Nc,ZERO_RESULTS:Oc},StyledMapType:Jh,TrafficLayer:fg,TravelMode:id,UnitSystem:hd});function Lh(a){this[Bb](a);S(ze,Hd)}L(Lh,V);Ea(Lh[C],function(a){if(!("map"!=a&&"token"!=a)){var b=this;S(ze,function(a){a.Mk(b)})}});Ff(Lh[C],{map:he(Rf)});function Mh(){this.b=new Cf}L(Mh,V);ua(Mh[C],function(){var a=this[ic]();this.b[yb](function(b){b[sc](a)})});Ff(Mh[C],{map:he(Rf)});function Nh(a){this.e=1729;this.b=a}function Oh(a,b,c){for(var d=ga(b[B]),e=0,f=b[B];e<f;++e)d[e]=b[mc](e);d.unshift(c);b=a.e;a=a.b;e=c=0;for(f=d[B];e<f;++e)c*=b,c+=d[e],c%=a;return c};function Ph(){var a=Gg(),b=new Nh(131071),c=unescape("%26%74%6F%6B%65%6E%3D");return function(d){var d=d[cb](Qh,"%27"),e=d+c;Rh||(Rh=/(?:https?:\/\/[^/]+)?(.*)/);d=Rh[Za](d);return e+Oh(b,d&&d[1],a)}}var Qh=la("'","g"),Rh;function Sh(){var a=new Nh(2147483647);return function(b){return Oh(a,b,0)}};cf.main=function(a){eval(a)};ff("main",{});function Th(){for(var a in ea[C])m[qc]&&m[qc].log("Warning: This site adds property <"+a+"> to Object.prototype. Extending Object.prototype breaks JavaScript for..in loops, which are used heavily in Google Maps API v3.")}
m.google.maps.Load(function(a,b){var c=m.google.maps;Th();"version"in c&&m[qc]&&m[qc].log("Warning: you have included the Google Maps API multiple times on this page. This may cause unexpected errors.");jf=new qg(a);o[kc]()<Ig()&&(ih=i);kh=new hh(b);jh(kh,"jl");Zf=Ph();$f=Sh();var d=Ng();gf(Eg(d));wd(Kh,function(a,b){c[a]=b});pa(c,Fg(d));m[Tb](function(){S("util",function(a){a.b.b()})},5E3);R[rc](m,"unload",R.wg);var e=Jg();e&&hf(function(){eval("window."+e+"()")})});var Uh=new ed;
})();

View File

@ -1,16 +0,0 @@
<!DOCTYPE HTML>
<html manifest="appcache.manifest">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Offline Map example in web browser</title>
<link type="text/css" rel="stylesheet" href="style.css" />
</head>
<body>
<div id="map"></div>
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
<script>window.google && window.google.maps || document.write('<script src="gmapapi.js"><\/script>')</script>
<script type="text/javascript" src="webStorage.js"></script>
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript" src="map.js"></script>
</body>
</html>

View File

@ -1,125 +0,0 @@
var element = document.getElementById("map");
var mapTypeIds = [];
for(var type in google.maps.MapTypeId) {
mapTypeIds.push(google.maps.MapTypeId[type]);
}
mapTypeIds.push("OSM");
mapTypeIds.push("MyGmap");
mapTypeIds.push("LocalGmap");
mapTypeIds.push("WebStorageGmap");
mapTypeIds.push("LocalMyGmap");
mapTypeIds.push("WebStorageMyGmap");
var map = new google.maps.Map(element, {
center: new google.maps.LatLng(-22.18416881313122, -47.382545097935264),
zoom: 17,
mapTypeId: "MyGmap",
mapTypeControlOptions: {
mapTypeIds: mapTypeIds,
style: google.maps.MapTypeControlStyle.DROPDOWN_MENU
}
});
map.mapTypes.set("OSM", new google.maps.ImageMapType({
getTileUrl: getOsmTileImgSrc,
tileSize: new google.maps.Size(256, 256),
name: "OSM",
maxZoom: 20
}));
map.mapTypes.set("MyGmap", new google.maps.ImageMapType({
getTileUrl: getGmapTileImgSrc,
tileSize: new google.maps.Size(256, 256),
name: "MyGmap",
maxZoom: 20
}));
map.mapTypes.set("LocalGmap", new google.maps.ImageMapType({
getTileUrl: getLocalTileImgSrc,
tileSize: new google.maps.Size(256, 256),
name: "LocalGmap",
maxZoom: 20
}));
map.mapTypes.set("WebStorageGmap", new google.maps.ImageMapType({
getTileUrl: getWebStorageTileImgSrc,
tileSize: new google.maps.Size(256, 256),
name: "WebStorageGmap",
maxZoom: 20
}));
map.mapTypes.set("LocalMyGmap", new google.maps.ImageMapType({
getTileUrl: function(coord, zoom) {
return checkTileInSprites(coord, zoom) ?
getLocalTileImgSrc(coord, zoom) :
getGmapTileImgSrc(coord, zoom);
},
tileSize: new google.maps.Size(256, 256),
name: "LocalMyGmap",
maxZoom: 20
}));
map.mapTypes.set("WebStorageMyGmap", new google.maps.ImageMapType({
getTileUrl: function(coord, zoom) {
var image = getWebStorageTileImgSrc(coord, zoom);
return image ? image : getGmapTileImgSrc(coord, zoom);
},
tileSize: new google.maps.Size(256, 256),
name: "WebStorageMyGmap",
maxZoom: 20
}));
google.maps.event.addListener(map, 'click', function(point) {
var marker = new google.maps.Marker({
position: point.latLng,
map: map
});
google.maps.event.addListener(marker, 'dblclick', function() {
marker.setMap(null);
});
google.maps.event.addListener(marker, 'click', function() {
new google.maps.InfoWindow({
content: 'lat: ' + point.latLng.lat() + '<br>lng:' + point.latLng.lng()
}).open(map, marker);
});
});
function CustomControl(controlDiv, map, title, handler) {
controlDiv.style.padding = '5px';
var controlUI = document.createElement('DIV');
controlUI.style.backgroundColor = 'white';
controlUI.style.borderStyle = 'solid';
controlUI.style.borderWidth = '2px';
controlUI.style.cursor = 'pointer';
controlUI.style.textAlign = 'center';
controlUI.title = title;
controlDiv.appendChild(controlUI);
var controlText = document.createElement('DIV');
controlText.style.fontFamily = 'Arial,sans-serif';
controlText.style.fontSize = '12px';
controlText.style.paddingLeft = '4px';
controlText.style.paddingRight = '4px';
controlText.innerHTML = title;
controlUI.appendChild(controlText);
google.maps.event.addDomListener(controlUI, 'click', handler);
}
var clearWebStorageDiv = document.createElement('DIV');
var clearWebStorageButton = new CustomControl(clearWebStorageDiv, map,
'Clear Web Storage', clearWebStorage);
var prepareWebStorageDiv = document.createElement('DIV');
var prepareWebStorageButton = new CustomControl(prepareWebStorageDiv, map,
'Prepare Web Storage', prepareWebStorage);
clearWebStorageDiv.index = 1;
prepareWebStorageDiv.index = 1;
map.controls[google.maps.ControlPosition.TOP_RIGHT].push(clearWebStorageDiv);
map.controls[google.maps.ControlPosition.TOP_RIGHT].push(prepareWebStorageDiv);

View File

@ -1,136 +0,0 @@
var spriteRanges = {
// tl = top_left
// br = bottom_right
// {zoom: {tl: {}, br: {}}
0: {
tl: {x: 0, y: 0},
br: {x: 0, y: 0}
},
1: {
tl: {x: 1, y: 0},
br: {x: 1, y: 0}
},
2: {
tl: {x: 2, y: 1},
br: {x: 2, y: 1}
},
3: {
tl: {x: 4, y: 2},
br: {x: 4, y: 2}
},
4: {
tl: {x: 9, y: 5},
br: {x: 9, y: 5}
},
5: {
tl: {x: 18, y: 10},
br: {x: 18, y: 10}
},
6: {
tl: {x: 36, y: 20},
br: {x: 36, y: 20}
},
7: {
tl: {x: 73, y: 41},
br: {x: 73, y: 41}
},
8: {
tl: {x: 147, y: 82},
br: {x: 147, y: 82}
},
9: {
tl: {x: 294, y: 164},
br: {x: 295, y: 164}
},
10: {
tl: {x: 589, y: 328},
br: {x: 591, y: 329}
},
11: {
tl: {x: 1179, y: 657},
br: {x: 1182, y: 659}
},
12: {
tl: {x: 2358, y: 1315},
br: {x: 2364, y: 1319}
},
13: {
tl: {x: 4717, y: 2630},
br: {x: 4728, y: 2639}
},
14: {
tl: {x: 9439, y: 5262},
br: {x: 9452, y: 5277}
},
15: {
tl: {x: 18878, y: 10525},
br: {x: 18905, y: 10554}
},
16: {
tl: {x: 37757, y: 21051},
br: {x: 37810, y: 21108}
}
};
var max_zoom = 13;
var webStorage = new WebStorageFactory().getWebStorage();
function imageToBase64(image) {
var canvas = document.createElement("canvas");
canvas.width = image.width;
canvas.height = image.height;
var context = canvas.getContext("2d");
context.drawImage(image, 0, 0);
return canvas.toDataURL("image/png");
}
function loadImageToWebStorage(zoom, x, y){
var url = "cache/" + zoom + "/" + x + "_" + y + ".png";
var image = new Image();
image.onload = function() {
webStorage.setItem([zoom, x, y].join('_'), imageToBase64(image));
};
image.src = url;
}
function clearWebStorage() {
webStorage.clear();
}
function prepareWebStorage() {
for (var zoom in spriteRanges) {
if (zoom > max_zoom) {
break;
}
var sprites = spriteRanges[zoom];
for (var x=sprites.tl.x; x<=sprites.br.x; x++) {
for (var y=sprites.tl.y; y<=sprites.br.y; y++) {
loadImageToWebStorage(zoom, x, y);
}
}
}
}
function checkTileInSprites(coord, zoom) {
var sprites = spriteRanges[zoom];
return sprites.tl.x <= coord.x && coord.x <= sprites.br.x && sprites.tl.y <= coord.y && coord.y <= sprites.br.y;
}
function getOsmTileImgSrc(coord, zoom) {
return "http://tile.openstreetmap.org/" + zoom + "/" + coord.x + "/" + coord.y + ".png";
}
function getGmapTileImgSrc(coord, zoom) {
return "http://mt0.googleapis.com/vt?src=apiv3&x=" + coord.x + "&y=" + coord.y + "&z=" + zoom;
}
function getLocalTileImgSrc(coord, zoom) {
return "cache/" + zoom + "/" + coord.x + "_" + coord.y + ".png";
}
function getWebStorageTileImgSrc(coord, zoom) {
return webStorage.getItem([zoom, coord.x, coord.y].join('_'));
}

View File

@ -1,8 +0,0 @@
html, body, #map {
height: 100%;
width: 100%;
}
.gmnoprint {
width: auto !important;
}

View File

@ -1,29 +0,0 @@
function LocalStorageWebStorageImpl() {
this.webStorageType = 'localStorage';
this.getItem = function(name) {
return localStorage.getItem(name);
};
this.setItem = function(name, value) {
localStorage.setItem(name, value);
};
this.clear = function() {
localStorage.clear();
};
}
function WebStorageFactory() {
var webStorage = null;
if (window.localStorage) {
webStorage = new LocalStorageWebStorageImpl();
} else {
alert("Your browser don't support localStorage");
}
this.getWebStorage = function() {
return webStorage;
}
}

View File

@ -0,0 +1 @@
[{"Momento":"2024-02-28T14:29:33.1054875-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-28T14:29:38.1051212-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-28T14:30:42.4623597-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-28T14:30:43.104892-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0}]

View File

@ -0,0 +1 @@
[{"Latitude":0.0,"Longitude":0.0,"DataHora":"0001-01-01T00:00:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":0.0,"Longitude":0.0,"DataHora":"0001-01-01T00:00:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":0.0,"Longitude":0.0,"DataHora":"0001-01-01T00:00:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":0.0,"Longitude":0.0,"DataHora":"0001-01-01T00:00:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0}]

View File

@ -0,0 +1 @@
[{"Momento":"2024-02-28T14:32:22.463268-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-28T14:32:27.4679342-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-28T14:32:32.46659-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-28T14:32:37.4652343-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-28T14:32:48.429108-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-28T14:32:52.4643212-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-28T14:33:05.5392498-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":34.65,"ProgressoPercurso":45.974384097055086,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-28T14:33:07.4668102-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":34.65,"ProgressoPercurso":45.974384097055086,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-28T14:33:12.4634501-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":34.65,"ProgressoPercurso":45.974384097055086,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-28T14:33:17.4661325-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":34.65,"ProgressoPercurso":45.974384097055086,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-28T14:33:22.465837-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":34.65,"ProgressoPercurso":45.974384097055086,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-28T14:33:27.4654996-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":34.65,"ProgressoPercurso":45.974384097055086,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-28T14:33:32.4642071-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":34.65,"ProgressoPercurso":45.974384097055086,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-28T14:33:37.4638954-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":34.65,"ProgressoPercurso":45.974384097055086,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-28T14:33:42.4656231-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":34.65,"ProgressoPercurso":45.974384097055086,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0}]

View File

@ -0,0 +1 @@
[{"Latitude":0.0,"Longitude":0.0,"DataHora":"0001-01-01T00:00:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":0.0,"Longitude":0.0,"DataHora":"0001-01-01T00:00:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":0.0,"Longitude":0.0,"DataHora":"0001-01-01T00:00:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":0.0,"Longitude":0.0,"DataHora":"0001-01-01T00:00:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":0.0,"Longitude":0.0,"DataHora":"0001-01-01T00:00:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":0.0,"Longitude":0.0,"DataHora":"0001-01-01T00:00:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":0.0,"Longitude":0.0,"DataHora":"0001-01-01T00:00:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":0.0,"Longitude":0.0,"DataHora":"0001-01-01T00:00:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":0.0,"Longitude":0.0,"DataHora":"0001-01-01T00:00:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":0.0,"Longitude":0.0,"DataHora":"0001-01-01T00:00:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":0.0,"Longitude":0.0,"DataHora":"0001-01-01T00:00:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":0.0,"Longitude":0.0,"DataHora":"0001-01-01T00:00:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":0.0,"Longitude":0.0,"DataHora":"0001-01-01T00:00:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":0.0,"Longitude":0.0,"DataHora":"0001-01-01T00:00:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":0.0,"Longitude":0.0,"DataHora":"0001-01-01T00:00:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0}]

View File

@ -0,0 +1 @@
[{"Momento":"2024-02-28T15:58:57.5794886-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-28T15:59:02.5762032-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-28T15:59:07.5749233-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-28T15:59:12.5765671-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-28T15:59:17.5731698-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0}]

View File

@ -0,0 +1 @@
[{"Latitude":0.0,"Longitude":0.0,"DataHora":"0001-01-01T00:00:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":0.0,"Longitude":0.0,"DataHora":"0001-01-01T00:00:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":0.0,"Longitude":0.0,"DataHora":"0001-01-01T00:00:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":0.0,"Longitude":0.0,"DataHora":"0001-01-01T00:00:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":0.0,"Longitude":0.0,"DataHora":"0001-01-01T00:00:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0}]

View File

@ -0,0 +1 @@
[{"Momento":"2024-02-28T16:01:24.4320919-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-28T16:01:29.4368268-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-28T16:01:34.4335419-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0}]

View File

@ -0,0 +1 @@
[{"Latitude":0.0,"Longitude":0.0,"DataHora":"0001-01-01T00:00:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":0.0,"Longitude":0.0,"DataHora":"0001-01-01T00:00:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":0.0,"Longitude":0.0,"DataHora":"0001-01-01T00:00:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0}]

View File

@ -0,0 +1 @@
[{"Momento":"2024-02-28T16:11:48.0626871-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-28T16:11:53.0613601-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-28T16:13:11.6745883-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-28T16:13:13.058616-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0}]

View File

@ -0,0 +1 @@
[{"Latitude":0.0,"Longitude":0.0,"DataHora":"0001-01-01T00:00:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":0.0,"Longitude":0.0,"DataHora":"0001-01-01T00:00:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.339504535994333,"Longitude":-47.264017338109767,"DataHora":"0001-01-01T00:00:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.339504535994333,"Longitude":-47.264017338109767,"DataHora":"0001-01-01T00:00:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0}]

View File

@ -0,0 +1 @@
[{"Momento":"2024-02-28T16:13:33.9440186-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-28T16:13:38.9326025-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-28T16:15:21.4845074-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-28T16:15:23.9340662-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0}]

View File

@ -0,0 +1 @@
[{"Latitude":-22.339504535994333,"Longitude":-47.264017338109767,"DataHora":"0001-01-01T00:00:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.339504535994333,"Longitude":-47.264017338109767,"DataHora":"0001-01-01T00:00:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-47.264017338109767,"Longitude":-22.339504535994333,"DataHora":"0001-01-01T00:00:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-47.264017338109767,"Longitude":-22.339504535994333,"DataHora":"0001-01-01T00:00:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0}]

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
[{"Latitude":-22.339566770425247,"Longitude":-47.263998524140789,"DataHora":"2024-02-29T10:09:49.9614056-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.339649665078522,"Longitude":-47.263954035496013,"DataHora":"2024-02-29T10:09:54.9500492-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.339894307810262,"Longitude":-47.263796003316408,"DataHora":"2024-02-29T10:09:59.9507-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.339807555509239,"Longitude":-47.263839685892364,"DataHora":"2024-02-29T10:10:04.9502911-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.339722010019948,"Longitude":-47.263883652976233,"DataHora":"2024-02-29T10:10:09.9498905-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.339637674066154,"Longitude":-47.263927930048176,"DataHora":"2024-02-29T10:10:14.952456-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.339554562798128,"Longitude":-47.263972534975593,"DataHora":"2024-02-29T10:10:19.9511411-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.339509367586803,"Longitude":-47.26396453205404,"DataHora":"2024-02-29T10:10:24.9478062-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.339592205194357,"Longitude":-47.263919671887578,"DataHora":"2024-02-29T10:10:29.9774235-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.339676264291288,"Longitude":-47.263875153858265,"DataHora":"2024-02-29T10:10:34.9501104-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.339761530138087,"Longitude":-47.263830960105587,"DataHora":"2024-02-29T10:10:39.9499392-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.3398479866821,"Longitude":-47.263787072053447,"DataHora":"2024-02-29T10:10:44.9494038-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.339935979811564,"Longitude":-47.263743286223381,"DataHora":"2024-02-29T10:10:49.9480942-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.340026575557442,"Longitude":-47.263699005353779,"DataHora":"2024-02-29T10:10:54.9505182-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.340083271873212,"Longitude":-47.263671635699531,"DataHora":"2024-02-29T10:11:37.536884-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.340139726325802,"Longitude":-47.263644602943415,"DataHora":"2024-02-29T10:11:39.9482051-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.340235884006976,"Longitude":-47.263598968486143,"DataHora":"2024-02-29T10:11:44.9501605-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.340334611841897,"Longitude":-47.2635525147274,"DataHora":"2024-02-29T10:11:49.9505389-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.340441118065197,"Longitude":-47.263502682925044,"DataHora":"2024-02-29T10:11:54.9507365-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.34035466201901,"Longitude":-47.263543116590341,"DataHora":"2024-02-29T10:11:59.9614263-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.340255425946847,"Longitude":-47.263589746208858,"DataHora":"2024-02-29T10:12:04.9500714-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.3401587511683,"Longitude":-47.263635536427543,"DataHora":"2024-02-29T10:12:09.9486544-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0}]

View File

@ -0,0 +1 @@
[{"Momento":"2024-02-29T10:16:20.6667492-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T10:16:25.6664764-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T10:16:30.6670772-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T10:16:35.6757302-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T10:16:40.6674636-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T10:16:45.6694032-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0}]

View File

@ -0,0 +1 @@
[{"Latitude":0.0,"Longitude":0.0,"DataHora":"0001-01-01T00:00:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.339514335994334,"Longitude":-47.264027138109768,"DataHora":"2024-02-29T10:16:25.5924753-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.339599779349204,"Longitude":-47.263980689109175,"DataHora":"2024-02-29T10:16:30.5990779-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.339962474804096,"Longitude":-47.263762241442222,"DataHora":"2024-02-29T10:16:35.5917291-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.339859456597676,"Longitude":-47.26381344672,"DataHora":"2024-02-29T10:16:40.5884597-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.339773193193491,"Longitude":-47.263857236701476,"DataHora":"2024-02-29T10:16:45.5964107-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0}]

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
[{"Latitude":-22.339514335994334,"Longitude":-47.264027138109768,"DataHora":"2024-02-29T12:27:24.3866041-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.339514335994334,"Longitude":-47.264027138109768,"DataHora":"2024-02-29T12:27:29.3992607-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.339599779349204,"Longitude":-47.263980689109175,"DataHora":"2024-02-29T12:27:34.3899137-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.339962474804096,"Longitude":-47.263762241442222,"DataHora":"2024-02-29T12:27:39.3866063-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.339859456597676,"Longitude":-47.26381344672,"DataHora":"2024-02-29T12:27:44.3883276-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.339773193193491,"Longitude":-47.263857236701476,"DataHora":"2024-02-29T12:27:49.3880198-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.339688129615364,"Longitude":-47.263901325590027,"DataHora":"2024-02-29T12:27:54.3896537-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.339604281793878,"Longitude":-47.263945731699437,"DataHora":"2024-02-29T12:27:59.3892769-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.339521664331478,"Longitude":-47.263990472619753,"DataHora":"2024-02-29T12:28:04.3858766-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.339542355166419,"Longitude":-47.263946545814633,"DataHora":"2024-02-29T12:28:09.4264626-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.339625683049217,"Longitude":-47.263901824604524,"DataHora":"2024-02-29T12:28:14.3880904-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.339710226691285,"Longitude":-47.263857438467042,"DataHora":"2024-02-29T12:28:19.3867105-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.339795970811547,"Longitude":-47.263813369267375,"DataHora":"2024-02-29T12:28:24.3883582-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.339882912414161,"Longitude":-47.263769591344527,"DataHora":"2024-02-29T12:28:29.3859772-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.339971896561369,"Longitude":-47.26372564286757,"DataHora":"2024-02-29T12:28:34.40281-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.340063560923877,"Longitude":-47.26368112467555,"DataHora":"2024-02-29T12:28:39.3884926-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.340158750139935,"Longitude":-47.263635536917647,"DataHora":"2024-02-29T12:28:44.3851702-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.340255425399185,"Longitude":-47.263589746467311,"DataHora":"2024-02-29T12:28:49.3867869-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0},{"Latitude":-22.340354661795896,"Longitude":-47.263543116694954,"DataHora":"2024-02-29T12:28:54.3864484-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":0.0}]

View File

@ -0,0 +1 @@
[{"Momento":"2024-02-29T13:10:53.1078295-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T13:10:58.1075347-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T13:11:03.1071563-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0}]

View File

@ -0,0 +1 @@
[{"Latitude":-22.339514335994334,"Longitude":-47.264027138109768,"DataHora":"2024-02-29T13:10:52.9528362-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649504010806481},{"Latitude":-22.339514335994334,"Longitude":-47.264027138109768,"DataHora":"2024-02-29T13:10:57.9495275-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649504010806481},{"Latitude":-22.339599779349204,"Longitude":-47.263980689109175,"DataHora":"2024-02-29T13:11:02.9521636-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649504010806481}]

View File

@ -0,0 +1 @@
[{"Momento":"2024-02-29T13:12:23.0589685-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T13:12:28.043681-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T13:12:33.0443703-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0}]

View File

@ -0,0 +1 @@
[{"Latitude":-22.339689742622607,"Longitude":-47.26393281077209,"DataHora":"2024-02-29T13:12:22.9509832-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649405539626116},{"Latitude":-22.339689742622607,"Longitude":-47.26393281077209,"DataHora":"2024-02-29T13:12:27.9496751-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649405539626116},{"Latitude":-22.339689742622607,"Longitude":-47.26393281077209,"DataHora":"2024-02-29T13:12:32.9513703-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649405539626116}]

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
[{"Latitude":-22.339514335994334,"Longitude":-47.264027138109768,"DataHora":"2024-02-29T13:15:16.9512276-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649002640049844},{"Latitude":-22.339514335994334,"Longitude":-47.264027138109768,"DataHora":"2024-02-29T13:15:21.9498707-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649002640049844},{"Latitude":-22.339583249992106,"Longitude":-47.26398959993972,"DataHora":"2024-02-29T13:15:26.9635602-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649002640049844},{"Latitude":-22.339689742622607,"Longitude":-47.26393281077209,"DataHora":"2024-02-29T13:15:31.9492233-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649002640049844},{"Latitude":-22.339689742622607,"Longitude":-47.26393281077209,"DataHora":"2024-02-29T13:15:36.9478631-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649002640049844},{"Latitude":-22.339689742622607,"Longitude":-47.26393281077209,"DataHora":"2024-02-29T13:15:41.9485304-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649002640049844},{"Latitude":-22.339689742622607,"Longitude":-47.26393281077209,"DataHora":"2024-02-29T13:15:46.9512407-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649002640049844},{"Latitude":-22.339689742622607,"Longitude":-47.26393281077209,"DataHora":"2024-02-29T13:15:51.9518407-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649002640049844},{"Latitude":-22.339689742622607,"Longitude":-47.26393281077209,"DataHora":"2024-02-29T13:15:56.949518-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649002640049844},{"Latitude":-22.339689742622607,"Longitude":-47.26393281077209,"DataHora":"2024-02-29T13:16:01.9501582-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649002640049844},{"Latitude":-22.339807555509239,"Longitude":-47.263839685892364,"DataHora":"2024-02-29T13:17:47.4929927-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649002640049844},{"Latitude":-22.339807555509239,"Longitude":-47.263839685892364,"DataHora":"2024-02-29T13:17:47.4929927-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649002640049844},{"Latitude":-22.339722010019948,"Longitude":-47.263883652976233,"DataHora":"2024-02-29T13:17:51.9511924-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649002640049844},{"Latitude":-22.339637674066154,"Longitude":-47.263927930048176,"DataHora":"2024-02-29T13:17:56.9508629-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649002640049844},{"Latitude":-22.339554562798128,"Longitude":-47.263972534975593,"DataHora":"2024-02-29T13:18:01.9525373-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649002640049844},{"Latitude":-22.339509367586803,"Longitude":-47.26396453205404,"DataHora":"2024-02-29T13:18:06.9501332-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649002640049844},{"Latitude":-22.339592205194357,"Longitude":-47.263919671887578,"DataHora":"2024-02-29T13:18:11.949802-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649002640049844},{"Latitude":-22.339676264291288,"Longitude":-47.263875153858265,"DataHora":"2024-02-29T13:18:16.9755209-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649002640049844},{"Latitude":-22.339761530138087,"Longitude":-47.263830960105587,"DataHora":"2024-02-29T13:18:21.9522489-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649002640049844},{"Latitude":-22.3398479866821,"Longitude":-47.263787072053447,"DataHora":"2024-02-29T13:18:26.9478964-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649002640049844},{"Latitude":-22.339935979811564,"Longitude":-47.263743286223381,"DataHora":"2024-02-29T13:18:31.9485469-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649002640049844},{"Latitude":-22.340026575557442,"Longitude":-47.263699005353779,"DataHora":"2024-02-29T13:18:36.9492966-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649002640049844}]

View File

@ -0,0 +1 @@
[{"Momento":"2024-02-29T13:22:56.2947667-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T13:23:01.3024595-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T13:23:06.2931764-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T13:23:11.294834-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T13:23:16.292462-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T13:23:21.2941475-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T13:23:26.2937976-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T13:23:31.2935414-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T13:23:36.2941679-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T13:23:41.3277912-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T13:23:46.2919908-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T13:23:51.2916839-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T13:23:56.294371-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0}]

View File

@ -0,0 +1 @@
[{"Latitude":-22.339514335994334,"Longitude":-47.264027138109768,"DataHora":"2024-02-29T13:22:56.2767754-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649405539626116},{"Latitude":-22.339514335994334,"Longitude":-47.264027138109768,"DataHora":"2024-02-29T13:23:01.301462-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649405539626116},{"Latitude":-22.339599779349204,"Longitude":-47.263980689109175,"DataHora":"2024-02-29T13:23:06.2791762-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649405539626116},{"Latitude":-22.339689742622607,"Longitude":-47.26393281077209,"DataHora":"2024-02-29T13:23:11.2768292-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649405539626116},{"Latitude":-22.339689742622607,"Longitude":-47.26393281077209,"DataHora":"2024-02-29T13:23:16.2764643-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649405539626116},{"Latitude":-22.339689742622607,"Longitude":-47.26393281077209,"DataHora":"2024-02-29T13:23:21.280148-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649405539626116},{"Latitude":-22.339689742622607,"Longitude":-47.26393281077209,"DataHora":"2024-02-29T13:23:26.2787972-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649405539626116},{"Latitude":-22.339689742622607,"Longitude":-47.26393281077209,"DataHora":"2024-02-29T13:23:31.2775346-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649405539626116},{"Latitude":-22.339689742622607,"Longitude":-47.26393281077209,"DataHora":"2024-02-29T13:23:36.2791592-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649405539626116},{"Latitude":-22.339689742622607,"Longitude":-47.26393281077209,"DataHora":"2024-02-29T13:23:41.2762577-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649405539626116},{"Latitude":-22.339689742622607,"Longitude":-47.26393281077209,"DataHora":"2024-02-29T13:23:46.277989-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649405539626116},{"Latitude":-22.339689742622607,"Longitude":-47.26393281077209,"DataHora":"2024-02-29T13:23:51.2776852-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649405539626116},{"Latitude":-22.339689742622607,"Longitude":-47.26393281077209,"DataHora":"2024-02-29T13:23:56.2783714-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649405539626116}]

View File

@ -0,0 +1 @@
[{"Momento":"2024-02-29T13:36:15.1533886-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T13:36:20.1510689-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T13:36:48.6040214-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T13:36:57.3336637-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T13:37:18.8429032-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T13:37:20.1519341-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T13:37:25.1536449-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T13:39:20.3874791-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T13:39:25.1891472-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T13:39:30.1528188-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T13:39:35.1554862-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T13:39:40.15113-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T13:39:45.1508545-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T13:39:50.1734762-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0}]

View File

@ -0,0 +1 @@
[{"Latitude":-22.339442335994335,"Longitude":-47.264067138109773,"DataHora":"2024-02-29T13:36:14.8393937-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649306441870181},{"Latitude":-22.339442335994335,"Longitude":-47.264067138109773,"DataHora":"2024-02-29T13:36:19.841069-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649306441870181},{"Latitude":-22.339442335994335,"Longitude":-47.264067138109773,"DataHora":"2024-02-29T13:36:48.6030234-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649306441870181},{"Latitude":-22.339478335994333,"Longitude":-47.264047138109767,"DataHora":"2024-02-29T13:36:50.8975667-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649306441870181},{"Latitude":-22.339514335994334,"Longitude":-47.264027138109768,"DataHora":"2024-02-29T13:37:18.809903-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649306441870181},{"Latitude":-22.339566770425247,"Longitude":-47.263998524140789,"DataHora":"2024-02-29T13:37:19.839421-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649306441870181},{"Latitude":-22.339649665078522,"Longitude":-47.263954035496013,"DataHora":"2024-02-29T13:37:24.8391094-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649306441870181},{"Latitude":-22.339725742622608,"Longitude":-47.263923810772091,"DataHora":"2024-02-29T13:39:20.3864793-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649306441870181},{"Latitude":-22.339797742622608,"Longitude":-47.263905810772087,"DataHora":"2024-02-29T13:39:24.8421438-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649306441870181},{"Latitude":-22.339797742622608,"Longitude":-47.263905810772087,"DataHora":"2024-02-29T13:39:29.8418131-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649306441870181},{"Latitude":-22.339797742622608,"Longitude":-47.263905810772087,"DataHora":"2024-02-29T13:39:34.838487-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649306441870181},{"Latitude":-22.339797742622608,"Longitude":-47.263905810772087,"DataHora":"2024-02-29T13:39:39.8401266-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649306441870181},{"Latitude":-22.339797742622608,"Longitude":-47.263905810772087,"DataHora":"2024-02-29T13:39:44.8418505-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649306441870181},{"Latitude":-22.339797742622608,"Longitude":-47.263905810772087,"DataHora":"2024-02-29T13:39:49.839966-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649306441870181}]

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
[{"Momento":"2024-02-29T13:56:08.2781251-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T13:56:13.2797319-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T13:58:57.0737524-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T13:58:58.2772665-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T13:59:22.9393559-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T13:59:23.2773573-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T13:59:28.2769322-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T13:59:33.2765575-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T13:59:38.3011862-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T13:59:43.2758437-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T13:59:48.2771084-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0}]

View File

@ -0,0 +1 @@
[{"Latitude":-22.339442335994335,"Longitude":-47.264067138109773,"DataHora":"2024-02-29T13:56:07.4636093-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649508050756367},{"Latitude":-22.339442335994335,"Longitude":-47.264067138109773,"DataHora":"2024-02-29T13:56:12.4651941-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649508050756367},{"Latitude":-22.339442335994335,"Longitude":-47.264067138109773,"DataHora":"2024-02-29T13:58:57.0397515-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649508050756367},{"Latitude":-22.339478335994333,"Longitude":-47.264047138109767,"DataHora":"2024-02-29T13:58:57.4767535-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649508050756367},{"Latitude":-22.339842108737368,"Longitude":-47.263822181709159,"DataHora":"2024-02-29T13:59:22.9383551-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649508050756367},{"Latitude":-22.339842108737368,"Longitude":-47.263822181709159,"DataHora":"2024-02-29T13:59:22.9383551-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649508050756367},{"Latitude":-22.339756083963927,"Longitude":-47.263866029969414,"DataHora":"2024-02-29T13:59:27.4674165-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649508050756367},{"Latitude":-22.339671262303472,"Longitude":-47.263910180861451,"DataHora":"2024-02-29T13:59:32.4640406-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649508050756367},{"Latitude":-22.339587659430144,"Longitude":-47.263954652547426,"DataHora":"2024-02-29T13:59:37.4916739-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649508050756367},{"Latitude":-22.339495466408138,"Longitude":-47.264004855555214,"DataHora":"2024-02-29T13:59:42.4653088-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649508050756367},{"Latitude":-22.339558922793813,"Longitude":-47.263937573919549,"DataHora":"2024-02-29T13:59:47.464566-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.649508050756367}]

View File

@ -0,0 +1 @@
[{"Momento":"2024-02-29T14:00:26.85642-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T14:00:31.858075-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T14:00:36.8557451-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T14:00:41.8564842-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T14:00:46.8551812-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0}]

View File

@ -0,0 +1 @@
[{"Latitude":-22.33961635838882,"Longitude":-47.263971791515509,"DataHora":"2024-02-29T14:00:26.4924224-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.6489224613257},{"Latitude":-22.33961635838882,"Longitude":-47.263971791515509,"DataHora":"2024-02-29T14:00:31.4650811-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.6489224613257},{"Latitude":-22.339671262303472,"Longitude":-47.263910180861451,"DataHora":"2024-02-29T14:00:36.4657455-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.6489224613257},{"Latitude":-22.339495466408138,"Longitude":-47.264004855555214,"DataHora":"2024-02-29T14:00:41.4634956-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.6489224613257},{"Latitude":-22.340101992618237,"Longitude":-47.263662648858109,"DataHora":"2024-02-29T14:00:46.4661818-03:00","Altitude":0.0,"Velocidade":0.0,"NumeroSatelites":0,"PrecisaoHorizontal":0.0,"Orientacao":70.6489224613257}]

View File

@ -0,0 +1 @@
[{"Momento":"2024-02-29T14:01:30.6099168-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T14:01:35.604505-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T14:01:40.6212497-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T14:01:45.6069699-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T14:01:50.6055963-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T14:01:55.6072482-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0},{"Momento":"2024-02-29T14:02:00.603938-03:00","ErvasNoRadar":0,"VelocidadeMedia":0.0,"HerbicidaConsumido":0.0,"HerbicidaPorErva":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"ErvasIdentificadas":0,"AtuacoesPorBico":[0,0,0,0],"DistanciaPercorrida":0.0,"ProgressoPercurso":0.0,"DistanciaEsquerda":0.0,"DistanciaDireita":0.0}]

Some files were not shown because too many files have changed in this diff Show More