def calcular_distancia_oposta(self,linha_circulo, ponto_1, poligono_ma_sirgas, diretorio_saida): linha_circulo_buffer = linha_circulo.projectAs(self.spatial_proj_lambert).buffer(1).projectAs(self.spatial_geo_sirgas_2000) linha_ma_cortado = poligono_ma_sirgas.difference(linha_circulo_buffer) if linha_ma_cortado.isMultipart: for n in range(linha_ma_cortado.partCount): parte = linha_ma_cortado.getPart(n) linha_ma_parte = Polyline(parte, self.spatial_geo_sirgas_2000) if linha_ma_parte.disjoint(ponto_1): pass else: linha_ma_distancia = linha_ma_parte.projectAs(self.spatial_proj_lambert).length + 1 return linha_ma_distancia
def calc_distancia_oposta(dict_circ_desc, ponto_1): linha_circulo = dict_circ_desc["linha_circulo"] linha_circulo_buffer = linha_circulo.projectAs(projecao_plana).buffer(1).projectAs(projecao_geo) linha_ma_cortado = poligono_ma.difference(linha_circulo_buffer) if linha_ma_cortado.isMultipart: for n in range(linha_ma_cortado.partCount): parte = linha_ma_cortado.getPart(n) linha_ma_parte = Polyline(parte, projecao_geo) if linha_ma_parte.disjoint(ponto_1): pass else: linha_ma_distancia = linha_ma_parte.projectAs(projecao_plana).length + 1 return linha_ma_distancia
def funcao_multipart(linha, ponto): dict_partes = {} if linha.isMultipart: for n in range(linha.partCount): parte = linha.getPart(n) linha_parte = Polyline(parte, projecao_geo) linha_parte_lambert = linha_parte.projectAs(projecao_plana) if linha_parte_lambert.length > 0.8: if linha_parte.disjoint(ponto): dict_partes["parte" + str(n)] = {"linha_array":parte, "cruza_ponto":False, "linha_geometria":linha_parte} else: dict_partes["parte" + str(n)] = {"linha_array":parte, "cruza_ponto":True, "linha_geometria":linha_parte} return dict_partes
def funcao_multipart(self, linha, ponto): list_partes = [] if linha.isMultipart: for n in range(linha.partCount): parte = linha.getPart(n) linha_parte = Polyline(parte,self.spatial_geo_sirgas_2000) linha_parte_lambert = linha_parte.projectAs(self.spatial_proj_lambert) if linha_parte_lambert.length > 0.8: list_partes.append(parte) if linha_parte.disjoint(ponto): self.dict_partes["parte" + str(n)] = {"linha_array":parte, "cruza_ponto":False, "linha_geometria":linha_parte} else: self.dict_partes["parte" + str(n)] = {"linha_array":parte, "cruza_ponto":True, "linha_geometria":linha_parte} return list_partes