2010-11-19 44 views
1

Je voudrais créer un GeoPoint aléatoire à moins de 50 pieds d'un GeoPoint donné. (À l'aide de SQL Server 2008 ou IPhone SDK)Créer aléatoirement un géopoint à moins de 50 pieds d'un géopoint donné (SQL spatial)

Puis-je simplement ajouter un nombre à la longueur & lat pour créer ce géopoint aléatoire?

Exemple:

mylatdistance = Random(1,50) newlat = lat + mylatdistance 

ou

Est-ce un problème SQL/zone spatiale?

Merci

+0

Quelle distribution voulez-vous? Uniformément placé n'importe où dans un cercle de rayon de 50 pieds? –

+0

Juste une pensée; sur l'iphone pouvez-vous utiliser la réciproque de la distance d'obtenir entre deux points de la fonctionnalité pour obtenir une distance de distance X? – KevinDTimm

+0

Marque-Tout point unique dans + -50 pieds de rayon. – ActionFactory

Répondre

1

Cette approche devrait travailler, aussi longtemps que vous redimensionnez les valeurs delta_longitude par un facteur de 1/cos (latitude), depuis le 1 degré de latitude est égale à seulement 1 degré de longitude à l'équateur. Si vous n'effectuez pas cette mise à l'échelle, votre ensemble aléatoire de points sera plus "écrasé" dans la dimension de longitude lorsque votre point central s'éloignera de l'équateur.

+0

Je vois. Merci Jim. Donc, je peux traiter cela comme un problème mathématique plus simple - si je redimensionne la longitude pour compenser la courbure. Gr8 Conseils. THX – ActionFactory