Условная агрегация PostGIS - матрица наличия / отсутствия - PullRequest
1 голос
/ 17 октября 2019

У меня есть набор данных, похожий на следующий:

site_id, species
1,       spp1
2,       spp1
2,       spp2
2,       spp3
3,       spp2
3,       spp3
4,       spp1
4,       spp2

Я хочу создать такую ​​таблицу:

site_id, spp1,    spp2,    spp3,     spp4
1,       1,        0,        0,        0
2,       1,        1,        1,        0
3,       0,        1,        1,        0
4,       1,        1,        0,        0

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

Кроме того, при игре с этим запросом функция count () будет продолжать добавляться, поэтому я получу значения больше 1, когда в site_id присутствуют кратные числа одного и того же вида. В идеале я хочу двоичный вывод 1 или 0.

...