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); | ... | ... |