[
https://issues.apache.org/jira/browse/SOLR-13263?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16773300#comment-16773300
]
Bar Rotstein commented on SOLR-13263:
-------------------------------------
My proposal:
Change SpatialUtils#parseGeomSolrException:33
from
{code:java}/**
* Parses a 'geom' parameter (might also be used to parse shapes for
indexing). {@code geomStr} can either be WKT or
* a rectangle-range syntax (see {@link #parseRectangle(String,
org.locationtech.spatial4j.context.SpatialContext)}.
*/
public static Shape parseGeomSolrException(String geomStr, SpatialContext
ctx) {
if (geomStr.length() == 0) {
throw new IllegalArgumentException("0-length geometry string");
}
char c = geomStr.charAt(0);
if (c == '[' || c == '{') {
return parseRectangeSolrException(geomStr, ctx);
}
//TODO parse a raw point?
try {
return ctx.readShapeFromWkt(geomStr);
} catch (ParseException e) {
throw new SolrException(SolrException.ErrorCode.BAD_REQUEST,
"Expecting WKT or '[minPoint TO maxPoint]': " + e, e);
}
}{code}
To
{code:java}/**
* Parses a 'geom' parameter (might also be used to parse shapes for
indexing). {@code geomStr} can either be WKT or
* a rectangle-range syntax (see {@link #parseRectangle(String,
org.locationtech.spatial4j.context.SpatialContext)}.
*/
public static Shape parseGeomSolrException(String geomStr, SpatialContext
ctx) {
if (geomStr.length() == 0) {
throw new IllegalArgumentException("0-length geometry string");
}
char c = geomStr.charAt(0);
if (c == '[' || c == '{') {
return parseRectangeSolrException(geomStr, ctx);
}
//TODO parse a raw point?
try {
return ctx.getFormats().read(geomStr);
} catch (ParseException e) {
throw new SolrException(SolrException.ErrorCode.BAD_REQUEST,
"Expecting WKT or '[minPoint TO maxPoint]': " + e, e);
}
}{code}
We might be able to get away with the explicit parsing of the rectangular
object, though I must admit I must run some tests and report back with the
results.
> Facet Heat Map should support GeoJSON
> -------------------------------------
>
> Key: SOLR-13263
> URL: https://issues.apache.org/jira/browse/SOLR-13263
> Project: Solr
> Issue Type: Bug
> Security Level: Public(Default Security Level. Issues are Public)
> Affects Versions: 8.0, 8.x, master (9.0)
> Reporter: Bar Rotstein
> Priority: Major
>
> Currently Facet Heatmap(Geographical facets) do not support any other
> subjects other than WKT or '[ ]'. This seems to be caused since
> FacetHeatmap.Parser#parse uses SpatialUtils#parseGeomSolrException, which in
> turn uses a deprecated JTS method (SpatialContext#readShapeFromWkt) to parse
> the string input.
> The newer method of parsing a String to a Shape object should be used, makes
> the code a lot cleaner and should support more formats (including GeoJSON).
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]