public class SpatialArgsParser extends Object
SpatialArgs
object. The set of operations supported are defined in SpatialOperation
, such
as "Intersects" being a common one. The shape portion is defined by WKT WktShapeParser
,
but it can be overridden/customized via parseShape(String, org.locationtech.spatial4j.context.SpatialContext)
.
There are some optional name-value pair parameters that follow the closing parenthesis. Example:
Intersects(ENVELOPE(-10,-8,22,20)) distErrPct=0.025
In the future it would be good to support something at least semi-standardized like a variant of [E]CQL.
Modifier and Type | Field and Description |
---|---|
static String |
DIST_ERR |
static String |
DIST_ERR_PCT |
Constructor and Description |
---|
SpatialArgsParser() |
Modifier and Type | Method and Description |
---|---|
protected SpatialArgs |
newSpatialArgs(SpatialOperation op,
org.locationtech.spatial4j.shape.Shape shape) |
SpatialArgs |
parse(String v,
org.locationtech.spatial4j.context.SpatialContext ctx)
Parses a string such as "Intersects(ENVELOPE(-10,-8,22,20)) distErrPct=0.025".
|
protected static Map<String,String> |
parseMap(String body)
Parses "a=b c=d f" (whitespace separated) into name-value pairs.
|
protected org.locationtech.spatial4j.shape.Shape |
parseShape(String str,
org.locationtech.spatial4j.context.SpatialContext ctx) |
protected static boolean |
readBool(String v,
boolean defaultValue) |
protected static Double |
readDouble(String v) |
protected void |
readNameValuePairs(SpatialArgs args,
Map<String,String> nameValPairs) |
public static final String DIST_ERR_PCT
public static final String DIST_ERR
public SpatialArgs parse(String v, org.locationtech.spatial4j.context.SpatialContext ctx) throws ParseException, org.locationtech.spatial4j.exception.InvalidShapeException
v
- The string to parse. Mandatory.ctx
- The spatial context. Mandatory.IllegalArgumentException
- if the parameters don't make sense or an add-on parameter is unknownParseException
- If there is a problem parsing the stringorg.locationtech.spatial4j.exception.InvalidShapeException
- When the coordinates are invalid for the shapeprotected SpatialArgs newSpatialArgs(SpatialOperation op, org.locationtech.spatial4j.shape.Shape shape)
protected void readNameValuePairs(SpatialArgs args, Map<String,String> nameValPairs)
protected org.locationtech.spatial4j.shape.Shape parseShape(String str, org.locationtech.spatial4j.context.SpatialContext ctx) throws ParseException
ParseException
protected static boolean readBool(String v, boolean defaultValue)
Copyright © 2000-2017 Apache Software Foundation. All Rights Reserved.