KDTree para longitud / latitud

¿Hay algún paquete en Python que permita realizar operaciones similares a kdtree para latitudes / longitudes en la superficie de una esfera? (Esto debería tener en cuenta las distancias esféricas correctamente, así como el enrollamiento en longitud).

Un árbol de búsqueda binario no puede manejar el diseño de la representación polar. Es posible que necesite transformar las coordenadas en un espacio cartesiano 3D y luego aplicar su algoritmo de búsqueda favorito, por ejemplo, kD-Tree, Octree, etc.

Alternativamente, si pudiera limitar el rango de entrada de coordenadas a una pequeña región en la superficie, podría aplicar una proyección de mapa apropiada a esta región, es decir, una que no distorsione demasiado la forma de su área, y aplicar un binario estándar busque el árbol en estas coordenadas cartesianas no envolventes.