GeoJson Support
Goals
Rich support for geojson
Filtering via jsonpath-like expressions
load geojson natively (i.e. no converter definition, or an empty converter)
heterogenous geojson docs in one table
multiple 'materialized views' (sfts) per table
Use Case
Considerations
support json-schema
efficient/compressed storage
variable attributes/flexible schema
attribute indices
pushdown predicates
query syntax and predicates - possibly build off mongodb, jq, solr, postgres jsonb
geoserver/simplefeature integration
ingest api/services
try to avoid parsing json during filtering
optimizations - define materialized views up front and/or with m/r jobs instead of compute on the fly (consider using column groups)
optimizations - allow for definition of fields up front and replace serialized strings with field ids
projects to evaluate for ideas - bson, msgpack, grpc, protocol-bufs, avro, postgres jsonb, solr geo
Design
Support native json attributes in SimpleFeatures in AccumuloDataStore
serialized as reduced bson
support json-path expressions into the serialized json
evaluate expressions without reparsing json
Materialized views are supported through projections using json-path selectors
Scala API wraps geotools datastore and hides implemenation details
Accepts geojson features to add
Query API is based off mongodb syntax
Rest API wraps Scala API as a webservice
Tasks
TBD
References
http://docs.geotools.org/stable/javadocs/org/geotools/geojson/feature/FeatureJSON.html