spatstatwere removed and replaced by
sf. All spatial outputs are now Simple Features. A Shapefile Polygon can still be passed as input to
windfarmGA, but more underlying functions now require the Polygon to be of type Simple Feature.
hexa_areaare now calculated with
elevatrhas been added because it provides elevation data with a higher resolution compared to
dependenciesthat are not essential for the algorithm were moved to
h1can now also be a numeric vector with different height offsets. #18
get_dist_angleshave changed to match the arguments of
sh Warning message: In showSRID(uprojargs, format = "PROJ", multiline = "NO", prefer_proj = prefer_proj) : Discarded datum European_Terrestrial_Reference_System_1989 in CRS definition
options(windfarmGA.cT = 0.75):
Options = Default value | Description ----------------------------------| ------------------------ windfarmGA.cT = 0.88 | Wind Turbine Thrust coefficient windfarmGA.air_rh = 1.225 | Air Density Value windfarmGA.k = 0.075 | Wake expansion coefficient. It is assumed to be 0.075 for onshore windfarms and 0.05 for offshore windfarms windfarmGA.max_angle = 20 | Maximum angle (in degrees) to search for potential influencing turbines windfarmGA.max_distance = 100000 | Maximum distance (in meters) to search for potential influencing turbines windfarmGA.max_population = 300 | Maximum amount of individuals per generation windfarmGA.max_selection = 100 | Maximum amount of selected individuals
Old names | New names --------------------- | --------------------- StartGA | init_population selection1 | selection crossover1 | crossover VekWinkelCalc | get_dist_angles calculateEn | calculate_energy getRects | get_grids BaroHoehe | barometric_height GridFilter | grid_area HexaTex | hexa_area InfluPoints | turbine_influences genAlgo | genetic_algorithm RandomSearch | random_search RandomSearchTurb | random_search_single RandomSearchPlot | plot_random_search leafPlot | plot_leaflet heatmapGA | plot_heatmap plotbeorwor | plot_development plotCloud | plot_cloud plotEvolution | plot_evolution plotfitnessevolution | plot_fitness_evolution plotparkfitness | plot_parkfitness plotResult | plot_result PlotWindfarmGA | plot_windfarmGA plotWindrose | plot_windrose
The legend of
plot_leaflet now works correctly.
Some general linting / spell checking / performance optimization was done.
The Weibull Raster (for Austria) are now in a separate Github-repository, instead of being stored in the package as .rda file. I guess this never worked except on my computer.
The Corine Land Cover .tif file is also stored in that repository, as the EEA webpage did restrict downloads sometimes, which resulted in an error.
plot_farm_3d function has temporarily been removed from the package.
Most functions that required user-input previously used
readline which is now changed to
readLines as it allows to read from a file instead. This can be set via
options(windfarmGA.connection = file()).
A whole lot of tests were written.
windfarmGA and the plotting functions now accept SimpleFeature Polygons or coordinates in table format with long, lat or x, y column names. The terrain effect model can now be activated only by setting topograp to TRUE and it will attempt to download the land cover raster from the European Environment Agency website.
plot_farm_3d Experimental rayshader function
The output of
windfarmGA can be further randomized/optimized with the following
RandomSearch is used to randomize all turbines of the layout
RandomSearchTurb is used to randomize a single turbine
RandomSearchPlot is used to plot the output of those functions, comparing them with the
load(file = system.file("extdata/resultrect.rda", package = "windfarmGA")) load(file = system.file("extdata/polygon.rda", package = "windfarmGA")) Res = RandomSearchTurb(result = resultrect, Polygon1 = polygon, n=10) RandomSearchPlot(resultRS = Res, result = resultrect, Polygon1 = polygon, best=2)
## Runs the same optimization, but with parallel processing and 3 cores. result_par <- genAlgo(Polygon1 = Polygon1, GridMethod ="h", n=12, Rotor=30, fcrR=5,iteration=10, vdirspe = data.in,crossPart1 = "EQU", selstate="FIX",mutr=0.8, Proportionality = 1, SurfaceRoughness = 0.3, topograp = FALSE, elitism=TRUE, nelit = 7, trimForce = TRUE, referenceHeight = 50,RotorHeight = 100, Parallel = TRUE, numCluster = 3) PlotWindfarmGA(result = result_par, GridMethod = "h", Polygon1 = Polygon1)
result_hex <- genAlgo(Polygon1 = Polygon1, GridMethod ="h", n=12, Rotor=30, fcrR=5,iteration=10, vdirspe = data.in,crossPart1 = "EQU", selstate="FIX",mutr=0.8, Proportionality = 1, SurfaceRoughness = 0.3, topograp = FALSE, elitism=TRUE, nelit = 7, trimForce = TRUE, referenceHeight = 50,RotorHeight = 100) PlotWindfarmGA(result = result_hex, GridMethod = "h", Polygon1 = Polygon1)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.