You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This task is essentially finished, as I wrote the quadtree endpoints before completing my last day on viz for this sprint.
Quadtree endpoints include: POST /quadtree/create/:table schema: {xAxisName: string, yAxisName: string}
This creates a named quadtree with default settings from a named table that has been previously read. xAxisName and yAxisName must be specified in the body of the POST request.
POST /quadtree/set_polygons_quadtree schema: {name: string, polygon_offset: array, ring_offset: array, points: array}
This takes a GeoArrow polygons specification from the client. The client-specified name will be used to store the polygons in a new gpu buffer. Three buffers are specified: polygon_offset, ring_offset, and points.
GET /quadtree/get_points/:quadtree/:polygon
This request takes the name of the quadtree and the name of the polygon object, and returns an unordered set of points that fall within the polygon.
From here we'd like to use the quadtree indexing to inform the client behavior. My next step is to add a /quadtree/count_points/:quadtree/:polygon endpoint that instead of returning all the points, simply returns the number of points that were found. This will be used by the app to query specific quads of the display area to determine which quads require multiple requests and which quads can be filled out with a single request.
At app launch it should request the total number of points in the dataset, then the number of points in each of the four primary quads. The number of points in each quad inform the app as to how many quads it should subdivide the primary quads into in order to achieve the desired throughput rate for rendering new areas. Then it will request points form each quad iteratively, filling them in as responses come in.
No description provided.
The text was updated successfully, but these errors were encountered: