예제 #1
0
 def analisar_linhas_voronoi(self):
     for id_linha in self.dict_poligono_descricao["metadados"]["linhas"]:
         id_frente = self.dict_poligono_descricao["metadados"]["linhas"][id_linha]["id_frente"]
         if id_frente is not None:
             linha1 = self.dict_poligono_descricao["metadados"]["linhas"][id_linha]["linha_largura"]
             linha2 = self.dict_poligono_descricao["metadados"]["linhas"][id_frente]["linha_largura"]
             linha_app1 = func_app.criar_linha_largura_app(linha1, self.largura_app(linha1))
             linha_app2 = func_app.criar_linha_largura_app(linha2, self.largura_app(linha2))
             poligono = func_app.criar_poligono_app_hull(linha_app2, linha_app1)
             self.registrar_poligonos_app(poligono, id_frente, id_linha)
예제 #2
0
    def analisar_linhas(self):

        for id_linha in self.dict_poligono_descricao["metadados"]["linhas"]:
            "para cada linha de largura do rio e criada uma linha de app"
            linha = self.dict_poligono_descricao["metadados"]["linhas"][id_linha]["linha_largura"]
            if linha:
                linha_app = func_app.criar_linha_largura_app(linha, self.largura_app(linha))
                self.dict_poligono_descricao["metadados"]["linhas"][id_linha]["linha_app"] = linha_app

        for id_linha in self.dict_poligono_descricao["metadados"]["linhas"]:
            linha = self.dict_poligono_descricao["metadados"]["linhas"][id_linha]["linha_largura"]
            id_frente = self.dict_poligono_descricao["metadados"]["linhas"][id_linha]["id_frente"]

            if linha == None or id_frente == None:
                if self.dict_poligono_descricao["metadados"]["linhas"][id_linha]["tipo"] == 'extremidade':
                    "determina uma app para as extremidades"

                    if self.dict_poligono_descricao["metadados"]["linhas"][id_linha]["subtipo"] == 'ponta':
                        id_atras = self.dict_poligono_descricao["metadados"]["linhas"][id_linha]["id_atras"]
                        poligono_ponta = self.dict_poligono_descricao["metadados"]["linhas"][id_linha]['poligono_ponta']
                        poligono = poligono_ponta.projectAs(self.projecao_plana).buffer(30).projectAs(self.projecao_geo)
                        self.registrar_poligonos_app(poligono, id_linha, id_atras)

            elif self.dict_poligono_descricao["metadados"]["linhas"][id_frente]["linha_largura"] == None:
                pass

            else:
                "cria a app usando as linhas de app"
                linha_app = self.dict_poligono_descricao["metadados"]["linhas"][id_linha]["linha_app"]
                linha_app_frente = self.dict_poligono_descricao["metadados"]["linhas"][id_frente]["linha_app"]
                poligono = func_app.criar_poligono_app(linha_app, linha_app_frente)
                self.registrar_poligonos_app(poligono, id_linha, id_frente)
                if id_linha == 0:
                    id_atras = self.dict_poligono_descricao["metadados"]["linhas"][id_linha]["id_atras"]
                    if id_atras:
                        linha_app_atras = self.dict_poligono_descricao["metadados"]["linhas"][id_atras]["linha_app"]
                        poligono = func_app.criar_poligono_app(linha_app, linha_app_atras)
                        self.registrar_poligonos_app(poligono, id_linha, id_atras)