#geospatial

geoprox-server

Geoprox server implementation providing a HTTP API for geospatial queries and position tracking

8 releases (4 breaking)

0.5.0 Aug 23, 2024
0.4.2 Aug 12, 2024
0.3.1 Aug 6, 2024
0.2.0 Aug 3, 2024
0.1.0 Aug 1, 2024

#174 in Geospatial

48 downloads per month
Used in geoprox

MIT/Apache

80KB
1.5K SLoC

Geoprox Server

Geoprox Server is an in-memory geospatial search engine built on top of Geoprox Core.

It provides an API for encoding and decoding geohashes, querying neighboring geohashes, and conducting efficient geospatial searches within specific ranges. This makes it a practical tool for managing and querying location-based data with speed and accuracy.

This service is well-suited for real-time applications such as ride-sharing and food delivery services, where quick and accurate location tracking is crucial.

Need an API Client? See, contrib/client-sdk for available HTTP client libraries or generate your own.

  • Swagger UI is available at the /swagger-ui/ endpoint.
  • The OpenAPI specification is accessible at the /api-spec/openapi.json endpoint.

API Endpoints

Api Method HTTP request Description
GeohashApi decodeGeohash GET /api/v1/geohash/{ghash} Decode geohash into coordinates.
GeohashApi encodeLatlng GET /api/v1/geohash Encode coordinates into geohash
GeohashApi getNeighbors GET /api/v1/geohash/{ghash}/neighbors Neighboring regions
GeoshardApi createIndex POST /api/v1/shard/{index} Create geospatial index
GeoshardApi dropIndex DELETE /api/v1/shard/{index} Deletes geospatial index
GeoshardApi insertKey PUT /api/v1/shard/{index} Insert key into index
GeoshardApi insertKeyBatch PUT /api/v1/shard/{index}/batch Insert multiple keys into index
GeoshardApi queryRange GET /api/v1/shard/{index} Search index for objects nearby
GeoshardApi queryRangeMany GET /api/v1/shard Search multiple indices for objects nearby
GeoshardApi removeKey PATCH /api/v1/shard/{index} Remove key from index
GeoshardApi removeKeyBatch PATCH /api/v1/shard/{index}/batch Remove multiple keys from index

Check out the API documentation for detailed descriptions of all the endpoints.

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

License

This project is licensed under the Apache 2.0 or MIT License (your choice).

Dependencies

~22–51MB
~801K SLoC