コード例 #1
0
 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
コード例 #2
0
ファイル: func_linhas.py プロジェクト: dyeden/app_automatico
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
コード例 #3
0
ファイル: func_linhas.py プロジェクト: dyeden/app_automatico
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
コード例 #4
0
 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