Commit 0e2fc34d940e38cd87e582efaad51c65f808edf3

Authored by Edmar Moretti
1 parent 70d590ba

Correções nas ferramentas de geração de grades

classesphp/classe_analise.php
... ... @@ -1579,7 +1579,7 @@ $nptx - Número de pontos em X (opcional)
1579 1579  
1580 1580 $npty - Número de pontos em Y (opcional)
1581 1581 */
1582   - function gradeDePontos($xdd,$ydd,$px,$py,$locaplic,$nptx,$npty)
  1582 + function gradeDePontos($xdd,$ydd,$px,$py,$locaplic,$nptx,$npty,$proj=false)
1583 1583 {
1584 1584 set_time_limit(180);
1585 1585 //para manipular dbf
... ... @@ -1589,7 +1589,25 @@ $npty - Número de pontos em Y (opcional)
1589 1589 $nomegrade = nomeRandomico();
1590 1590 $nomeshp = $this->diretorio."/".$nomegrade;
1591 1591 $this->mapa->preparequery();
1592   - $ext = $this->mapa->extent;
  1592 + $r = $this->mapa->extent;
  1593 + $ext = ms_newRectObj();
  1594 + $ext->setextent($r->minx,$r->miny,$r->maxx,$r->maxy);
  1595 + if($proj == true){
  1596 + //caso precise projetar
  1597 + $projInObj = ms_newprojectionobj("proj=latlong,a=6378137,b=6378137");
  1598 + $projOutObj = ms_newprojectionobj("proj=merc,a=6378137,b=6378137,lat_ts=0.0,lon_0=0.0,x_0=0.0,y_0=0,k=1.0,units=m");
  1599 +
  1600 + $ext->project($projInObj, $projOutObj);
  1601 +
  1602 + $pt = ms_newpointobj();
  1603 + $pt->setXY($px,$py);
  1604 +
  1605 + $pt->project($projInObj, $projOutObj);
  1606 +
  1607 + $px = $pt->x;
  1608 + $py = $pt->y;
  1609 + }
  1610 +
1593 1611 $fx = $ext->maxx;
1594 1612 $fy = $ext->miny;
1595 1613 //calcula a distância entre os pontos em dd
... ... @@ -1617,57 +1635,30 @@ $npty - Número de pontos em Y (opcional)
1617 1635 else
1618 1636 $db=dbase_open($dbname,2);
1619 1637 $reg = array();
1620   - $w = $this->mapa->width;
1621   - $h = $this->mapa->height;
1622   - if ($h > $w)
  1638 + $valorcoluna = $px;
  1639 + for ($coluna = 0; $coluna < $nptx; $coluna++)
1623 1640 {
  1641 + $x = $valorcoluna;
1624 1642 $valorlinha = $py;
1625 1643 for ($linha = 0; $linha < $npty; $linha++)
1626 1644 {
1627 1645 $y = $valorlinha;
1628   - $valorcoluna = $px;
1629   - for ($coluna = 0; $coluna < $nptx; $coluna++)
1630   - {
1631   - $x = $valorcoluna;
1632   - $valorcoluna = $valorcoluna + $xdd;
1633   - $poPoint = ms_newpointobj();
1634   - $poPoint->setXY($x,$y);
1635   - $novoshpf->addpoint($poPoint);
1636   - $reg[] = $x;
1637   - $reg[] = $y;
1638   - if($this->dbaseExiste == false)
1639   - xbase_add_record($db,$reg);
1640   - else
1641   - dbase_add_record($db,$reg);
1642   - $reg = array();
1643   - }
1644 1646 $valorlinha = $valorlinha - $ydd;
1645   - }
1646   - }
1647   - else
1648   - {
1649   - $valorcoluna = $px;
1650   - for ($coluna = 0; $coluna < $nptx; $coluna++)
1651   - {
1652   - $x = $valorcoluna;
1653   - $valorlinha = $py;
1654   - for ($linha = 0; $linha < $npty; $linha++)
1655   - {
1656   - $y = $valorlinha;
1657   - $valorlinha = $valorlinha - $ydd;
1658   - $poPoint = ms_newpointobj();
1659   - $poPoint->setXY($x,$y);
1660   - $novoshpf->addpoint($poPoint);
1661   - $reg[] = $x;
1662   - $reg[] = $y;
1663   - if($this->dbaseExiste == false)
1664   - xbase_add_record($db,$reg);
1665   - else
1666   - dbase_add_record($db,$reg);
1667   - $reg = array();
  1647 + $poPoint = ms_newpointobj();
  1648 + $poPoint->setXY($x,$y);
  1649 + if($proj == true){
  1650 + $poPoint->project($projOutObj,$projInObj);
1668 1651 }
1669   - $valorcoluna = $valorcoluna + $xdd;
  1652 + $novoshpf->addpoint($poPoint);
  1653 + $reg[] = $x;
  1654 + $reg[] = $y;
  1655 + if($this->dbaseExiste == false)
  1656 + xbase_add_record($db,$reg);
  1657 + else
  1658 + dbase_add_record($db,$reg);
  1659 + $reg = array();
1670 1660 }
  1661 + $valorcoluna = $valorcoluna + $xdd;
1671 1662 }
1672 1663 if($this->dbaseExiste == false)
1673 1664 xbase_close($db);
... ... @@ -1705,7 +1696,7 @@ $nptx - N&amp;uacute;mero de pontos em X (opcional)
1705 1696  
1706 1697 $npty - N&uacute;mero de pontos em Y (opcional)
1707 1698 */
1708   - function gradeDePol($xdd,$ydd,$px,$py,$locaplic,$nptx,$npty)
  1699 + function gradeDePol($xdd,$ydd,$px,$py,$locaplic,$nptx,$npty,$proj=false)
1709 1700 {
1710 1701 set_time_limit(180);
1711 1702 //para manipular dbf
... ... @@ -1716,7 +1707,24 @@ $npty - N&amp;uacute;mero de pontos em Y (opcional)
1716 1707 $nomeshp = $this->diretorio."/".$nomegrade;
1717 1708 //pega a extens&atilde;o geogr&aacute;fica do mapa
1718 1709 $this->mapa->preparequery();
1719   - $ext = $this->mapa->extent;
  1710 + $r = $this->mapa->extent;
  1711 + $ext = ms_newRectObj();
  1712 + $ext->setextent($r->minx,$r->miny,$r->maxx,$r->maxy);
  1713 + if($proj == true){
  1714 + //caso precise projetar
  1715 + $projInObj = ms_newprojectionobj("proj=latlong,a=6378137,b=6378137");
  1716 + $projOutObj = ms_newprojectionobj("proj=merc,a=6378137,b=6378137,lat_ts=0.0,lon_0=0.0,x_0=0.0,y_0=0,k=1.0,units=m");
  1717 +
  1718 + $ext->project($projInObj, $projOutObj);
  1719 +
  1720 + $pt = ms_newpointobj();
  1721 + $pt->setXY($px,$py);
  1722 +
  1723 + $pt->project($projInObj, $projOutObj);
  1724 +
  1725 + $px = $pt->x;
  1726 + $py = $pt->y;
  1727 + }
1720 1728 $fx = $ext->maxx;
1721 1729 $fy = $ext->miny;
1722 1730 //calcula a dist&acirc;ncia entre os pontos em dd
... ... @@ -1743,83 +1751,46 @@ $npty - N&amp;uacute;mero de pontos em Y (opcional)
1743 1751 else
1744 1752 $db=dbase_open($dbname,2);
1745 1753 $reg = array();
1746   - $w = $this->mapa->width;
1747   - $h = $this->mapa->height;
1748   - if ($h > $w)
1749   - {
  1754 + $valorcoluna = $px;
  1755 + for ($coluna = 0; $coluna < $nptx; $coluna++){
  1756 + $x = $valorcoluna;
1750 1757 $valorlinha = $py;
1751   - for ($linha = 0; $linha < $npty; $linha++)
1752   - {
  1758 + for ($linha = 0; $linha < $npty; $linha++){
1753 1759 $y = $valorlinha;
1754   - $valorcoluna = $px;
1755   - for ($coluna = 0; $coluna < $nptx; $coluna++)
1756   - {
1757   - $x = $valorcoluna;
1758   - $valorcoluna = $valorcoluna + $xdd;
1759   - $poPoint1 = ms_newpointobj();
1760   - $poPoint2 = ms_newpointobj();
1761   - $poPoint3 = ms_newpointobj();
1762   - $poPoint4 = ms_newpointobj();
1763   - $poPoint1->setXY($x,$y);
1764   - $poPoint2->setXY(($x + $xdd),$y);
1765   - $poPoint3->setXY(($x + $xdd),($y - $ydd));
1766   - $poPoint4->setXY($x,($y - $ydd));
1767   - $linhas = ms_newLineObj();
1768   - $linhas->add($poPoint1);
1769   - $linhas->add($poPoint2);
1770   - $linhas->add($poPoint3);
1771   - $linhas->add($poPoint4);
1772   - $linhas->add($poPoint1);
1773   - $shapen = ms_newShapeObj(MS_SHP_POLYGON);
1774   - $shapen->add($linhas);
1775   - $novoshpf->addShape($shapen);
1776   - $reg[] = $linha."-".$coluna;
1777   - if($this->dbaseExiste == false)
1778   - xbase_add_record($db,$reg);
1779   - else
1780   - dbase_add_record($db,$reg);
1781   - $reg = array();
1782   - }
1783 1760 $valorlinha = $valorlinha - $ydd;
1784   - }
1785   - }
1786   - else
1787   - {
1788   - $valorcoluna = $px;
1789   - for ($coluna = 0; $coluna < $nptx; $coluna++)
1790   - {
1791   - $x = $valorcoluna;
1792   - $valorlinha = $py;
1793   - for ($linha = 0; $linha < $npty; $linha++)
1794   - {
1795   - $y = $valorlinha;
1796   - $valorlinha = $valorlinha - $ydd;
1797   - $poPoint1 = ms_newpointobj();
1798   - $poPoint2 = ms_newpointobj();
1799   - $poPoint3 = ms_newpointobj();
1800   - $poPoint4 = ms_newpointobj();
1801   - $poPoint1->setXY($x,$y);
1802   - $poPoint2->setXY(($x + $xdd),$y);
1803   - $poPoint3->setXY(($x + $xdd),($y - $ydd));
1804   - $poPoint4->setXY($x,($y - $ydd));
1805   - $linhas = ms_newLineObj();
1806   - $linhas->add($poPoint1);
1807   - $linhas->add($poPoint2);
1808   - $linhas->add($poPoint3);
1809   - $linhas->add($poPoint4);
1810   - $linhas->add($poPoint1);
1811   - $shapen = ms_newShapeObj(MS_SHP_POLYGON);
1812   - $shapen->add($linhas);
1813   - $novoshpf->addShape($shapen);
1814   - $reg[] = $linha."-".$coluna;
1815   - if($this->dbaseExiste == false)
1816   - xbase_add_record($db,$reg);
1817   - else
1818   - dbase_add_record($db,$reg);
1819   - $reg = array();
  1761 + $poPoint1 = ms_newpointobj();
  1762 + $poPoint2 = ms_newpointobj();
  1763 + $poPoint3 = ms_newpointobj();
  1764 + $poPoint4 = ms_newpointobj();
  1765 + $poPoint1->setXY($x,$y);
  1766 + $poPoint2->setXY(($x + $xdd),$y);
  1767 + $poPoint3->setXY(($x + $xdd),($y - $ydd));
  1768 + $poPoint4->setXY($x,($y - $ydd));
  1769 +
  1770 + if($proj == true){
  1771 + $poPoint1->project($projOutObj,$projInObj);
  1772 + $poPoint2->project($projOutObj,$projInObj);
  1773 + $poPoint3->project($projOutObj,$projInObj);
  1774 + $poPoint4->project($projOutObj,$projInObj);
1820 1775 }
1821   - $valorcoluna = $valorcoluna + $xdd;
  1776 +
  1777 + $linhas = ms_newLineObj();
  1778 + $linhas->add($poPoint1);
  1779 + $linhas->add($poPoint2);
  1780 + $linhas->add($poPoint3);
  1781 + $linhas->add($poPoint4);
  1782 + $linhas->add($poPoint1);
  1783 + $shapen = ms_newShapeObj(MS_SHP_POLYGON);
  1784 + $shapen->add($linhas);
  1785 + $novoshpf->addShape($shapen);
  1786 + $reg[] = $linha."-".$coluna;
  1787 + if($this->dbaseExiste == false)
  1788 + xbase_add_record($db,$reg);
  1789 + else
  1790 + dbase_add_record($db,$reg);
  1791 + $reg = array();
1822 1792 }
  1793 + $valorcoluna = $valorcoluna + $xdd;
1823 1794 }
1824 1795 if($this->dbaseExiste == false)
1825 1796 xbase_close($db);
... ... @@ -1835,169 +1806,176 @@ $npty - N&amp;uacute;mero de pontos em Y (opcional)
1835 1806 {unlink ($this->qyfile);}
1836 1807 return("ok");
1837 1808 }
1838   -/*
1839   -function: gradeDeHex
1840   -
1841   -Gera uma grade de pol&iacute;gonos hexagonais definido em d&eacute;cimos de grau.
1842   -
1843   -Salva o mapa acrescentando um novo layer com a grade.
1844   -
1845   -parameters:
1846   -$xdd - Espa&ccedil;amento em x.
1847   -
1848   -$ydd - Espa&ccedil;amento em y.
1849   -
1850   -$px - X do primeiro ponto (superior esquerdo)
  1809 + /*
  1810 + function: gradeDeHex
  1811 +
  1812 + Gera uma grade de pol&iacute;gonos hexagonais regulares definido em d&eacute;cimos de grau.
  1813 +
  1814 + Salva o mapa acrescentando um novo layer com a grade.
  1815 +
  1816 + parameters:
  1817 +
  1818 + $dd - Comprimento dos lados (em metros se $proj=true)
  1819 +
  1820 + $px - X do primeiro ponto (superior esquerdo)
  1821 +
  1822 + $py - Y do primeiro ponto.
  1823 +
  1824 + $locaplic - Endere&ccedil;o da aplica&ccedil;&atilde;o.
  1825 +
  1826 + $nptx - N&uacute;mero de pontos em X (opcional)
  1827 +
  1828 + $npty - N&uacute;mero de pontos em Y (opcional)
  1829 +
  1830 + $proj - A grade deve ser gerada em unidades metricas e projetada para geografica
  1831 + */
  1832 + function gradeDeHex($dd,$px,$py,$locaplic,$nptx,$npty,$proj=false){
  1833 + set_time_limit(180);
  1834 + //http://gmc.yoyogames.com/index.php?showtopic=336183
  1835 + $hh = (sin(deg2rad(30)) * $dd);
  1836 + $rr = (cos(deg2rad(30)) * $dd);
  1837 + //para manipular dbf
  1838 + if($this->dbaseExiste == false){
  1839 + include_once dirname(__FILE__)."/../pacotes/phpxbase/api_conversion.php";
  1840 + }
  1841 + $nomegrade = nomeRandomico();
  1842 + $nomeshp = $this->diretorio."/".$nomegrade;
  1843 + //pega a extens&atilde;o geogr&aacute;fica do mapa
  1844 + $this->mapa->preparequery();
  1845 + $r = $this->mapa->extent;
  1846 + $ext = ms_newRectObj();
  1847 + $ext->setextent($r->minx,$r->miny,$r->maxx,$r->maxy);
  1848 + if($proj == true){
  1849 + //caso precise projetar
  1850 + $projInObj = ms_newprojectionobj("proj=latlong,a=6378137,b=6378137");
  1851 + $projOutObj = ms_newprojectionobj("proj=merc,a=6378137,b=6378137,lat_ts=0.0,lon_0=0.0,x_0=0.0,y_0=0,k=1.0,units=m");
1851 1852  
1852   -$py - Y do primeiro ponto.
  1853 + $ext->project($projInObj, $projOutObj);
1853 1854  
1854   -$locaplic - Endere&ccedil;o da aplica&ccedil;&atilde;o.
  1855 + $pt = ms_newpointobj();
  1856 + $pt->setXY($px,$py);
1855 1857  
1856   -$nptx - N&uacute;mero de pontos em X (opcional)
  1858 + $pt->project($projInObj, $projOutObj);
1857 1859  
1858   -$npty - N&uacute;mero de pontos em Y (opcional)
1859   -*/
1860   - function gradeDeHex($xdd,$ydd,$px,$py,$locaplic,$nptx,$npty)
1861   - {
1862   - set_time_limit(180);
1863   - //para manipular dbf
1864   - if($this->dbaseExiste == false){
1865   - include_once dirname(__FILE__)."/../pacotes/phpxbase/api_conversion.php";
  1860 + $px = $pt->x;
  1861 + $py = $pt->y;
1866 1862 }
1867   - $nomegrade = nomeRandomico();
1868   - $nomeshp = $this->diretorio."/".$nomegrade;
1869   - //pega a extens&atilde;o geogr&aacute;fica do mapa
1870   - $this->mapa->preparequery();
1871   - $ext = $this->mapa->extent;
1872   - $fx = $ext->maxx;
  1863 +
  1864 + $fx = $ext->maxx;
1873 1865 $fy = $ext->miny;
1874   - //calcula a dist&acirc;ncia entre os pontos em dd
1875   - $distx = $fx - $px;
1876   - $disty = $fy - $py;
1877   - if ($distx < 0){$distx = $distx * -1;}
1878   - if ($disty < 0){$disty = $disty * -1;}
1879   - if ($nptx == "")
1880   - {$nptx = round(($distx / $xdd),0);}
1881   - if ($npty == "")
1882   - {$npty = round(($disty / $ydd),0);}
1883   - // cria o shapefile
1884   - $novoshpf = ms_newShapefileObj($nomeshp, MS_SHP_POLYGON);
1885   - $def = array();
1886   - $def[] = array("id","C","20");
1887   - if($this->dbaseExiste == false)
1888   - {$db = xbase_create($nomeshp.".dbf", $def);xbase_close($db);}
1889   - else
1890   - {$db = dbase_create($nomeshp.".dbf", $def);dbase_close($db);}
1891   - //acrescenta os pontos no novo shapefile
1892   - $dbname = $nomeshp.".dbf";
1893   - if($this->dbaseExiste == false)
1894   - $db=xbase_open($dbname,2);
1895   - else
1896   - $db=dbase_open($dbname,2);
1897   - $reg = array();
1898   - $w = $this->mapa->width;
1899   - $h = $this->mapa->height;
1900   - if ($h > $w)
1901   - {
1902   - $valorlinha = $py;
1903   - for ($linha = 0; $linha < $npty; $linha++)
1904   - {
1905   - $y = $valorlinha;
1906   - $valorcoluna = $px;
1907   - for ($coluna = 0; $coluna < $nptx; $coluna++)
1908   - {
1909   - $x = $valorcoluna;
1910   - $valorcoluna = $valorcoluna + $xdd;
1911   - $poPoint1 = ms_newpointobj();
1912   - $poPoint2 = ms_newpointobj();
1913   - $poPoint3 = ms_newpointobj();
1914   - $poPoint4 = ms_newpointobj();
1915   - $poPoint1->setXY($x,$y);
1916   - $poPoint2->setXY(($x + $xdd),$y);
1917   - $poPoint3->setXY(($x + $xdd),($y - $ydd));
1918   - $poPoint4->setXY($x,($y - $ydd));
1919   - $linhas = ms_newLineObj();
1920   - $linhas->add($poPoint1);
1921   - $linhas->add($poPoint2);
1922   - $linhas->add($poPoint3);
1923   - $linhas->add($poPoint4);
1924   - $linhas->add($poPoint1);
1925   - $shapen = ms_newShapeObj(MS_SHP_POLYGON);
1926   - $shapen->add($linhas);
1927   - $novoshpf->addShape($shapen);
1928   - $reg[] = $linha."-".$coluna;
1929   - if($this->dbaseExiste == false)
1930   - xbase_add_record($db,$reg);
1931   - else
1932   - dbase_add_record($db,$reg);
1933   - $reg = array();
1934   - }
1935   - $valorlinha = $valorlinha - $ydd;
  1866 +
  1867 + //calcula a dist&acirc;ncia entre os pontos em dd se nao tiver sido especificada ou for 0
  1868 + $distx = $fx - $px;
  1869 + $disty = $fy - $py;
  1870 + if ($distx < 0){$distx = $distx * -1;}
  1871 + if ($disty < 0){$disty = $disty * -1;}
  1872 + if ($nptx == "")
  1873 + {$nptx = round(($distx / $dd),0);}
  1874 + if ($npty == "")
  1875 + {$npty = round(($disty / $dd),0);}
  1876 + // cria o shapefile
  1877 + $novoshpf = ms_newShapefileObj($nomeshp, MS_SHP_POLYGON);
  1878 + $def = array();
  1879 + $def[] = array("id","C","20");
  1880 + if($this->dbaseExiste == false)
  1881 + {$db = xbase_create($nomeshp.".dbf", $def);xbase_close($db);}
  1882 + else
  1883 + {$db = dbase_create($nomeshp.".dbf", $def);dbase_close($db);}
  1884 + //acrescenta os pontos no novo shapefile
  1885 + $dbname = $nomeshp.".dbf";
  1886 + if($this->dbaseExiste == false)
  1887 + $db=xbase_open($dbname,2);
  1888 + else
  1889 + $db=dbase_open($dbname,2);
  1890 + $reg = array();
  1891 + $w = $this->mapa->width;
  1892 + $h = $this->mapa->height;
  1893 +
  1894 + $valorcoluna = $px;
  1895 + $par = false;
  1896 + for ($coluna = 0; $coluna < $nptx; $coluna++){
  1897 + $x = $valorcoluna;
  1898 + $valorlinha = $py;
  1899 +
  1900 + if ($par == true){
  1901 + $valorlinha = $valorlinha - $rr;
  1902 + $par = false;
  1903 + }
  1904 + else{
  1905 + //$y = $y + $hh;
  1906 + $par = true;
1936 1907 }
1937   - }
1938   - else
1939   - {
1940   - $valorcoluna = $px;
1941   - for ($coluna = 0; $coluna < $nptx; $coluna++)
1942   - {
1943   - $x = $valorcoluna;
1944   - $valorlinha = $py;
1945   - $par = true;
1946   - for ($linha = 0; $linha < $npty; $linha++)
1947   - {
1948   - $y = $valorlinha;
1949   - $valorlinha = $valorlinha - $ydd - ($ydd/2);
1950   - $poPoint1 = ms_newpointobj();
1951   - $poPoint2 = ms_newpointobj();
1952   - $poPoint3 = ms_newpointobj();
1953   - $poPoint4 = ms_newpointobj();
1954   - $poPoint5 = ms_newpointobj();
1955   - $poPoint6 = ms_newpointobj();
1956   - $poPoint1->setXY($x,$y);
1957   - $poPoint2->setXY(($x + ($xdd/2)),$y+($ydd/2));
1958   - $poPoint3->setXY($x + $xdd,$y);
1959   - $poPoint4->setXY($x + $xdd,$y - $ydd);
1960   - $poPoint5->setXY(($x + ($xdd/2)),$y - $ydd - ($ydd/2));
1961   - $poPoint6->setXY($x,$y - $ydd);
1962   - $linhas = ms_newLineObj();
1963   - $linhas->add($poPoint1);
1964   - $linhas->add($poPoint2);
1965   - $linhas->add($poPoint3);
1966   - $linhas->add($poPoint4);
1967   - $linhas->add($poPoint5);
1968   - $linhas->add($poPoint6);
1969   - $linhas->add($poPoint1);
1970   - $shapen = ms_newShapeObj(MS_SHP_POLYGON);
1971   - $shapen->add($linhas);
1972   - $novoshpf->addShape($shapen);
1973   - $reg[] = $linha."-".$coluna;
1974   - if($this->dbaseExiste == false)
1975   - xbase_add_record($db,$reg);
1976   - else
1977   - dbase_add_record($db,$reg);
1978   - $reg = array();
1979   - if ($par)
1980   - {$x=$x+($xdd/2);$par=false;}
1981   - else
1982   - {$x=$x-($xdd/2);$par=true;}
  1908 +
  1909 + for ($linha = 0; $linha < $npty; $linha++){
  1910 + $y = $valorlinha;
  1911 + $valorlinha = $valorlinha - (2 * $rr);
  1912 +
  1913 + $poPoint1 = ms_newpointobj();
  1914 + $poPoint2 = ms_newpointobj();
  1915 + $poPoint3 = ms_newpointobj();
  1916 + $poPoint4 = ms_newpointobj();
  1917 + $poPoint5 = ms_newpointobj();
  1918 + $poPoint6 = ms_newpointobj();
  1919 +
  1920 + //Point 0: $x, $y
  1921 + //Point 1: x + s, y
  1922 + //Point 2: x + s + h, y + r
  1923 + //Point 3: x + s, y + r + r
  1924 + //Point 4: x, y + r + r
  1925 + //Point 5: x - h, y + r
  1926 + $poPoint1->setXY($x,$y);
  1927 + $poPoint2->setXY(($x + $dd),$y);
  1928 + $poPoint3->setXY($x + $dd + $hh,$y - $rr);
  1929 + $poPoint4->setXY($x + $dd, $y - $rr - $rr);
  1930 + $poPoint5->setXY($x,$y - $rr - $rr);
  1931 + $poPoint6->setXY($x - $hh,$y - $rr);
  1932 +
  1933 + if($proj == true){
  1934 + $poPoint1->project($projOutObj,$projInObj);
  1935 + $poPoint2->project($projOutObj,$projInObj);
  1936 + $poPoint3->project($projOutObj,$projInObj);
  1937 + $poPoint4->project($projOutObj,$projInObj);
  1938 + $poPoint5->project($projOutObj,$projInObj);
  1939 + $poPoint6->project($projOutObj,$projInObj);
1983 1940 }
1984   - $valorcoluna = $valorcoluna + $xdd;
1985   - }
1986   - }
1987   - if($this->dbaseExiste == false)
1988   - xbase_close($db);
1989   - else
1990   - dbase_close($db);
  1941 +
  1942 +
  1943 + $linhas = ms_newLineObj();
  1944 + $linhas->add($poPoint1);
  1945 + $linhas->add($poPoint2);
  1946 + $linhas->add($poPoint3);
  1947 + $linhas->add($poPoint4);
  1948 + $linhas->add($poPoint5);
  1949 + $linhas->add($poPoint6);
  1950 + $linhas->add($poPoint1);
  1951 + $shapen = ms_newShapeObj(MS_SHP_POLYGON);
  1952 + $shapen->add($linhas);
  1953 + $novoshpf->addShape($shapen);
  1954 + $reg[] = $linha."-".$coluna;
  1955 + if($this->dbaseExiste == false)
  1956 + xbase_add_record($db,$reg);
  1957 + else
  1958 + dbase_add_record($db,$reg);
  1959 + $reg = array();
  1960 + }
  1961 + $valorcoluna = $valorcoluna + $dd + $hh;
  1962 + }
  1963 + if($this->dbaseExiste == false)
  1964 + xbase_close($db);
  1965 + else
  1966 + dbase_close($db);
1991 1967 //adiciona o novo tema no mapa
1992   - $novolayer = criaLayer($this->mapa,MS_LAYER_POLYGON,MS_DEFAULT,("Grade (".$nomegrade.")"),$metaClasse="SIM");
1993   - $novolayer->set("data",$nomeshp.".shp");
1994   - $novolayer->setmetadata("DOWNLOAD","SIM");
1995   - $novolayer->setmetadata("TEMALOCAL","SIM");
1996   - $novolayer->set("opacity","50");
1997   - if (file_exists($this->qyfile))
1998   - {unlink ($this->qyfile);}
  1968 +
  1969 + $novolayer = criaLayer($this->mapa,MS_LAYER_POLYGON,MS_DEFAULT,("Grade (".$nomegrade.")"),$metaClasse="SIM");
  1970 + $novolayer->set("data",$nomeshp.".shp");
  1971 + $novolayer->setmetadata("DOWNLOAD","SIM");
  1972 + $novolayer->setmetadata("TEMALOCAL","SIM");
  1973 + $novolayer->set("opacity","50");
  1974 + if (file_exists($this->qyfile))
  1975 + {unlink ($this->qyfile);}
1999 1976 return("ok");
2000   - }
  1977 +
  1978 + }
2001 1979 /*
2002 1980 function: nptPol
2003 1981  
... ...
ferramentas/gradehex/dicionario.js
... ... @@ -19,7 +19,7 @@ i3GEOF.gradeDeHex.dicionario = {
19 19 it:""
20 20 }],
21 21 4: [{
22   - pt:"Espa&ccedil;amento da grade",
  22 + pt:"Tamanho dos lados",
23 23 en:"",
24 24 es:"",
25 25 it:""
... ... @@ -77,5 +77,17 @@ i3GEOF.gradeDeHex.dicionario = {
77 77 en:"",
78 78 es:"",
79 79 it:""
  80 + }],
  81 + 14: [{
  82 + pt:"Utiliza a proje&ccedil;&atilde;o Mercator na geração da grade",
  83 + en:"",
  84 + es:"",
  85 + it:""
  86 + }],
  87 + 15: [{
  88 + pt:"Metros",
  89 + en:"",
  90 + es:"",
  91 + it:""
80 92 }]
81 93 };
82 94 \ No newline at end of file
... ...
ferramentas/gradehex/exec.php
... ... @@ -20,7 +20,14 @@ Salva o mapa acrescentando um novo layer com a grade.
20 20 copiaSeguranca($map_file);
21 21 $m = new Analise($map_file,$tema);
22 22 if(!isset($tema)){$tema = "";}
23   - $retorno = $m->gradeDeHex($xdd,$ydd,$px,$py,$locaplic,$nptx,$npty);
  23 +
  24 + if($proj == "sim"){
  25 + $proj = true;
  26 + }
  27 + else{
  28 + $proj = false;
  29 + }
  30 + $retorno = $m->gradeDeHex($dd,$px,$py,$locaplic,$nptx,$npty,$proj);
24 31 $m->salva();
25 32 $_SESSION["contadorsalva"]++;
26 33 break;
... ...
ferramentas/gradehex/index.js
... ... @@ -127,7 +127,7 @@ i3GEOF.gradeDeHex = {
127 127 };
128 128 janela = i3GEO.janela.cria(
129 129 "400px",
130   - "150px",
  130 + "190px",
131 131 "",
132 132 "",
133 133 "",
... ... @@ -156,18 +156,26 @@ i3GEOF.gradeDeHex = {
156 156 var ins = "<p class='paragrafo' >"+$trad(1,i3GEOF.gradeDeHex.dicionario);
157 157 ins += "<p class='paragrafo'>"+$trad(2,i3GEOF.gradeDeHex.dicionario);
158 158 ins += "<p class='paragrafo'>"+$trad(3,i3GEOF.gradeDeHex.dicionario);
  159 + ins += "<p class='paragrafo'><input type=checkbox id=i3GEOgradedehexProj style='cursor:pointer;position:relative;top:2px;' />&nbsp;"+$trad(14,i3GEOF.gradeDeHex.dicionario);
159 160 i3GEO.util.proximoAnterior("","i3GEOF.gradeDeHex.t1()",ins,"i3GEOF.gradeDeHex.t0()","i3GEOgradedehexresultado",true,"i3GEOF.gradeDeHex_rodape");
160 161 },
161 162 t1: function(){
162 163 var ins = "<p class='paragrafo'>"+$trad(4,i3GEOF.gradeDeHex.dicionario);
163   - ins += "<p class='paragrafo'>X: ";
164   - ins += $trad(5,i3GEOF.gradeDeHex.dicionario)+"<input onclick='javascript:this.select();' class=digitar id='i3GEOgradedehexxg' title='grau' type=text size=3 value='1'/>";
165   - ins += $trad(6,i3GEOF.gradeDeHex.dicionario)+"<input onclick='javascript:this.select();' class=digitar id='i3GEOgradedehexxm' title='minuto' type=text size=5 value='00'/>";
166   - ins += $trad(7,i3GEOF.gradeDeHex.dicionario)+"<input onclick='javascript:this.select();' class=digitar id='i3GEOgradedehexxs' title='segundo' type=text size=5 value='00.00'/>";
  164 + ins += "<p class='paragrafo'> ";
  165 + if($i("i3GEOgradedehexProj").checked){
  166 + ins += $trad(15,i3GEOF.gradeDeHex.dicionario)+"<input onclick='javascript:this.select();' class=digitar id='i3GEOgradedehexxg' title='metros' type=text size=6 value='100000'/>";
  167 + }
  168 + else{
  169 + ins += $trad(5,i3GEOF.gradeDeHex.dicionario)+"<input onclick='javascript:this.select();' class=digitar id='i3GEOgradedehexxg' title='grau' type=text size=3 value='1'/>";
  170 + ins += $trad(6,i3GEOF.gradeDeHex.dicionario)+"<input onclick='javascript:this.select();' class=digitar id='i3GEOgradedehexxm' title='minuto' type=text size=5 value='00'/>";
  171 + ins += $trad(7,i3GEOF.gradeDeHex.dicionario)+"<input onclick='javascript:this.select();' class=digitar id='i3GEOgradedehexxs' title='segundo' type=text size=5 value='00.00'/>";
  172 + }
  173 + /*
167 174 ins += "<p class='paragrafo'>Y: ";
168 175 ins += $trad(5,i3GEOF.gradeDeHex.dicionario)+"<input onclick='javascript:this.select();' class=digitar id='i3GEOgradedehexyg' title='grau' type=text size=3 value='1'/>";
169 176 ins += $trad(6,i3GEOF.gradeDeHex.dicionario)+"<input onclick='javascript:this.select();' class=digitar id='i3GEOgradedehexym' title='minuto' type=text size=5 value='00'/>";
170 177 ins += $trad(7,i3GEOF.gradeDeHex.dicionario)+"<input onclick='javascript:this.select();' class=digitar id='i3GEOgradedehexys' title='segundo' type=text size=5 value='00.00'/>";
  178 + */
171 179 i3GEO.util.proximoAnterior("i3GEOF.gradeDeHex.t0()","i3GEOF.gradeDeHex.t2()",ins,"i3GEOF.gradeDeHex.t1()","i3GEOgradedehexresultado",true,"i3GEOF.gradeDeHex_rodape");
172 180 },
173 181 t2: function(){
... ... @@ -217,14 +225,19 @@ i3GEOF.gradeDeHex = {
217 225 if(i3GEOF.gradeDeHex.aguarde.visibility === "visible")
218 226 {return;}
219 227 i3GEOF.gradeDeHex.aguarde.visibility = "visible";
220   - var dx,dy,ix,iy,nptx,npty,fim,p,cp;
221   - dx = i3GEO.calculo.dms2dd($i("i3GEOgradedehexxg").value,$i("i3GEOgradedehexxm").value,$i("i3GEOgradedehexxs").value);
222   - dy = i3GEO.calculo.dms2dd($i("i3GEOgradedehexyg").value,$i("i3GEOgradedehexym").value,$i("i3GEOgradedehexys").value);
  228 + var dx,ix,iy,nptx,npty,fim,p,cp,proj = "nao";
  229 + if(!$i("i3GEOgradedehexProj").checked){
  230 + dx = i3GEO.calculo.dms2dd($i("i3GEOgradedehexxg").value,$i("i3GEOgradedehexxm").value,$i("i3GEOgradedehexxs").value);
  231 + }
  232 + else{
  233 + proj = "sim";
  234 + dx = $i("i3GEOgradedehexxg").value;
  235 + }
223 236 ix = i3GEO.calculo.dms2dd($i("i3GEOgradedehexixg").value,$i("i3GEOgradedehexixm").value,$i("i3GEOgradedehexixs").value);
224 237 iy = i3GEO.calculo.dms2dd($i("i3GEOgradedehexiyg").value,$i("i3GEOgradedehexiym").value,$i("i3GEOgradedehexiys").value);
225 238 nptx = $i("i3GEOgradedehexnptx").value;
226 239 npty = $i("i3GEOgradedehexnpty").value;
227   - if ((dx == 0) || (dy == 0))
  240 + if ((dx == 0))
228 241 {i3GEO.janela.tempoMsg($trad(12,i3GEOF.gradeDeHex.dicionario));return;}
229 242 if ((nptx == 0) || (npty == 0))
230 243 {i3GEO.janela.tempoMsg($trad(13,i3GEOF.gradeDeHex.dicionario));return;}
... ... @@ -238,7 +251,8 @@ i3GEOF.gradeDeHex = {
238 251 else
239 252 {i3GEO.atualiza();}
240 253 };
241   - p = i3GEO.configura.locaplic+"/ferramentas/gradehex/exec.php?g_sid="+i3GEO.configura.sid+"&funcao=gradedehex&xdd="+dx+"&ydd="+dy+"&px="+ix+"&py="+iy+"&nptx="+nptx+"&npty="+npty;
  254 +
  255 + p = i3GEO.configura.locaplic+"/ferramentas/gradehex/exec.php?g_sid="+i3GEO.configura.sid+"&proj="+proj+"&funcao=gradedehex&dd="+dx+"&px="+ix+"&py="+iy+"&nptx="+nptx+"&npty="+npty;
242 256 cp = new cpaint();
243 257 cp.set_response_type("JSON");
244 258 cp.call(p,"gradeDeHex",fim);
... ...
ferramentas/gradepol/dicionario.js
... ... @@ -77,5 +77,17 @@ i3GEOF.gradeDePoligonos.dicionario = {
77 77 en:"",
78 78 es:"",
79 79 it:""
  80 + }],
  81 + 14: [{
  82 + pt:"Utiliza a proje&ccedil;&atilde;o Mercator na geração da grade",
  83 + en:"",
  84 + es:"",
  85 + it:""
  86 + }],
  87 + 15: [{
  88 + pt:"Metros",
  89 + en:"",
  90 + es:"",
  91 + it:""
80 92 }]
81 93 };
82 94 \ No newline at end of file
... ...
ferramentas/gradepol/exec.php
... ... @@ -20,7 +20,13 @@ Salva o mapa acrescentando um novo layer com a grade.
20 20 copiaSeguranca($map_file);
21 21 if(!isset($tema)){$tema = "";}
22 22 $m = new Analise($map_file,$tema);
23   - $retorno = $m->gradeDePol($xdd,$ydd,$px,$py,$locaplic,$nptx,$npty);
  23 + if($proj == "sim"){
  24 + $proj = true;
  25 + }
  26 + else{
  27 + $proj = false;
  28 + }
  29 + $retorno = $m->gradeDePol($xdd,$ydd,$px,$py,$locaplic,$nptx,$npty,$proj);
24 30 $m->salva();
25 31 $_SESSION["contadorsalva"]++;
26 32 break;
... ...
ferramentas/gradepol/index.js
... ... @@ -127,7 +127,7 @@ i3GEOF.gradeDePoligonos = {
127 127 };
128 128 janela = i3GEO.janela.cria(
129 129 "400px",
130   - "150px",
  130 + "190px",
131 131 "",
132 132 "",
133 133 "",
... ... @@ -155,18 +155,25 @@ i3GEOF.gradeDePoligonos = {
155 155 var ins = "<p class='paragrafo' >"+$trad(1,i3GEOF.gradeDePoligonos.dicionario);
156 156 ins += "<p class='paragrafo'>"+$trad(2,i3GEOF.gradeDePoligonos.dicionario);
157 157 ins += "<p class='paragrafo'>"+$trad(3,i3GEOF.gradeDePoligonos.dicionario);
  158 + ins += "<p class='paragrafo'><input type=checkbox id=i3GEOgradedepoligonosProj style='cursor:pointer;position:relative;top:2px;' />&nbsp;"+$trad(14,i3GEOF.gradeDeHex.dicionario);
158 159 i3GEO.util.proximoAnterior("","i3GEOF.gradeDePoligonos.t1()",ins,"i3GEOF.gradeDePoligonos.t0","i3GEOgradedepoligonosresultado",true,"i3GEOF.gradeDePoligonos_rodape");
159 160 },
160 161 t1: function(){
161 162 var ins = "<p class='paragrafo'>"+$trad(4,i3GEOF.gradeDePoligonos.dicionario);
162   - ins += "<p class='paragrafo'>X: ";
163   - ins += $trad(5,i3GEOF.gradeDePoligonos.dicionario)+"<input onclick='javascript:this.select();' class=digitar id='i3GEOgradedepoligonosxg' title='grau' type=text size=3 value='1'/>";
164   - ins += $trad(6,i3GEOF.gradeDePoligonos.dicionario)+"<input onclick='javascript:this.select();' class=digitar id='i3GEOgradedepoligonosxm' title='minuto' type=text size=5 value='00'/>";
165   - ins += $trad(7,i3GEOF.gradeDePoligonos.dicionario)+"<input onclick='javascript:this.select();' class=digitar id='i3GEOgradedepoligonosxs' title='segundo' type=text size=5 value='00.00'/>";
166   - ins += "<p class='paragrafo'>Y: ";
167   - ins += $trad(5,i3GEOF.gradeDePoligonos.dicionario)+"<input onclick='javascript:this.select();' class=digitar id='i3GEOgradedepoligonosyg' title='grau' type=text size=3 value='1'/>";
168   - ins += $trad(6,i3GEOF.gradeDePoligonos.dicionario)+"<input onclick='javascript:this.select();' class=digitar id='i3GEOgradedepoligonosym' title='minuto' type=text size=5 value='00'/>";
169   - ins += $trad(7,i3GEOF.gradeDePoligonos.dicionario)+"<input onclick='javascript:this.select();' class=digitar id='i3GEOgradedepoligonosys' title='segundo' type=text size=5 value='00.00'/>";
  163 + if($i("i3GEOgradedepoligonosProj").checked){
  164 + ins += "<p class='paragrafo'>"+$trad(15,i3GEOF.gradeDePoligonos.dicionario)+" X:<input onclick='javascript:this.select();' class=digitar id='i3GEOgradedepoligonosxg' title='metros' type=text size=6 value='100000'/>";
  165 + ins += "<p class='paragrafo'>"+$trad(15,i3GEOF.gradeDePoligonos.dicionario)+" Y:<input onclick='javascript:this.select();' class=digitar id='i3GEOgradedepoligonosyg' title='metros' type=text size=6 value='100000'/>";
  166 + }
  167 + else{
  168 + ins += "<p class='paragrafo'>X: ";
  169 + ins += $trad(5,i3GEOF.gradeDePoligonos.dicionario)+"<input onclick='javascript:this.select();' class=digitar id='i3GEOgradedepoligonosxg' title='grau' type=text size=3 value='1'/>";
  170 + ins += $trad(6,i3GEOF.gradeDePoligonos.dicionario)+"<input onclick='javascript:this.select();' class=digitar id='i3GEOgradedepoligonosxm' title='minuto' type=text size=5 value='00'/>";
  171 + ins += $trad(7,i3GEOF.gradeDePoligonos.dicionario)+"<input onclick='javascript:this.select();' class=digitar id='i3GEOgradedepoligonosxs' title='segundo' type=text size=5 value='00.00'/>";
  172 + ins += "<p class='paragrafo'>Y: ";
  173 + ins += $trad(5,i3GEOF.gradeDePoligonos.dicionario)+"<input onclick='javascript:this.select();' class=digitar id='i3GEOgradedepoligonosyg' title='grau' type=text size=3 value='1'/>";
  174 + ins += $trad(6,i3GEOF.gradeDePoligonos.dicionario)+"<input onclick='javascript:this.select();' class=digitar id='i3GEOgradedepoligonosym' title='minuto' type=text size=5 value='00'/>";
  175 + ins += $trad(7,i3GEOF.gradeDePoligonos.dicionario)+"<input onclick='javascript:this.select();' class=digitar id='i3GEOgradedepoligonosys' title='segundo' type=text size=5 value='00.00'/>";
  176 + }
170 177 i3GEO.util.proximoAnterior("i3GEOF.gradeDePoligonos.t0()","i3GEOF.gradeDePoligonos.t2()",ins,"i3GEOF.gradeDePoligonos.t1","i3GEOgradedepoligonosresultado",true,"i3GEOF.gradeDePoligonos_rodape");
171 178 },
172 179 t2: function(){
... ... @@ -220,9 +227,16 @@ i3GEOF.gradeDePoligonos = {
220 227 if(i3GEOF.gradeDePoligonos.aguarde.visibility === "visible")
221 228 {return;}
222 229 i3GEOF.gradeDePoligonos.aguarde.visibility = "visible";
223   - var dx,dy,ix,iy,nptx,npty,fim,p,cp;
224   - dx = i3GEO.calculo.dms2dd($i("i3GEOgradedepoligonosxg").value,$i("i3GEOgradedepoligonosxm").value,$i("i3GEOgradedepoligonosxs").value);
225   - dy = i3GEO.calculo.dms2dd($i("i3GEOgradedepoligonosyg").value,$i("i3GEOgradedepoligonosym").value,$i("i3GEOgradedepoligonosys").value);
  230 + var dx,dy,ix,iy,nptx,npty,fim,p,cp,proj="nao";
  231 + if(!$i("i3GEOgradedepoligonosProj").checked){
  232 + dx = i3GEO.calculo.dms2dd($i("i3GEOgradedepoligonosxg").value,$i("i3GEOgradedepoligonosxm").value,$i("i3GEOgradedepoligonosxs").value);
  233 + dy = i3GEO.calculo.dms2dd($i("i3GEOgradedepoligonosyg").value,$i("i3GEOgradedepoligonosym").value,$i("i3GEOgradedepoligonosys").value);
  234 + }
  235 + else{
  236 + proj = "sim";
  237 + dx = $i("i3GEOgradedepoligonosxg").value;
  238 + dy = $i("i3GEOgradedepoligonosyg").value;
  239 + }
226 240 ix = i3GEO.calculo.dms2dd($i("i3GEOgradedepoligonosixg").value,$i("i3GEOgradedepoligonosixm").value,$i("i3GEOgradedepoligonosixs").value);
227 241 iy = i3GEO.calculo.dms2dd($i("i3GEOgradedepoligonosiyg").value,$i("i3GEOgradedepoligonosiym").value,$i("i3GEOgradedepoligonosiys").value);
228 242 nptx = $i("i3GEOgradedepoligonosnptx").value;
... ... @@ -240,7 +254,7 @@ i3GEOF.gradeDePoligonos = {
240 254 else
241 255 {i3GEO.atualiza("");}
242 256 };
243   - p = i3GEO.configura.locaplic+"/ferramentas/gradepol/exec.php?g_sid="+i3GEO.configura.sid+"&funcao=gradedepol&xdd="+dx+"&ydd="+dy+"&px="+ix+"&py="+iy+"&nptx="+nptx+"&npty="+npty;
  257 + p = i3GEO.configura.locaplic+"/ferramentas/gradepol/exec.php?g_sid="+i3GEO.configura.sid+"&proj="+proj+"&funcao=gradedepol&xdd="+dx+"&ydd="+dy+"&px="+ix+"&py="+iy+"&nptx="+nptx+"&npty="+npty;
244 258 cp = new cpaint();
245 259 cp.set_response_type("JSON");
246 260 cp.call(p,"gradeDePoligonos",fim);
... ...
ferramentas/gradepontos/dicionario.js
... ... @@ -79,13 +79,13 @@ i3GEOF.gradeDePontos.dicionario = {
79 79 it:""
80 80 }],
81 81 14: [{
82   - pt:"",
  82 + pt:"Utiliza a proje&ccedil;&atilde;o Mercator na geração da grade",
83 83 en:"",
84 84 es:"",
85 85 it:""
86 86 }],
87 87 15: [{
88   - pt:"",
  88 + pt:"Metros",
89 89 en:"",
90 90 es:"",
91 91 it:""
... ...
ferramentas/gradepontos/exec.php
... ... @@ -20,7 +20,13 @@ Salva o mapa acrescentando um novo layer com a grade de coordenadas.
20 20 copiaSeguranca($map_file);
21 21 if(!isset($tema)){$tema = "";}
22 22 $m = new Analise($map_file,$tema);
23   - $retorno = $m->gradeDePontos($xdd,$ydd,$px,$py,$locaplic,$nptx,$npty);
  23 + if($proj == "sim"){
  24 + $proj = true;
  25 + }
  26 + else{
  27 + $proj = false;
  28 + }
  29 + $retorno = $m->gradeDePontos($xdd,$ydd,$px,$py,$locaplic,$nptx,$npty,$proj);
24 30 $m->salva();
25 31 $_SESSION["contadorsalva"]++;
26 32 break;
... ...
ferramentas/gradepontos/index.js
... ... @@ -127,7 +127,7 @@ i3GEOF.gradeDePontos = {
127 127 };
128 128 janela = i3GEO.janela.cria(
129 129 "400px",
130   - "150px",
  130 + "190px",
131 131 "",
132 132 "",
133 133 "",
... ... @@ -155,18 +155,25 @@ i3GEOF.gradeDePontos = {
155 155 var ins = "<p class='paragrafo' >"+$trad(1,i3GEOF.gradeDePontos.dicionario);
156 156 ins += "<p class='paragrafo'>"+$trad(2,i3GEOF.gradeDePontos.dicionario);
157 157 ins += "<p class='paragrafo'>"+$trad(3,i3GEOF.gradeDePontos.dicionario);
  158 + ins += "<p class='paragrafo'><input type=checkbox id=i3GEOgradedepontosProj style='cursor:pointer;position:relative;top:2px;' />&nbsp;"+$trad(14,i3GEOF.gradeDeHex.dicionario);
158 159 i3GEO.util.proximoAnterior("","i3GEOF.gradeDePontos.t1()",ins,"i3GEOFgradeDePontost0","i3GEOgradedepontosresultado",true,"i3GEOF.gradeDePontos_rodape");
159 160 },
160 161 t1: function(){
161 162 var ins = "<p class='paragrafo'>"+$trad(4,i3GEOF.gradeDePontos.dicionario);
162   - ins += "<p class='paragrafo'>X: ";
163   - ins += $trad(5,i3GEOF.gradeDePontos.dicionario)+"<input onclick='javascript:this.select();' class=digitar id='i3GEOgradedepontosxg' title='grau' type=text size=3 value='1'/>";
164   - ins += $trad(6,i3GEOF.gradeDePontos.dicionario)+"<input onclick='javascript:this.select();' class=digitar id='i3GEOgradedepontosxm' title='minuto' type=text size=5 value='00'/>";
165   - ins += $trad(7,i3GEOF.gradeDePontos.dicionario)+"<input onclick='javascript:this.select();' class=digitar id='i3GEOgradedepontosxs' title='segundo' type=text size=5 value='00.00'/>";
166   - ins += "<p class='paragrafo'>Y: ";
167   - ins += $trad(5,i3GEOF.gradeDePontos.dicionario)+"<input onclick='javascript:this.select();' class=digitar id='i3GEOgradedepontosyg' title='grau' type=text size=3 value='1'/>";
168   - ins += $trad(6,i3GEOF.gradeDePontos.dicionario)+"<input onclick='javascript:this.select();' class=digitar id='i3GEOgradedepontosym' title='minuto' type=text size=5 value='00'/>";
169   - ins += $trad(7,i3GEOF.gradeDePontos.dicionario)+"<input onclick='javascript:this.select();' class=digitar id='i3GEOgradedepontosys' title='segundo' type=text size=5 value='00.00'/>";
  163 + if($i("i3GEOgradedepontosProj").checked){
  164 + ins += "<p class='paragrafo'>"+$trad(15,i3GEOF.gradeDePontos.dicionario)+" X:<input onclick='javascript:this.select();' class=digitar id='i3GEOgradedepontosxg' title='metros' type=text size=6 value='100000'/>";
  165 + ins += "<p class='paragrafo'>"+$trad(15,i3GEOF.gradeDePontos.dicionario)+" Y:<input onclick='javascript:this.select();' class=digitar id='i3GEOgradedepontosyg' title='metros' type=text size=6 value='100000'/>";
  166 + }
  167 + else{
  168 + ins += "<p class='paragrafo'>X: ";
  169 + ins += $trad(5,i3GEOF.gradeDePontos.dicionario)+"<input onclick='javascript:this.select();' class=digitar id='i3GEOgradedepontosxg' title='grau' type=text size=3 value='1'/>";
  170 + ins += $trad(6,i3GEOF.gradeDePontos.dicionario)+"<input onclick='javascript:this.select();' class=digitar id='i3GEOgradedepontosxm' title='minuto' type=text size=5 value='00'/>";
  171 + ins += $trad(7,i3GEOF.gradeDePontos.dicionario)+"<input onclick='javascript:this.select();' class=digitar id='i3GEOgradedepontosxs' title='segundo' type=text size=5 value='00.00'/>";
  172 + ins += "<p class='paragrafo'>Y: ";
  173 + ins += $trad(5,i3GEOF.gradeDePontos.dicionario)+"<input onclick='javascript:this.select();' class=digitar id='i3GEOgradedepontosyg' title='grau' type=text size=3 value='1'/>";
  174 + ins += $trad(6,i3GEOF.gradeDePontos.dicionario)+"<input onclick='javascript:this.select();' class=digitar id='i3GEOgradedepontosym' title='minuto' type=text size=5 value='00'/>";
  175 + ins += $trad(7,i3GEOF.gradeDePontos.dicionario)+"<input onclick='javascript:this.select();' class=digitar id='i3GEOgradedepontosys' title='segundo' type=text size=5 value='00.00'/>";
  176 + }
170 177 i3GEO.util.proximoAnterior("i3GEOF.gradeDePontos.t0()","i3GEOF.gradeDePontos.t2()",ins,"i3GEOF.gradeDePontos.t1","i3GEOgradedepontosresultado",true,"i3GEOF.gradeDePontos_rodape");
171 178 },
172 179 t2: function(){
... ... @@ -216,9 +223,16 @@ i3GEOF.gradeDePontos = {
216 223 if(i3GEOF.gradeDePontos.aguarde.visibility === "visible")
217 224 {return;}
218 225 i3GEOF.gradeDePontos.aguarde.visibility = "visible";
219   - var dx,dy,ix,iy,nptx,npty,fim,p,cp;
220   - dx = i3GEO.calculo.dms2dd($i("i3GEOgradedepontosxg").value,$i("i3GEOgradedepontosxm").value,$i("i3GEOgradedepontosxs").value);
221   - dy = i3GEO.calculo.dms2dd($i("i3GEOgradedepontosyg").value,$i("i3GEOgradedepontosym").value,$i("i3GEOgradedepontosys").value);
  226 + var dx,dy,ix,iy,nptx,npty,fim,p,cp,proj="nao";
  227 + if(!$i("i3GEOgradedepontosProj").checked){
  228 + dx = i3GEO.calculo.dms2dd($i("i3GEOgradedepontosxg").value,$i("i3GEOgradedepontosxm").value,$i("i3GEOgradedepontosxs").value);
  229 + dy = i3GEO.calculo.dms2dd($i("i3GEOgradedepontosyg").value,$i("i3GEOgradedepontosym").value,$i("i3GEOgradedepontosys").value);
  230 + }
  231 + else{
  232 + proj = "sim";
  233 + dx = $i("i3GEOgradedepontosxg").value;
  234 + dy = $i("i3GEOgradedepontosyg").value;
  235 + }
222 236 ix = i3GEO.calculo.dms2dd($i("i3GEOgradedepontosixg").value,$i("i3GEOgradedepontosixm").value,$i("i3GEOgradedepontosixs").value);
223 237 iy = i3GEO.calculo.dms2dd($i("i3GEOgradedepontosiyg").value,$i("i3GEOgradedepontosiym").value,$i("i3GEOgradedepontosiys").value);
224 238 nptx = $i("i3GEOgradedepontosnptx").value;
... ... @@ -237,7 +251,7 @@ i3GEOF.gradeDePontos = {
237 251 else
238 252 {i3GEO.atualiza("");}
239 253 };
240   - p = i3GEO.configura.locaplic+"/ferramentas/gradepontos/exec.php?g_sid="+i3GEO.configura.sid+"&funcao=gradedepontos&xdd="+dx+"&ydd="+dy+"&px="+ix+"&py="+iy+"&nptx="+nptx+"&npty="+npty;
  254 + p = i3GEO.configura.locaplic+"/ferramentas/gradepontos/exec.php?g_sid="+i3GEO.configura.sid+"&proj="+proj+"&funcao=gradedepontos&xdd="+dx+"&ydd="+dy+"&px="+ix+"&py="+iy+"&nptx="+nptx+"&npty="+npty;
241 255 cp = new cpaint();
242 256 cp.set_response_type("JSON");
243 257 cp.call(p,"gradeDePontos",fim);
... ...