2012-07-09 4 views
1

Мне нужно создать веб-приложение, чтобы изучить некоторые данные опроса, но я немного борюсь, чтобы найти нужные инструменты. PostGIS выглядит довольно интересно, но я не уверен, соответствует ли оно моим потребностям или, может быть, слишком великому.классификация соседства с postgis

Набор данных (таблица 1) содержит строки (события в Лос-Анджелесе) с пространственным атрибутом, то есть длинным/лат-полем. У меня есть другой набор данных (таблица 2), определяющий области в Los Angeles. Могу ли я сделать следующее в PostGIS?

  • ВЫБЕРИТЕ только данные из таблицы 1 из определенной области, определенной в таблице 2?
  • Табулируйте категориальную переменную по области? Например, подсчитать количество мужчин и женщин для каждой области?
  • Выполнение бининга числовой переменной по области? Например. чтобы получить распределение по возрасту, показать, сколько людей в каждой области имеют возраст [0-9], [10-19], [20-29] и т. д.?

Кроме того, было интересно, если это безопасно, чтобы иметь базу данных PostGIS непосредственно опрашивается с помощью JavaScript (с использованием в формате GeoJSON), или я должен всегда иметь прикладной уровень между ними (инъекции кода, и т.д.)?

ответ

0

Ответьте на свои вопросы: да, да и да. После установки PostGIS вы сможете сделать все это (при условии, что таблица 1 имеет эти атрибуты).

ВЫБЕРИТЕ только данные из таблицы 1 из определенной области, определенной в таблице 2?

  • Да, в нескольких манерах. Являются ли данные в таблице 2 определенными как полигоны, или это список точек? Список пунктов немного сложнее, но работает ... намного проще, если у вас есть полигоны. (После того, как смотреть на вашу ссылку, используйте файл формы (SHP).

Сведите категорический переменную области? Например, посчитать количество самцов и самок в каждой области?

  • Count в избранных пункт, компонент гео в ИНЕКЕ. до тех пор, пока существуют эти атрибуты в таблице 1, можно сделать эти отсчеты любым значением, которое вы хотите.

ли биннинга в числовую переменную по площади? Например, чтобы получить распределение возраста, показывают, сколько людей в каждой области имеют возраст [0-9], [10-19], [20-29] и т. д.?

  • Да, такой же ответ как выше. Для биннинга может потребоваться аргумент case, но пока вы можете группировать его, вы можете подсчитать его. хех

Не уверен, если я могу ответить на последний вопрос, хотя ...