[][src]Crate wof

WOF

Who's On First is a gazetteer of all the places in the world from continents to neighbourhoods and venues.

This project gather some utilities to work with WOF documents in rust. Some of them are already available in Go-lang.

use wof::*;
// Create and validate a WOF GeoJSON object from string
let buf = r#"{
    "id": 0,
    "type": "Feature",
    "properties": { "name:eng_x_preferred":[ "Null Island" ], "name:fra_x_preferred":[ "Null Island" ], "wof:id":0, "wof:lang":[ "eng" ] },
    "bbox": [ 0, 0, 0, 0 ],
    "geometry": {"coordinates":[0, 0],"type":"Point"}
  }"#.to_string();
let json = parse_string_to_json(buf).unwrap();
let geojson = WOFGeoJSON::as_valid_wof_geojson(&json).unwrap();
assert_eq!(geojson.id, 0);

Modules

repo

Work with WOF repository folders. Walk through directories.

shapefile
sqlite

Module to create and add documents to WOF SQLites databases.

utils

Utilities for the WOF ecosystem.

Structs

JsonObject

A binary tree implementation of a string -> JsonValue map. You normally don't have to interact with instances of Object, much more likely you will be using the JsonValue::Object variant, which wraps around this struct.

WOFGeoJSON

Representation of a WOF GeoJSON, contains all required properties.

Enums

JsonValue

Functions

json_to_writer

Serialize a JsonValue as a JSON into the IO stream.

json_to_writer_pretty

Serialize a JsonValue as a WOF pretty-printed JSON into the IO stream.

object_to_writer

Serialize an Object as a JSON into the IO stream.

object_to_writer_pretty

Serialize an Object as a WOF pretty-printed JSON into the IO stream.

parse_file_to_json

Open a file, read the content and return the JsonValue.

parse_string_to_json

Parse the String buffer and return the associated JsonValue.

read_file_to_string

Read a file and write the content in a String.

wof_to_writer

Serialize a WOFGeoJSON as a JSON into the IO stream.

wof_to_writer_pretty

Serialize a WOFGeoJSON as a WOF pretty-printed JSON into the IO stream.