Example #1
0
 /**
  * {@inheritDoc}
  */
 public function getContextoId($espacialidade, $id)
 {
     $_id = Db::escape($id);
     $tab = MapaTabela::getTabela($espacialidade);
     $fk = MapaTabela::getChaveEstrangeira(ESP_REGIAOMETROPOLITANA, $espacialidade);
     $sql = sprintf("SELECT \n                e.id AS id\n            FROM \n                estado AS e,\n                %s AS t\n            WHERE \n                t.id=%d \n                AND t.%s=e.id", $tab, $_id, $fk);
     $this->bd->execSql($sql);
     if ($row = $this->bd->proximo()) {
         return $row->id;
     }
     return null;
 }
 /**
  * Recupera coordenadas centro da espacialidade.
  * 
  * @param int $id
  * @param int $espacialidade
  * @return \CoordsEspacialidade
  */
 public function getLatLng($id, $espacialidade)
 {
     list($lat, $lng) = MapaTabela::getLatLngFields($espacialidade);
     $sql = 'SELECT ' . "{$lat} AS lat, " . "{$lng} AS lng " . 'FROM ' . MapaTabela::getTabela($espacialidade) . ' ' . 'WHERE id=' . $id . ' ' . 'LIMIT 1;';
     //        print $sql; exit;
     $this->bd->execSql($sql);
     $obj = null;
     if ($row = $this->bd->proximo()) {
         $obj = new CoordsEspacialidade();
         $obj->setLat($row->lat);
         $obj->setLng($row->lng);
     }
     return $obj;
 }
 /**
  * Constroi sql dos IDs de espacialidades diferente.
  *
  * @param string $contexto        	
  * @param string $espacialidade  	
  * @param array $array_id           Lista de IDs da espacialidade      	
  * @return array
  */
 public function getSqlByIdEspacialidade($contexto, $espacialidade, $array_id)
 {
     $this->tabela = MapaTabela::getTabela($espacialidade);
     $this->foreign_key = MapaTabela::getChaveEstrangeira($contexto, $espacialidade);
     // país pega todos valores
     if ($contexto == ESP_PAIS) {
         $this->sql = "SELECT id FROM {$this->tabela}";
         return $this->sql;
     } else {
         $_id = implode(', ', $array_id);
         $this->sql = "SELECT id FROM {$this->tabela} WHERE {$this->foreign_key} IN ({$_id})";
         // RM verificar se está ativa
         if ($espacialidade == ESP_REGIAOMETROPOLITANA) {
             $this->sql .= " AND ativo=TRUE";
         }
         return $this->sql;
     }
 }
 /**
  * Formata SQL.
  * 
  * @param int $contexto ID espacialidade.
  * @param int $espacialidade ID espacialidade.
  * @param int $id
  * @param int $indicador ID indicador.
  * @param int $ano ID ano.
  * @return string
  */
 public function getSql($contexto, $espacialidade, $id, $indicador, $ano)
 {
     $tabela = MapaTabela::getTabela($espacialidade);
     $chave_estrangeira = MapaTabela::getChaveEstrangeira($espacialidade, $contexto);
     $valor_variavel = $tabela;
     // região de interesse - caso especial
     if ($espacialidade == ESP_REGIAODEINTERESSE) {
         $tabela = $this->_getSqlRegiaoDeInteresse();
         $valor_variavel = 'municipio';
         $chave_estrangeira = 'fk_municipio';
         $id = $tabela;
     }
     // tabela mun = municipio
     if (strtolower($valor_variavel) == 'municipio') {
         $valor_variavel = 'mun';
     }
     $sql = $this->_toSql($tabela, $valor_variavel, $chave_estrangeira, $indicador, $ano);
     return static::prepareSql($sql, $id);
 }