2017-10-10 5 views
0

Je cherche à faire une sorte de joint géospatial dans le flocon de neige. Actuellement, l'exécution de cette requête prend plus d'un jour. J'ai une table des points de données de localisation (~ 1 milliard d'enregistrements), et une autre table des emplacements de POI (~ 6k), (les deux ont des coordonnées lat/lon). Je veux tracer le nombre de points de données que je vois dans X mètres d'un POI. Ne peut utiliser que des flocons de neige ou tout autre programme open source. Toute aide est appréciée.Geospatial joindre dans le flocon de neige

Je voudrais voir un tableau avec les colonnes ci-dessous:

POI_id Rayon de données Points

+0

Pouvez-vous poster comment allez-vous aujourd'hui? Par exemple. Quelle est la requête, les deux exemples de jeu de données, etc. –

Répondre

0

Haversine Function

la façon de le faire est par une fonction Haversine dans le « sur » clause rejoindre les deux tables.

select * 
from table1 a 
inner join table2 b 
on haversine(a.lat,a.long,b.lat,b.long) <= 10 
; 

alors joignez-vous si 10 km ou moins comme exemple ci-dessus