- Dependent / independent (are x and y coords dependent on each other (most transformations) or independent (each axis is transformed separately)?
- "safe"/"unsafe" : can this transformation emit NaN or Inf given finite input?
- densification traits - is densification needed or not?
- what else do we need?
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using GeometryBasics, LinearAlgebra | |
function add_vertex!(vertex_list, vertex) | |
push!(vertex_list, LinearAlgebra.normalize(vertex)) | |
return length(vertex_list) | |
end | |
function get_middle_point!(vertex_list, midpoint_cache, p1::Int, p2::Int) | |
first_is_smaller = p1 < p2 | |
smaller_index = first_is_smaller ? p1 : p2 |
- Must have a usage example of real use - what the hell do I do with this?
- If user-facing, must explain package-specific concepts (this can be a few words but it has to be done, since people will come in with no knowledge of package internals)
- If output is a custom type, must mention what it is and what you can do with it.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using CairoMakie | |
fig = Figure() | |
# Number of neurons per layer | |
neurons_per_column = [1, 10, 7, 5, 8, 1] | |
# A grid for each layer (arranged in a column) | |
col_grids = [GridLayout(fig[1, i]; valign = :center) for i in eachindex(neurons_per_column)] | |
# An axis per neuron | |
col_axes = [ | |
[Axis(col_grids[i][j, 1]) for j in 1:neurons_per_column[i]] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#= | |
# Getting (noninteractive) raster images from the MapTiles/TileProviders ecosystem | |
=# | |
import HTTP # to run the actual request and fetch the tiles | |
import ImageMagick # to read returned images, since they may be any bitmap format | |
using MapTiles, TileProviders # Julia map-tile infrastructure | |
# Julia geographic infrastructure | |
using Extents | |
import GeoInterface as GI |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using Colors | |
function cgrad2svgf(cgrad) | |
stops = LinRange(0, 1, 256) | |
colors = cgrad[stops] | |
# no Alpha support yet | |
# but soon! | |
# <feFuncA type="table" tableValues="$(join(alpha.(colors), ","))"></feFuncA> | |
return """ | |
<filter id="table" x="0" y="0" width="100%" height="100%"> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using GLMakie | |
using Meshing, GeometryBasics | |
isoval = 100 | |
algo = MarchingCubes(iso=isoval, insidepositive=false) | |
struct CameraRotationMove{T} <: FlyThroughPaths.PathChange{T} | |
duration::T |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#= | |
This file provides integration for R's SF objects | |
which are essentially geo-dataframes, | |
into Julia DataFrames with GeoInterface wrapper | |
geometries. | |
This requires https://github.com/JuliaInterop/RCall.jl/pull/528, | |
so run `Pkg.add((; url = "https://github.com/asinghvi17/RCall.jl", rev = "patch-1"))` to get that. | |
TODO: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using SHA | |
function archive_source_string(prefix_name, prefix, suffix, oldhash::String; joinchar = "", unpack_target = nothing) | |
url = join((prefix, suffix,), joinchar) | |
hash = bytes2hex(get_hash(url)) | |
print("ArchiveSource(\"\$($(prefix_name))$(joinchar)$(suffix)\", \"$(hash)\"") | |
if !isnothing(unpack_target) | |
print("; unpack_target = \"$(unpack_target)\")") | |
else | |
print(")") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using Proj, BenchmarkTools | |
import GeometryOps as GO | |
# using proj_trans_generic on a vector of tuples - or could be GB.Point or SVector or GI.Point with arbitrary metadata, doesn't matter! | |
points = tuple.(rand(10000), rand(10000)) | |
t = Proj.Transformation("+proj=longlat", "+proj=natearth"; always_xy = true) | |
function batch_project_numsfirst!(points, projection) | |
# GC.@preserve points begin # not technically necessary |
NewerOlder