[ 
https://issues.apache.org/jira/browse/ASTERIXDB-1327?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15849499#comment-15849499
 ] 

Jianfeng Jia commented on ASTERIXDB-1327:
-----------------------------------------

[~marti1125] Welcome to AsterixDB! 
The related code should be in this 
[file|https://github.com/apache/asterixdb/blob/2f9d4c3ab4d55598fe9a14fbf28faef12bed208b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/SpatialIntersectDescriptor.java]

You can debug the code by following this [wiki 
page|https://cwiki.apache.org/confluence/display/ASTERIXDB/Debugging]

Finally, you can write test cases in the 
{code}
asterix-app/src/test/resources/runtimets
{code}
folder. 
Specifically, you need write the AQLs in the *queries* folder and put the 
expected result in the *results* folder. 
After that, you need to add it to the *testsuite.xml*. 
Finally, you can test it by running 
*org/apache/asterix/runtime/ExceptionTest.java*  test code.


> Spatial-intersect between point and circle not working correctly
> ----------------------------------------------------------------
>
>                 Key: ASTERIXDB-1327
>                 URL: https://issues.apache.org/jira/browse/ASTERIXDB-1327
>             Project: Apache AsterixDB
>          Issue Type: Bug
>            Reporter: Steven Jacobs
>            Assignee: Jianfeng Jia
>         Attachments: EmergencyReports.adm, UserLocationsShort.adm
>
>
> The first query returns a large set of results. The second returns nothing
> {noformat}
> for $report in dataset EmergencyReports
> for $location in dataset UserLocations
> where $report.emergencyType = "earthquake"
> let $circle := create-circle($location.location,.1)
> where spatial-intersect($report.impactZone, $circle)
> return {
>       "user at":$location.location,
>       "report at":$report.impactZone
> }
> {noformat}
> {noformat}
> for $report in dataset EmergencyReports
> for $location in dataset UserLocations
> where $report.emergencyType = "earthquake"
> where spatial-intersect($report.impactZone, $location.location)
> return {
>       "user at":$location.location,
>       "report at":$report.impactZone
> }
> {noformat}
> Here are the DDL statements. I will attach the two datasets:
> {noformat}
> drop dataverse channels if exists;
> create dataverse channels;
> use dataverse channels;
> create type UserLocation as closed {
>       recordId: uuid,
>       location: point,
>       user-id: string,
>       timeoffset: float
> }
> create type EmergencyReport as closed {
>       reportId: uuid,
>       severity: int,
>       impactZone: circle,
>       timeoffset: float,
>       duration: float,
>       message: string,
>       emergencyType: string
> }
> create dataset UserLocations(UserLocation)
> primary key recordId autogenerated;
> create dataset EmergencyReports(EmergencyReport)
> primary key reportId autogenerated;
> load dataset UserLocations using localfs 
> (("path"="asterix_nc1:///Users/stevenjacobs/Desktop/EmergencyDataset/UserLocationsShort.adm"),("format"="adm"));
> load dataset EmergencyReports using 
> localfs(("path"="asterix_nc1:///Users/stevenjacobs/Desktop/EmergencyDataset/EmergencyReports.adm"),("format"="adm"));
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to