Como posso calcular médias de pontos espacialmente no QGIS?

9

Eu tenho um arquivo GPX com pontos de rastreamento e quero calcular a média espacial dos pontos para melhorar a precisão do recurso de pontos. Não posso simplesmente fazer um polígono e encontrar seu centróide, pois o número de pontos sobrepostos em um determinado local deve "ponderar" o resultado mais do que em outro local com poucos pontos. ie se o coletor de dados de campo permanecesse em um local por 2 minutos, eu deveria ter a maior parte dos pontos 'flutuando' em torno da provável localização do ponto, e ter dispersado os outliers em torno disso, calculando a média espacial de todos os pontos que os outliers estariam descontado em favor dos pontos agrupados na média .

Preciso fazer uma grade raster com pequena resolução e sobrepor meus pontos e depois contar os pontos em cada célula, ou existe um tipo de função de geoprocessamento mais fácil para simplesmente me dizer as coordenadas do centro (ou fazer um novo ponto) para o centro médio?

user25644
fonte
1
Eu sugiro que essa pergunta seja reaberta. A especificação sobre o descarte de outliers torna uma questão muito diferente do que simplesmente obter uma média de coordenadas de acordo com a pergunta e resposta vinculada.
Simbamangu
1
Você poderia compartilhar alguns dados de amostra? Ou, de outra forma, descreva quão extremos são os "discordantes"? Você tem algum dado GPS HDOP salvo?
Simbamangu 4/09/15

Respostas:

7
  1. Abra o painel da janela Processing Toolbox: menu Processing -> Toolbox
  2. Na parte inferior do painel da janela, ative a Interface avançada
  3. Na caixa de ferramentas de processamento -> algoritmos QGIS -> ferramentas de análise vetorial -> coordenadas médias.

Editar para descontar discrepantes: aqui está uma maneira de descontar discrepantes usando a ponderação de distância inversa. Nessa abordagem, os pontos que têm uma distância pequena e média de outros pontos terão um peso maior e mais influência na localização do ponto médio.

  1. Crie uma matriz de distância com estatísticas resumidas que descrevam as separações de pontos:

    • Caixa de ferramentas de processamento -> Algoritmos QGIS -> Ferramentas de análise vetorial -> Matriz de distância
    • Em tipo: Matriz de distância de resumo
    • Escolha o número de pontos que você acha que deve ser considerado. Um número maior até o número de pontos que você possui será mais preciso, mas levará mais tempo para calcular.
  2. Junte a matriz de distância à sua camada de pontos:

    • Clique com o botão direito na sua camada vetorial no painel da janela de camadas
    • Ir para propriedades
    • No lado esquerdo, escolha Junções
    • Pressione o sinal de mais verde na parte inferior para adicionar uma tabela
    • A camada de junção é a matriz de distância
    • O campo de junção e o campo de destino devem ser um identificador exclusivo, por exemplo, número da linha
  3. Uma vez unidas, calcule a distância inversa. Isso será usado para ponderar o ponto médio:

    • Abra a tabela de atributos da camada de pontos
    • Clique na calculadora de campo aberto
    • Nome do campo de saída: inv_dist (ou o que for)
    • Tipo de campo de saída: Número decimal (real)
    • Expressão: 1 / "Matriz de distância_MEAN"
    • aperte ok para calcular
  4. Execute coordenadas médias com distância média inversa como o campo de ponderação:

    • Caixa de ferramentas de processamento -> Algoritmos QGIS -> Ferramentas de análise vetorial -> Coordenadas médias
    • Camada de entrada é sua camada vetorial de pontos original
    • O campo de ponderação é inv_dist
    • bata ok

O resultado será um local médio em que os pontos que estão, em média, distantes de outros pontos terão sido descontados.

user55937
fonte
5

Primeiro, você não precisa fazer uma varredura e contar pontos para fazer isso. Você diz que seu objetivo é calcular um "centro médio". Se você quer dizer isso literalmente, deseja calcular um "centro médio", o que é feito calculando a média das coordenadas X para encontrar a média X e as coordenadas Y para encontrar a média Y. Isso é feito no QGIS com Vector→Analysis Tools→Mean Coordinates…. Se suas coordenadas estiverem em lotes distintos (pesquisa 1, pesquisa 2), mas contidas no mesmo arquivo de dados, você poderá designar um campo de ID exclusivo, e as coordenadas médias serão calculadas separadamente para cada grupo.

Você diz que está preocupado com discrepâncias. Se você deseja minimizar a influência de valores discrepantes, você pode calcular o centro médio , em vez do centro médio. No entanto, embora esse recurso esteja disponível no ArcGIS , ele não está disponível (no melhor de meu conhecimento) no QGIS (núcleo ou plug-ins). O cálculo do centro mediano, que representa o ponto com a distância de percurso agregada mínima a todos os outros pontos, é iterativo e pode ter mais de uma solução. Se você quiser fazer isso no QGIS, precisará programá-lo.

No entanto, com base na descrição do seu problema, acho que você pode esquecer o centro mediano e apenas calcular o centro médio com a ferramenta Coordenadas médias. Se você tiver vários pontos próximos ao centro "real" do seu local de interesse, eles tenderão a superar a atração de outliers únicos. Deve-se notar que 1) os valores não próximos da média não são necessariamente extremos e 2) a menos que os extremos sejam desviados em uma direção específica (por exemplo, os pontos recebem GPS em uma colina voltada para o leste e o pesquisador tende a deslizar para baixo / Este) , eles tenderão a cancelar e não influenciar a média.

Como uma demonstração curta e completamente não científica, um monte de pontos não aleatórios, posicionados em humanos, produzem um centro médio que parece que não é muito influenciado por alguns pontos distantes.

Tipo de pontos aleatórios e o Centro Médio

Lee Hachadoorian
fonte