コード例 #1
0
ファイル: fields.py プロジェクト: nens/threedigrid
    def _to_shapely_geom(self, values):
        if shapely is None:
            raise_import_exception('shapely')

        polygons = []
        for i, coord in enumerate(values.T):
            # convert the bbox bottom-left and upper-right into a polygon
            polygon = Polygon([(coord[0], coord[1]), (coord[0], coord[3]),
                               (coord[2], coord[3]), (coord[2], coord[1])])
            polygon.index = i  # the index is used in get_mask_by_geometry
            polygons.append(polygon)
        return polygons
コード例 #2
0
ファイル: pre_process.py プロジェクト: chenmingzhang/PyTOUGH
# not that the reason we extract this out here is because dx and dz does not change across the whole script
element.dx_array_m = element.dx_grid_zx_m.flatten()
element.dz_array_m = element.dz_grid_zx_m.flatten()

# generating mesh using shapley polygon
element_cells = []
k = 0
for i in range(nblks_x * nblks_z):
    xy = [[element.x_array_m[i] - element.dx_array_m [i] / 2 , element.z_array_m[i] - element.dz_array_m [i]/ 2 ] , \
          [element.x_array_m[i] + element.dx_array_m [i] / 2 , element.z_array_m[i] - element.dz_array_m [i]/ 2 ] , \
          [element.x_array_m[i] + element.dx_array_m [i] / 2 , element.z_array_m[i] + element.dz_array_m [i]/ 2 ] , \
          [element.x_array_m[i] - element.dx_array_m [i] / 2 , element.z_array_m[i] + element.dz_array_m [i]/ 2 ] , \
          [element.x_array_m[i] - element.dx_array_m [i] / 2 , element.z_array_m[i] - element.dz_array_m [i]/ 2 ] ]
    p = Polygon(xy)
    p.index = k
    element_cells.append(p)
    k += 1

#%% generating connections using shapley polygon. all the connections are considered as a small polygon
connection_cells = []
connection.x_centre_array_m = np.zeros(len(inp.grid.connectionlist))
connection.z_centre_array_m = np.zeros(len(inp.grid.connectionlist))
connection.dx_a_array_m = np.zeros(len(inp.grid.connectionlist))
connection.dz_a_array_m = np.zeros(len(inp.grid.connectionlist))
connection.dx_b_array_m = np.zeros(len(inp.grid.connectionlist))
connection.dz_b_array_m = np.zeros(len(inp.grid.connectionlist))
#connection_scaling_factor = 0.9 # in the visualisation, only show a fraction of the connection, with this scaling factor, centred at the interfacing area. this only affects visualisation, not model configuration.
connection_scaling_factor = 0.89
offset_m = 0.01  #0.025   # the offset can make the connection to be a polygon, not rather a line, adjust this value to make the visualisation of connections clearer