Пример #1
0
    def get_vector_mask_pl(self, ratio):
        
        '''En este metodo elegimos el poligono de la mascara de agua y 
        lo pasamos a vectorial (suavizando tambien la geometria)'''
        
        outshp = os.path.join(self.pro_escena, self.escena[:10] + '_WaterMask50.shp')
        
        for i in os.listdir(self.pro_escena):
            
            if i.endswith('_watervec.shp'):
                
                shape = os.path.join(self.pro_escena, i)
                print(shape)
                myshp = fiona.open(shape)
            
        for i in myshp:
            geom1 = i['geometry']
            #print(geom1)
            #print(geom1)
            line = MultiLineString(geom1['coordinates'])
            line10 = line.simplify(ratio)
        

        # Define a polygon feature geometry with one attribute
        schema = {
            'geometry': 'MultiLineString',
            'properties': {'id': 'int'}}

        # Write a new Shapefile
        with fiona.open(outshp, 'w', 'ESRI Shapefile', schema) as c:
            ## If there are multiple geometries, put the "for" loop here
            c.write({
                'geometry': mapping(line10),
                'properties': {'id': 123},
            })
Пример #2
0
pol_s = pol.simplify(5, preserve_topology=True)
val = pol.is_simple



pol = Polygon(ext, int)
val = pol.is_valid
pol_s = pol.simplify(5, preserve_topology=True)
pol_s1 = pol.simplify(5, preserve_topology=False)
val2 = pol_s1.is_valid
pol = Polygon([(((0,0), 0,10),(10,10), (10,12), (12,12), (12,10), (20,10)), ((11,0), (11,4),(12,4),(12,5),(11,5), (11,7), (11,11))])
mline1 = mline.simplify(2, preserve_topology=True)


mline = MultiLineString([((0,10),(10,10), (10,12), (12,12), (12,10), (20,10)), ((11,0), (11,4),(12,4),(12,5),(11,5), (11,7), (11,11))])
mline1 = mline.simplify(2, preserve_topology=True)

line = LineString([(0,0),(10,0), (11,0), (11,1), (10,1), (20,0), (20,1), (22,1), (22,0), (30, 0), (30,-5), (21,-5), (21,.5)])
line1 = line.simplify(1, preserve_topology=True)



line = LineString([(0,0),(2,2), (4,-2), (6,2), (7,0), (8,0)])
splitter = LineString([(0,0),(8,0)])

line_a = LineString([(0,0),(10,0)])
line_b = LineString([(10,110),(20,20)])
line_c = LineString([(7,0),(9,0)])

line_split = split(line, splitter)
splitter_split = split(splitter, line)