Commit 0e2fc34d940e38cd87e582efaad51c65f808edf3
1 parent
70d590ba
Exists in
master
and in
7 other branches
Correções nas ferramentas de geração de grades
Showing
10 changed files
with
377 additions
and
314 deletions
Show diff stats
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&uacute;mero de pontos em X (opcional) |
1705 | 1696 | |
1706 | 1697 | $npty - Nú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&uacute;mero de pontos em Y (opcional) |
1716 | 1707 | $nomeshp = $this->diretorio."/".$nomegrade; |
1717 | 1708 | //pega a extensão geográ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ância entre os pontos em dd |
... | ... | @@ -1743,83 +1751,46 @@ $npty - N&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&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ígonos hexagonais definido em décimos de grau. | |
1842 | - | |
1843 | -Salva o mapa acrescentando um novo layer com a grade. | |
1844 | - | |
1845 | -parameters: | |
1846 | -$xdd - Espaçamento em x. | |
1847 | - | |
1848 | -$ydd - Espaçamento em y. | |
1849 | - | |
1850 | -$px - X do primeiro ponto (superior esquerdo) | |
1809 | + /* | |
1810 | + function: gradeDeHex | |
1811 | + | |
1812 | + Gera uma grade de polígonos hexagonais regulares definido em dé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ço da aplicação. | |
1825 | + | |
1826 | + $nptx - Número de pontos em X (opcional) | |
1827 | + | |
1828 | + $npty - Nú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ão geográ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ço da aplicação. | |
1855 | + $pt = ms_newpointobj(); | |
1856 | + $pt->setXY($px,$py); | |
1855 | 1857 | |
1856 | -$nptx - Número de pontos em X (opcional) | |
1858 | + $pt->project($projInObj, $projOutObj); | |
1857 | 1859 | |
1858 | -$npty - Nú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ão geográ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â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â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ç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çã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;' /> "+$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çã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;' /> "+$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çã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;' /> "+$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); | ... | ... |