ГИС, чтобы получить информацию для конкретного поля BB / уровня масштабирования - PullRequest
0 голосов
/ 09 октября 2011

Пожалуйста, не стесняйтесь исправлять любые пропущенные слова в этом посте, так как я не знаком в таких областях, я использую слова, насколько мне известно, но они, вероятно, ошибочны.

Так вотчто я хочу сделать:

Похищение детей и торговля ими - довольно серьезная проблема в Китае, мой друг говорил мне сегодня днем, идея отдельного приложения для iOS и Android, чтобы выполнить эту задачупользователи могут делать снимки, загружать вместе со своим местоположением GPS в базу данных, и приложение также может отображать информацию, содержащуюся в базе данных, в виде аннотаций на карте.

И мой вопрос:

В приложении, когда пользователь отправляет новое сообщение, которое включает в себя фотографии, местоположение GPS, любые заметки, в базу данных.

Затем мы переключаемся в режим просмотра карты, нам нужно будет получить информацию для текущего увеличенияполе level / bb, поэтому

как мне хранить эту информацию в БД, в каком формате?

и

естьлюбые инструменты с открытым исходным кодом, которые могут анализироватьинформация для данного поля BB / уровня масштабирования и вернуть XML-файл, чтобы я мог взять и использовать его для отображения информации?

- Я нашел GeoServer, есть ли более подходящие для моего использования?Мне действительно нужно это только для генерации XML-файлов на основе уровня поля bb / zoom.

Я бы предположил, что разместить инструмент (он называется геокодер?) В Google App Engine / Amazon Ec2 - самый идеальный вариантНе знаете много для БД, вероятно, Amazon Simple DB?

Спасибо!

1 Ответ

1 голос
/ 09 октября 2011

Существует ряд инструментов с открытым исходным кодом, которые могут помочь - вы можете, например, взглянуть на GeoDjango , которые могут использовать гео-базу данных PostGIS - но, честно говоря, для этого приложениявам ничего гео-специфического не нужно:

  • Вы будете получать GPS-координаты по широте / долготе, поэтому, вероятно, в вашей базе данных будет таблица с двумя столбцами, latitude и longitude.

  • Чтобы выполнить поиск ограничивающего прямоугольника, все, что вам нужно, - это минимум / максимум как для долготы, так и для широты (что сможет сделать любая веб-карта)дать вам).Как только вы это сделаете, почти любая база данных SQL будет поддерживать запрос, подобный следующему:

    SELECT * FROM records 
        WHERE latitude >= $min_lat 
            AND latitude <= $max_lat
            AND longitude >=  $min_lon
            AND longitude <= $max_lon;
    

    Это даст вам список записей, попадающих в ваш ограничивающий прямоугольник.

  • Теперь вы можете использовать любое промежуточное программное обеспечение, которое вам нравится - систему CMS, такую ​​как Django или Drupal, собственный скрипт PHP и т. Д. - для преобразования набора результатов в формат XML или JSON.

Географические базы данных делаютРеляционные базы данных не так-то просто сделать, например, найти точки в радиусе или точки в наборе многоугольников.Но вам это не нужно для вашего приложения - любая система с базовыми функциями запросов к базе данных должна дать вам то, что вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...