2016-03-14 4 views
0

термы задачи:геопространственной поиск: различные радиусные рецепторы и неподвижная точечное событие

  • данные определенной точки на Земле, мы будем называть «точечное событие»
  • дается определенное количество других точек на Земли, мы будем называть «рецепторы»
  • , учитывая, что любой рецептор имеет круговую область вокруг него, с переменным радиусом мы будем называть «зону приема»
  • , учитывая, что радиус зоны приема может варьироваться в зависимости от набора дискретные размеры [1,10,20,50,100,200] миль

Я хочу рассчитать в линейном времени все рецепторы, имеющие зону приема, в которую входит точка события.

Поскольку кластеризация кажется решением, я хотел бы узнать, как это решение может решить различные решения, такие как MongoDB GeoSpatial, Postgree GIS, Mysql Geospatial и другие СУБД.

Нужно ли им использовать кластеризацию внутри?

В любом случае: Wich - лучшее решение для «из коробки» для решения этой проблемы?

ответ

1

Ответ на ваше «лучшее решение»? вопрос: «Это зависит».

Для SQL Server, хороший обзор пространственных особенностей данных является https://msdn.microsoft.com/en-us/library/bb933790.aspx

И отношение к вашему вопросу пространственные индексы: https://msdn.microsoft.com/en-us/library/bb895265.aspx

Для примера, приведенного, грубая идея состоит в том, чтобы сохранить тип географии для ваших рецепторов и EventPoint затем используйте функцию STContains в предложении where. https://msdn.microsoft.com/en-us/library/ff929274.aspx

Некоторые псевдо-SQL может быть:

DECLARE EventPoint Geography = ... 
SELECT * FROM Receptors R WHERE R.Receptor.STContains(EventPoint) 

Надежда это использования.

+0

Кажется, что ms sql реализует то, что мне нужно: пространственные индексы и тесселяции. То, что я отсутствовал, было конкретным термином. – zioMitch

 Смежные вопросы

  • Нет связанных вопросов^_^