Awesome
GeoJSON
Read GeoJSON files using JSON3.jl, and provide the Tables.jl interface.
This package is heavily inspired by, and borrows code from, JSONTables.jl, which
does the same thing for the general JSON format. GeoJSON puts the geometry in a geometry
column, and adds all
properties in the columns individually.
Usage
GeoJSON only provides simple read
and write
methods.
GeoJSON.read
takes a file path, string, IO, or bytes.
julia> using GeoJSON, DataFrames
julia> fc = GeoJSON.read("path/to/a.geojson")
FeatureCollection with 171 Features
julia> first(fc)
Feature with geometry type Polygon and properties Symbol[:geometry, :timestamp, :version, :changeset, :user, :uid, :area, :highway, :type, :id]
# use the Tables interface to convert the format, extract data, or iterate over the rows
julia> df = DataFrame(fc)
# write to string
julia> write(fc)
"{\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-69.99693762899992...
HTTP access
To read JSON from a URL, use HTTP.jl
julia> using GeoJSON, HTTP
julia> resp = HTTP.get("https://path/to/file.json")
julia> fc = GeoJSON.read(resp.body)