Skip to main content

Movici Geo Query

Movici Geo Query is a library for creating geospatial indexes (rtrees) and querying those trees. It is targeted and optimized to work together with other Movici libaries. It works natively with numpy arrays, where multi-point geometries (such as linestrings and polygons) are accepted using Movici’s csr format.

Getting Started

import numpy as np
from movici_geo_query import GeoQuery, PointGeometry

points_a = PointGeometry(np.array([[0, 1], [0.5, 1]]))
points_b = PointGeometry(np.array([[0.6, 0.9]]))

gq = GeoQuery(points_a)


result = gq.nearest_to(points_b)

# for each point in point_b, gq.nearest returns the index of the nearest point in points_a. The
# result will have the same length as points_b and contains indexes to the points_a array

print(result.indices) # np.array([1])

Installation

Movici Geo Query binary wheels are currently available for Linux (manylinux) and Windows. There are currently no concrete plans for Mac builds. If you’d like to have macos binaries, please create an issue for it. Installation can be done using pip install movici-geo-query

Building from source

Building from source requires a C compiler that supports C++17, such as Clang>=5. To build movici-geo-query from source you also need a version of Boost.geometry that contains the boost::geometry::index::rtree headers (eg. boost > 1.74.0). These can be installed using your favorite package manager, downloaded from the Boost website, or taken directly from GitHub. When downloading manually, make sure the boost header files can be found by pip by placing them in pythons include directory:

BOOST_VERSION=1.89.0
INCLUDE_DIR=$(python3 -c "import sysconfig as sc; print(sc.get_paths()['include'])")
TMP_DIR=/tmp/boost_geometry
mkdir -p ${TMP_DIR}
git clone --depth 1 --branch boost-${BOOST_VERSION} https://github.com/boostorg/geometry.git ${TMP_DIR}
cp ${TMP_DIR}/include/boost ${INCLUDE_DIR}

Now you can clone, compile and install from source:

git clone https://github.com/nginfra/movici-geo-query.git
pip3 install movici-geo-query/

To specify a compiler, use the CC environment variable:

CC=g++7 pip install movici-geo-query/

Developing Movici Geo Query

Developing Movici Geo Query assumes you’re developing on Linux using a modern C++ compiler that support C++17, such as Clang>=5. We have tests both in C++ and in Python. Supported Python versions are 3.8 and higher. It also requires Boost.geometry (see Building from source)

# install the package in editable mode with dev dependencies
pip install -e ".[dev]"

# run the c test suite
mkdir build
cd build
cmake ..
make -j
./test
cd ..

# run the python test suite
pytest tests/python

Metadata

Release files for movici-geo-query 1.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for movici-geo-query 1.5.0
File Size Uploaded Provenance Actions
movici_geo_query-1.5.0.tar.gz 91.1 kB Without provenance Details for movici_geo_query-1.5.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for movici-geo-query 1.5.0
File Actions
movici_geo_query-1.5.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for movici_geo_query-1.5.0-cp314-cp314-win_amd64.whl
movici_geo_query-1.5.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for movici_geo_query-1.5.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
movici_geo_query-1.5.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details for movici_geo_query-1.5.0-cp314-cp314-macosx_11_0_arm64.whl
movici_geo_query-1.5.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for movici_geo_query-1.5.0-cp313-cp313-win_amd64.whl
movici_geo_query-1.5.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for movici_geo_query-1.5.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
movici_geo_query-1.5.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details for movici_geo_query-1.5.0-cp313-cp313-macosx_11_0_arm64.whl
movici_geo_query-1.5.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for movici_geo_query-1.5.0-cp312-cp312-win_amd64.whl
movici_geo_query-1.5.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details for movici_geo_query-1.5.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
movici_geo_query-1.5.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details for movici_geo_query-1.5.0-cp312-cp312-macosx_11_0_arm64.whl
movici_geo_query-1.5.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for movici_geo_query-1.5.0-cp311-cp311-win_amd64.whl
movici_geo_query-1.5.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details for movici_geo_query-1.5.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
movici_geo_query-1.5.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details for movici_geo_query-1.5.0-cp311-cp311-macosx_11_0_arm64.whl
movici_geo_query-1.5.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for movici_geo_query-1.5.0-cp310-cp310-win_amd64.whl
movici_geo_query-1.5.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details for movici_geo_query-1.5.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
movici_geo_query-1.5.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details for movici_geo_query-1.5.0-cp310-cp310-macosx_11_0_arm64.whl

Total release size: 8.6 MB

Release files / movici_geo_query-1.5.0.tar.gz

Download URL movici_geo_query-1.5.0.tar.gz
Size 91.1 kB
Tags Source
SHA-256 checksum
How to use checksums
803652ad48ce752b4b17553c735dd2a921ca2dbf5341179e5fb978483bd07434
BLAKE2b-256 checksum
How to use checksums
73b7e3198206c46d05b5ee468e253d41bb00e2b0b9636434a2a5c3e15ad60f33
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.14

Release files / movici_geo_query-1.5.0-cp314-cp314-win_amd64.whl

Download URL movici_geo_query-1.5.0-cp314-cp314-win_amd64.whl
Size 497.7 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
3b6577c972ca84234ce3644c5bded4980b1d65f7c091b7c3c09d2ec704e58fb3
BLAKE2b-256 checksum
How to use checksums
c78213f28ad1df61b30a2b9b5261910805639f71cfcd8d63cf129f5e8e91976b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.14

Release files / movici_geo_query-1.5.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL movici_geo_query-1.5.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 649.1 kB
Tags CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
6a9d4e7f0457f2e8b2e129cabfdb42007603ad30c7fd3eefac43a9f27894d4f9
BLAKE2b-256 checksum
How to use checksums
7c8d2ffc0b043d5da65577dd30925b7644f01d0c1ac13f9e9aba11a37115aa05
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.14

Release files / movici_geo_query-1.5.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL movici_geo_query-1.5.0-cp314-cp314-macosx_11_0_arm64.whl
Size 571.2 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
2333ba67710e1d968d16c291eddebe3033e4dc05a053c2b1961b4ff6323f2457
BLAKE2b-256 checksum
How to use checksums
d4ca9489c6bb10ea80479eaf93b5e39b1087935b7fbedf6c36aeef8ec3979af5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.14

Release files / movici_geo_query-1.5.0-cp313-cp313-win_amd64.whl

Download URL movici_geo_query-1.5.0-cp313-cp313-win_amd64.whl
Size 482.9 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
b43a2424e5dca32fe15ede24c3da0222a8924636f243c98b2077fe5f06497d47
BLAKE2b-256 checksum
How to use checksums
bd540a665fb52551f5be5083fec49bc25450f74bb729d2e989a4365353fd8484
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.14

Release files / movici_geo_query-1.5.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL movici_geo_query-1.5.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 648.9 kB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
e2507de1f9563ad4fc261b326ad794f8cb2bb011bb30264a3af0b40cec2248b0
BLAKE2b-256 checksum
How to use checksums
b9b0e275be45ac212d6515f050ec6e8b04d22d8cf28f781a52f734c6a6742572
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.14

Release files / movici_geo_query-1.5.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL movici_geo_query-1.5.0-cp313-cp313-macosx_11_0_arm64.whl
Size 570.7 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
910785df28726a981bcd14c209ea3fff6442cddc0146d1186d3fc6809a678d93
BLAKE2b-256 checksum
How to use checksums
a61e50109a614d7a91beac9c38b3c3bf0109bc66e347ba2995761a7d86e5ea14
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.14

Release files / movici_geo_query-1.5.0-cp312-cp312-win_amd64.whl

Download URL movici_geo_query-1.5.0-cp312-cp312-win_amd64.whl
Size 482.9 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
1b5085e14c9afd821f8eaef3fc7b26981d338f3298b7a13b1676b22a2acb33ac
BLAKE2b-256 checksum
How to use checksums
36ffc1e9bab62e1f0934cd536d602488e1a9868e213b928588a709553f200ac0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.14

Release files / movici_geo_query-1.5.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL movici_geo_query-1.5.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 649.0 kB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
c4d122dc9e76d63d1a6143ba68b7ace2df401ad789fe345719038b732059c328
BLAKE2b-256 checksum
How to use checksums
32ed4673a5e96026004df468bffc0c83593f01de772a87329860640e95981668
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.14

Release files / movici_geo_query-1.5.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL movici_geo_query-1.5.0-cp312-cp312-macosx_11_0_arm64.whl
Size 570.7 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
34f784deb9cfa0003bd52351d05fadc87025f3c56379ae432312a088637ffd94
BLAKE2b-256 checksum
How to use checksums
c70e19b085fd637d81801b9605ae27fe62c5e8ca2ebb5e066a1c2ee79f85efa1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.14

Release files / movici_geo_query-1.5.0-cp311-cp311-win_amd64.whl

Download URL movici_geo_query-1.5.0-cp311-cp311-win_amd64.whl
Size 480.5 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
04e6d0f864ba074590c83caadf59086ba0039ba3800bb059707a5150badc446b
BLAKE2b-256 checksum
How to use checksums
7b4f5d839a0fbb60be5251fb7675b3053b2055733d89dae9777d25d7f0991994
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.14

Release files / movici_geo_query-1.5.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL movici_geo_query-1.5.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 648.3 kB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
006c43578620c7ead07c6db8044fcfdb8709f0b0b2921eedbf2073a9103b8afc
BLAKE2b-256 checksum
How to use checksums
1e5376aa51fd64632121a90a80d2aa63dd0d076cdfe5183b285971d3fbdc6c55
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.14

Release files / movici_geo_query-1.5.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL movici_geo_query-1.5.0-cp311-cp311-macosx_11_0_arm64.whl
Size 569.7 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
397c0d63166d81321189d79b3892ee9eaa961c17d77dfd7e74aa506074d409bc
BLAKE2b-256 checksum
How to use checksums
a6c53c6500dcc70fbaa59d9a04fe652eb7c8c5580e60527ce60b56c87c01d485
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.14

Release files / movici_geo_query-1.5.0-cp310-cp310-win_amd64.whl

Download URL movici_geo_query-1.5.0-cp310-cp310-win_amd64.whl
Size 479.4 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
705243f1dafcc4671d2d82ea9f59b7de306e82735a3c7211a8ee4fdac2910a34
BLAKE2b-256 checksum
How to use checksums
a19079b3c6c1923b81808342b405d9273824fa7953e4f67fda993bcad8478ea5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.14

Release files / movici_geo_query-1.5.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL movici_geo_query-1.5.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 647.3 kB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
33df67cc1cdd5be8ef17791262cfdd0630f8c0296916f5d4c21ce010bd8a657f
BLAKE2b-256 checksum
How to use checksums
99065041c50f9661450af2d5338c1cbfe2b9ee96748e8052aa31f47c76494478
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.14

Release files / movici_geo_query-1.5.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL movici_geo_query-1.5.0-cp310-cp310-macosx_11_0_arm64.whl
Size 568.8 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
274a30d4e1e851acd5a81731a6892d6dca839a80ab2a6750def1a5a104366f10
BLAKE2b-256 checksum
How to use checksums
a643dc7688511c5bc6f217bc679724718e1fd40a2c6b62d97ebfe2c9bcf55dd2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.14

Security for movici-geo-query 1.5.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page