Mais

Removendo colunas em um SpatialPolygonsDataFrame em R?

Removendo colunas em um SpatialPolygonsDataFrame em R?


Meu quadro de dados de polígono espacial (SPDF) contém muitas colunas (variáveis) e desejo remover totalmente a maioria das colunas.

Eu sei como fazer isso com um quadro de dados regular em R, mas não tenho certeza de como fazer isso ao lidar com objeto da classe SpatialPolygonsDataFrame?


Use a sintaxenome_do_objeto [, - (1: 5)]para remover as colunas 1 a 5 ouobject_name [, - c (1,5)]para descartar as colunas 1 e 5. Veja o exemplo abaixo (com comentários):

require (maptools) #load shapefile do pacote maptools para fazer um exemplo reproduzível. xx <- readShapeSpatial (system.file ("shapes / sids.shp", package = "maptools") [1], IDvar = "FIPSNO", proj4string = CRS ("+ proj = longlat + ellps = clrk66")) classe (xx) #check the object class # [1] "SpatialPolygonsDataFrame" #attr (, "package") # [1] "sp" head (xx @ data, 3) #print as primeiras três linhas do slot 'data' AREA PERÍMETRO CNTY_ CNTY_ID NOME FIPS FIPSNO CRESS_ID BIR74 SID74 0,111 1,392 1,904 1,904 Alamance 37001 37001 1 4672 13 0,066 1,070 1,950 1,950 Alexander 37003 37003 2 1333 0 0,061 1,231 1,827 1,827 Alleghany 37005 37005 3 487 0 NWBIR74 BIR79 SID79 NWBIR79 1243 5767 11 1397 128 1683 2 150 10 542 3 12 xxx <- xx [, - (1: 5)] #remove colunas 1 a 5 cabeçalhos (xxx @ dados, 3) #imprimir o quadro de dados subconjunto FIPS FIPSNO CRESS_ID BIR74 SID74 NWBIR74 BIR79 SID79 NWBIR79 37001 37001 1 4672 13 1243 5767 11 1397 37003 37003 2 1333 0 128 1683 2 150 37005 37005 3 487 0 10 542 3 12

Para usar os nomes das colunas, você pode implementar a solução de Joris Meys aqui, que consiste em criar uma lista de nomes e usá-la para eliminar as colunas.

Por exemplo:

drop <- c ("AREA", "PERIMETER") # lista de nomes de coluna xxx <- xx [,! (names (xx)% in% drops)] #remove as colunas "AREA" e "PERIMETER"

Aqui está uma alternativa usando a função de seleção do pacotedplyr:

library (dplyr) SPDF @ data <- SPDF @ data%>% select (1, 3) #mantém a coluna 1 e a coluna 3 no objeto spdf.

O comando a seguir também funciona, mas você deve saber os números das colunas:

temp <-df [c (1: 6,99: 103)]

Existem vários formatos espaciais R diferentes para escolher. Sua escolha de formato será amplamente ditada pelo (s) pacote (s) e / ou função (ões) usados ​​em seu fluxo de trabalho. Uma divisão dos formatos e uso pretendido estão listados abaixo.

Formato de dados Usado com ... Usado no pacote ... Usado para… Comente
sf vetor sf, outros visualizar, manipular, consultar É provável que este se torne o novo padrão espacial em R. Também lerá de bancos de dados habilitados espacialmente, como postgresSQL.
raster raster raster, outros visualizar, manipular estatísticas espaciais Este é o formato raster mais versátil
SpatialPoints * SpatialPolygons * SpatialLines * SpatialGrid * vetor e raster sp, spdep Visualização, estatísticas espaciais Esses são formatos legados. spdep agora aceita objetos sf
ppp owin vetor Spatstat Análise / estatística de padrão de pontos N / D
Eu estou raster Spatstat Análise / estatística de padrão de pontos N / D
1 O formato espacial * inclui SpatialPointsDataFrame, SpatialPolygonsDataFrame, SpatialLinesDataFrame, etc…

Há uma tentativa de padronizar o formato espacial no ecossistema R, adotando um conjunto bem estabelecido de padrões espaciais conhecido como feições simples. Esse esforço resulta em um pacote desenvolvido recentemente chamado sf (Pebesma 2018). Portanto, é recomendável que você trabalhe em uma estrutura sf quando possível. No momento em que este livro foi escrito, a maior parte do básico as operações de manipulação e visualização de dados podem ser conduzidas com sucesso usando objetos espaciais sf.

Alguns pacotes, como spdep e spatstat, requerem tipos de objetos de dados especializados. Este tutorial destacará algumas funções de conversão úteis para essa finalidade.


Detalhes

A função precisa que todas as coordenadas sejam formalmente válidas de acordo com WGS84. Se os dados contiverem coordenadas inválidas, a função irá parar e retornar um vetor sinalizando os registros inválidos. TRUE = coordenada não problemática, FALSE = coordenadas potencialmente problemáticas.

capitais testa um raio em torno de capitais adm-0. O raio é capitals_rad.

centróides testa um raio em torno dos centróides do país. O raio é centroids_rad.

países testa se as coordenadas são do país indicado na coluna de país. Desligado por padrão.

duplica testes para registros duplicados. Isso verifica se há coordenadas idênticas ou se um vetor de espécie é fornecido para coordenadas idênticas dentro de uma espécie. Todos, exceto os primeiros registros, são marcados como duplicatas. Desligado por padrão.

testes iguais para longitude e latitude absolutas iguais.

O gbif testa um raio de um grau ao redor da sede do GBIF em Copenhagen, Dinamarca.

instituições testa um raio em torno de instituições de biodiversidade conhecidas de instituições. O raio é inst_rad.

outliers testa cada espécie para registros de outliers. Dependendo dos argumentos outliers_mtp e outliers.td ou sinaliza registros que estão a uma distância mínima de todos os outros registros desta espécie (outliers_td) ou registros que estão fora de um múltiplo da faixa interquartil de distâncias mínimas para o próximo vizinho desta espécie ( outliers_mtp). Três métodos diferentes estão disponíveis para o teste de outlier: "Se" outlier ", um método de boxplot é usado e os registros são marcados como outliers se seus significar a distância para todos os outros registros da mesma espécie é maior do que mltpl * o intervalo interquartil da distância média de todos os registros desta espécie. Se estiver “louco”, o desvio absoluto mediano é usado. Neste caso, um registro é sinalizado como outlier, se o significar a distância para todos os outros registros da mesma espécie é maior do que a mediana da distância média de todos os pontos mais / menos o mad das distâncias médias de todos os registros da espécie * mltpl. Se os registros de "distância" forem sinalizados como outliers, se o mínimo a distância para o próximo registro da espécie é & gt tdi.

intervalos testa se os registros estão dentro dos polígonos de intervalo natural fornecidos em uma base por espécie. Veja cc_iucn para detalhes.

mares testa se as coordenadas caem no oceano.

testes urbanos se as coordenadas são de áreas urbanas. Desligado por padrão

A validade verifica se as coordenadas correspondem a um sistema de referência de coordenadas lat / lon. Este teste está sempre ativado, uma vez que todos os registros precisam ser aprovados para qualquer outro teste ser executado.

zeros testa zeros simples, latitude e longitude iguais e um raio em torno do ponto 0/0. O raio é zeros.rad.


Dissolvendo fronteiras

Freqüentemente, descobrimos que temos muitos polígonos espaciais que representam a mesma informação. Por exemplo, digamos que você tenha um shapefile de polígono de escala muito fina dos Estados Unidos. Cada ilha ou polígono disjunto se tornará seu próprio polígono dentro do conjunto de dados maior. Vamos imaginar que você deseja extrair valores para um determinado estado - Alasca, por exemplo. Cada ilha das Aleutas terá seu próprio polígono e, portanto, ao resumir os dados, cada ilha terá sua própria média. Podemos contornar isso por dissolvendo limites baseados em atributos semelhantes. Basicamente, o recolhimento de vários polígonos em um único polígono.

Aqui, vamos dissolver as fronteiras estaduais para fazer um único polígono de fronteira dos Estados Unidos (48 inferiores). Usaremos o pacote rgeos para fazer isso. Certifique-se de instalá-lo.

Dentro do pacote rgeos, existem muitas funções espaciais úteis. Usaremos um caso especial da função gUnion para dissolver nossos limites de estado. Para dissolver, precisamos de um identificador comum em todos os polígonos que queremos "mesclar". O campo ISO é o mesmo para todos os polígonos. Usaremos isso para dissolver limites em um polígono.


1.4 Dados raster em R

Os arquivos raster, como você deve saber, têm uma estrutura de dados muito mais compacta do que os vetores. Por causa de sua estrutura regular, as coordenadas não precisam ser registradas para cada pixel ou célula na extensão retangular. Um raster é definido por:

  • um CRS
  • coordenadas de sua origem
  • uma distância ou tamanho de célula em cada direção
  • uma dimensão ou número de células em cada direção
  • uma matriz de valores de células

Dada essa estrutura, as coordenadas de qualquer célula podem ser calculadas e não precisam ser armazenadas.

O pacote raster 6 é uma extensão importante das classes de dados espaciais para acessar rasters grandes e, em particular, para processar arquivos muito grandes. Inclui classes de objeto para RasterLayer, RasterStacks e RasterBricks, funções para conversão entre essas classes e operadores para cálculos nos dados raster. A conversão de objetos do tipo sp em objetos do tipo raster é possível.

Se quiséssemos criar um objeto raster do zero, faríamos o seguinte:

Observe que este objeto raster tem um CRS definido! Se o argumento crs estiver faltando ao criar o objeto Raster, as coordenadas x estão entre -360 e 360 ​​e as coordenadas y estão entre -90 e 90, a projeção WGS84 é usada por padrão!

Para adicionar alguns valores às células, poderíamos o seguinte.

(Veja o pacote rasterVis para plotagem mais avançada de objetos Raster *.)

Os objetos RasterLayer também podem ser criados a partir de uma matriz.

E para ler um arquivo raster podemos usar a função raster (). Este raster é gerado como parte do site de campo NEON Harvard Forest.

Digitar o nome do objeto nos dará o que está lá:

Podemos descobrir mais sobre o Sistema de Referência de Coordenadas com isto:

Veja o que você pode fazer com esse objeto:

Podemos explorar a distribuição de valores contidos em nosso raster usando a função hist () que produz um histograma. Os histogramas costumam ser úteis na identificação de valores discrepantes e inválidos em nossos dados raster.

Observe que uma mensagem de aviso é produzida quando R cria o histograma.

Esse aviso é causado pelo valor máximo padrão de pixels de 100.000 associado à função hist. Este valor máximo é para garantir a eficiência do processamento à medida que nossos dados se tornam maiores! Podemos forçar a função hist a usar todos os valores da célula.

Às vezes, pode ser útil explorar metadados raster antes de carregá-los em R. Isso pode ser feito com:

Um conjunto de dados raster pode conter uma ou mais bandas. Podemos ver o número de bandas em um raster usando a função nlayers ().

Podemos usar a função raster () para importar uma única banda de um solteiro OU a partir de um multibanda raster. Para raster multibanda, podemos especificar em qual banda queremos ler.

Para trazer todas as bandas de um raster multibanda, usamos a função stack ().

O que acontece quando tramamos?

Se sabemos que é um raster RGB multibanda, podemos plotá-los todos em um

1.4.1 RasterStack vs RasterBrick

Os tipos de objeto R RasterStack e RasterBrick podem armazenar várias bandas. No entanto, como eles armazenam cada banda é diferente. As bandas em um RasterStack são armazenadas como links para dados raster localizados em algum lugar de nosso computador. Um RasterBrick contém todos os objetos armazenados no objeto R real. Como no RasterBrick, todas as bandas são armazenadas dentro do objeto real, seu tamanho de objeto é muito maior do que o objeto RasterStack.

Na maioria dos casos, podemos trabalhar com um RasterBrick da mesma forma que podemos trabalhar com um RasterStack. No entanto, um RasterBrick costuma ser mais eficiente e rápido de processar - o que é importante ao trabalhar com arquivos maiores.

Podemos transformar um RasterStack em um RasterBrick em R usando brick (StackName). Use a função object.size () para comparar objetos R de pilha e tijolo.

Voltando ao pacote sp, uma grade simples pode ser construída assim:

As coordenadas devem ser do tipo double e, caso contrário, serão promovidas.↩

GDAL suporta mais de 200 formatos raster e formatos vetoriais. Use ogrDrivers () e gdalDrivers () (sem argumentos) para descobrir quais formatos sua instalação rgdal pode manipular.↩

Ao contrário de read.csv, readOGR não entende o

como elemento válido de um caminho. Isso (no Mac) não funcionará: philly_sp & lt- readOGR (& quot

Observe que sp também permite trabalhar com estruturas raster. A classe GridTopology é o elemento-chave das representações raster. Ele contém: (a) o par de coordenadas centrais da célula raster sudoeste, (b) os dois tamanhos de células na métrica das coordenadas, dando a etapa para centros sucessivos, e (c) o número de células para cada dimensão . Também existe um objeto SpatialPixels que armazena a topologia da grade e as coordenadas dos pontos reais.↩


Detalhes

geomerge aceita qualquer número de entradas de dados das classes de dados espaciais mais comuns em R - SpatialPolygonsDataFrame, SpatialPointsDataFrame e RasterLayer. O destino ao qual eles são mesclados pode ter qualquer formato, mas deve ser um SpatialPolygonsDataFrame. A extensão de cada entrada de dados deve pelo menos corresponder à extensão do destino, caso contrário, o pacote retorna um aviso. A fim de realizar cálculos de área precisos em qualquer escala, geomerge projeta qualquer geometria de dados em WGS84. Os dados de entrada (incluindo o alvo) que não estão no WGS84 são reprojetados automaticamente.

geomerge assume que todas as entradas do tipo SpatialPolygonsDataFrame e RasterLayer são estáticas e contemporâneas. Se os polígonos ou raster estiverem mudando, recomendamos simplesmente executar novamente o geomerge para cada intervalo no qual os dados são estáticos e contemporâneos. O pacote permite a integração dinâmica de todas as entradas que são um SpatialPointsDataFrame, ou seja, pode-se, por exemplo, gerar automaticamente a contagem de eventos que ocorrem dentro de uma unidade específica de destino dentro de um período de tempo específico. Mais detalhes são fornecidos abaixo.

Se os dados SpatialPolygonsDataFrame forem unidos ao destino, eles devem conter apenas uma coluna com os dados de interesse. O pacote também aceita a especificação de variável abreviada usando a notação "$" padrão para denotar a seleção de uma variável específica do SpatialPolygonsDataFrame. RasterLayer são, por padrão, valor único. Esses dados podem ser de fator de classe ou numéricos.

Se SpatialPointsDataFrame forem unidos ao destino, eles devem ter uma coluna codificando a variável de interesse e, se os pontos contiverem carimbos de data / hora, as datas devem ser fornecidas em um carimbo de data / hora da segunda coluna e formatadas como uma string de data UTC com o formato "AAAA-MM-DD" ou " AAAA-MM-DD hh: mm: ss ".

Na prática, nossa lógica de entrada implica que se mais de uma variável de interesse deve ser mesclada para o destino, estaticamente ou dinamicamente, cada uma deve ser inserida separadamente como argumento. Observe que os nomes das variáveis ​​no destino derivam do nome dos dados de entrada e, portanto, é aconselhável usar rótulos significativos para os dados de entrada.

Ao mesclar os valores de SpatialPolygonsDataFrame às unidades de análise fornecidas pelo destino, os usuários podem escolher entre várias regras de atribuição diferentes com base na sobreposição de área e no tamanho da população. A atribuição baseada em área geralmente pode assumir os valores "max (área)" ou "min (área)", ou seja, o valor atribuído a uma determinada unidade no destino vem desse polígono no SpatialPolygonsDataFrame com sobreposição de área máxima ou mínima, respectivamente. Se o valor de interesse for de classe numérica, o usuário também pode escolher "ponderada (área)", ou seja, os valores são atribuídos como a média ponderada da área dos valores em todos os polígonos que cruzam uma determinada unidade no alvo.

As regras de atribuição "max (pop)", "min (pop)" e "ponderada (pop)" (o último novamente para variáveis ​​numéricas apenas) usam analogamente o valor da população dado por População.data em áreas sobrepostas como base para atribuição. Se algum deles for selecionado no argumento de atribuição, os usuários devem fornecer População.data como RasterLayer. A resolução geográfica de População.dados deve ser a mesma ou melhor do que a do destino. A estatística zonal usada para a população em polígonos sobrepostos é a soma.

Quando um SpatialPointsDataFrame é mesclado com o destino, uma das duas operações pode ser executada. Para point.agg = "cnt", a função calcula a soma do número de locais que caem em cada unidade de destino. Para variáveis ​​numéricas de interesse, point.agg = "sum" retorna a soma de todos os valores associados a pontos em cada unidade de destino. Se diferentes formatos de agregação devem ser aplicados a diferentes entradas SpatialPointsDataFrame, eles devem ser especificados como um vetor de caracteres, ou seja, point.agg = c ("soma", "cnt"), na ordem das entradas.

Os valores para entradas do tipo SpatialPointsDataFrame são calculados estaticamente em todo o quadro se time = NA ou dinamicamente dentro de um determinado período de tempo que pode ser especificado usando time = c (start_date, end_date, interval_length). Todas as três entradas devem ser Strings onde interval_length é definido em múltiplos de t_unit. O valor padrão é t_unit = "dias", o pacote também aceita entradas de "segundos", "minutos", "horas", "meses" ou "anos".

As estatísticas zonais são aplicadas a objetos da classe RasterLayer que são unidos ao destino. As operações específicas são definidas na chamada de função usando o argumento zonal.fun e cada uma é adicionada ao resultado. Todas as estatísticas zonais compatíveis com a função de extração em raster são aceitas. Observe que geomerge não aceita pilhas raster. Se você tiver pilhas raster, elas devem ser separadas e as camadas integradas separadamente na função.

Se spat.lag = TRUE as defasagens espaciais de todas as variáveis ​​numéricas de um SpatialPolygonsDataFrame ou RasterLayer unido aos polígonos de destino são retornados usando matrizes de pesos vizinhos de primeira e também de segunda ordem. O pacote atribui aos polígonos alvo o valor médio das unidades em cada bairro. Quando a agregação de ponto dinâmico é executada e time.lag = TRUE, geomerge retorna os valores de cada polígono alvo, bem como suas médias de unidades vizinhas de primeira e segunda ordem, separadamente, no tempo t-1 e t-2 definido por intervalo no hora da discussão.


Removendo colunas em um SpatialPolygonsDataFrame em R? - Sistemas de Informação Geográfica

Mostrando 21 arquivos alterados com 182 adições e 68 exclusões.

@@ -1,13 +1,14 @@
% Gerado por roxygen2 (4.1.0): não edite manualmente
% Edite a documentação em R / Data_helps.R
docType
nome
alias
nome
alias
título
usage <
dados (iucn)
dados (IUCN)
>
descrição <
Resultado da função code < link > aplicada aos gêneros de rãs da América do Sul Phyllomedusa em 2014.
Resultado da função code < link >
aplicado aos gêneros de rãs da América do Sul Phyllomedusa em 2014.
>

Ops, algo deu errado. Tentar novamente

0 comentários no commit 54314ae

Você não pode realizar essa ação neste momento.

Você fez login com outra guia ou janela. Recarregue para atualizar sua sessão. Você saiu em outra guia ou janela. Recarregue para atualizar sua sessão.


Obtenção de dados espaciais

  • mapas dentro de pacotes R (como mapdata e oz)
  • Shapefiles ESRI
  • Google ou outra API de mapeamento baseada em nuvem

Característica mapdata
Aust. Estados Não
Aust. Ilhas sim

Mapas e dados de mapas pacotes - mapas do mundo

Os mapas pacote contém dados de mapeamento mundial, bem como rotinas para exibir mapas de países, regiões, etc. Os dados são armazenados e acessados ​​por meio de um banco de dados simples. Versões de alta resolução desses bancos de dados são fornecidas por um pacote adicional (mapdata) e rotinas compatíveis para converter entre diferentes projeções de mapeamento são fornecidas pelo mapproj pacote.

Ao converter a extração do banco de dados (mapa) em uma classe espacial sp, uma gama mais ampla de opções de manipulação e exibição estão disponíveis.

  • xaxs = "i" - indica que os limites do eixo x devem caber no intervalo ou limites de dados ainda (usando xlim). Isso substitui o comportamento padrão para estender os limites em 4%. Embora definir este parâmetro tenha poucas consequências para o exemplo acima, ele fornece o controle mais preciso necessário para mapas mais complexos.
  • yaxs = "i" - como para xaxs
  • asp = 1 - define a proporção do dispositivo para 1: 1 garantindo que a latitude e a longitude sejam exibidas na mesma escala.

Observe que, embora as versões de alta resolução tenham obtido muitas das principais massas de terra do mundo e, na verdade, muitas das principais ilhas (incluindo as principais ilhas australianas), elas são realmente úteis apenas em mapas de grande escala. Por si só, as formas das ilhas são normalmente de resolução insuficiente. Por exemplo, a figura a seguir mostra Magnetic Island (uma excelente ilha na costa de Townsville no norte de Queensland). Compare isso com as outras representações desta ilha ao longo deste tutorial.

Arquivos de forma ESRI

  • vetor - representando recursos como pontos, linhas e polígonos. O formato mais popular é a especificação aberta shapefile
  • raster
  • .shp - o formato da forma - armazena as formas geométricas reais (pontos, linhas, polígonos)
  • .shx - o formato do índice da forma - armazena os índices das formas para uma pesquisa rápida
  • .dbf - o formato do atributo de forma - armazena os atributos de cada forma (como nomes, fonte de dados, dados climáticos associados, etc.)
  • .prj - o formato de projeção - as coordenadas e informações de projeção. Este arquivo é opcional.
  • shapefiles - fornece funções de baixo nível para ler e escrever shapefiles coletivos (read.shapefile, write.shapefile) ou os arquivos de componentes individuais (por exemplo, read.shp). Os dados importados são armazenados como listas e existem rotinas para conversão em data.frames simples (convert.to.simple ())
  • maptools - entre outras coisas, fornece wrappers que combinam as funções de baixo nível dentro de shapefiles com ferramentas de conversão para permitir que os shapefiles sejam armazenados em uma das classes de dados espaciais sp.
Trabalhando exclusivamente com o arquivo shp

Embora os shapefiles ESRI (a compilação de arquivos conforme definido acima), só sejam totalmente completos quando você trabalhar com todos os arquivos, se a indexação, os atributos e as informações de projeção não forem necessários, é possível apenas ler no * .shp (formato ) Arquivo.

Converter um shp em um quadro de dados simples

Lendo shp diretamente em uma classe espacial

Também existe uma função (readShapeSpatial ()) que lê arquivos .shp diretamente em um objeto de classe SpatialPolygons.

Lendo arquivos de forma em um SpatialPolygonsDataFrame

Para tirar o máximo proveito de todos os atributos e informações de projeção contidos no shapefile coletivo, há também o read.shapefile () função. O nome do arquivo passado para esta função não deve incluir uma extensão. Em vez disso, a função procurará todos os componentes do arquivo de forma (arquivos individuais) com o nome fornecido.

O read.shapefile () função lê cada um dos componentes em itens separados de uma lista que, por sua vez, pode ser usada para definir os objetos SpatialPolygons e SpatialPolygonsDataFrame que capturam todas as informações do arquivo de forma dentro de uma classe de dados espaciais.

Os dados geográficos primários coletados como parte da atividade de pesquisa são normalmente coletados de uma variedade de dispositivos (como GPS de mão, GPS montado em animal, imagens geocodificadas ou registradores de dados). Cada um provavelmente terá formatos diferentes de exibição, armazenamento e transferência.

Dois dos formatos comuns de armazenamento de dados espaciais são shapefiles (veja acima) e arquivos de texto simples. Normalmente, o último incluiria uma linha para cada ponto e, no mínimo, incluiria colunas de latitude e longitude.

  • trilhas coletadas como uma série de waypoints do caminho por meio de um GPS portátil e armazenadas como um arquivo de forma na projeção UTM.
  • uma coleção de correções em um coala individual ao longo de um período de 45 dias, inseridas em um caderno de campo e posteriormente transcritas em uma planilha (e exportadas como um arquivo de texto csv).

Outros pacotes específicos da região - por exemplo onça

A onça pacote fornece o litoral e os estados da Austrália (sem as ilhas). Embora obviamente isso seja relevante apenas para mapear a Austrália, está incluído como outro exemplo de um pacote que fornece os dados e funções para traçar localizações geográficas.

Mapeamento - minhas camadas de mapa (recicladas de Glenn De'ath)

Esta é uma coleção de dados muito específicos que se concentra predominantemente em características geográficas e de gestão relevantes para a Grande Barreira de Corais. Cada um desses recursos é capturado em camadas de mapeamento separadas.

As camadas são todas SpatialPolygons e, portanto, podem ser plotadas usando as rotinas que vêm com o sp e associado pacotes. Também é possível fortalecer esses objetos espaciais para plotagem dentro da estrutura do ggplot.

Queensland

A camada queensland compreende a fronteira estadual e a costa do estado de Queensland, bem como a maioria de suas ilhas.

A camada gbr compreende todos os recifes da Grande Barreira de Corais.

Bacia

A camada da bacia compreende as principais bacias de drenagem de captação associadas ao litoral adjacente à Grande Barreira de Corais.

Whagbr

A camada whagbr compreende as principais bacias de drenagem de captação associadas ao litoral adjacente à Grande Barreira de Corais.

Biorregião

A camada biorregional compreende as principais biorregiões associadas à Grande Barreira de Corais.

Zoneamento

A camada de zoneamento compreende o principal zoneamento associado à Grande Barreira de Corais.

A camada nrm compreende as principais regiões nrm (Gestão de Recursos Naturais) associadas à Grande Barreira de Corais.

Imagens raster - planos de fundo do mapa

Clique nas imagens para ativar e desativar o código subjacente.

Ggmap

O ggmap pacote estende o RgoogleMaps pacote fornecendo uma interface para imagens raster de origem de Open Source Maps (OSM) e Stamen (mapas artísticos) e, em seguida, exibindo os mapas em uma estrutura ggplot.


Pašalinami stulpeliai iš „SpatialPolygonsDataFrame“ R?

Mano erdvinio daugiakampio duomenų rėmelyje (SPDF) yra per daug stulpelių (kintamųjų), ir aš noriu visiškai pašalinti stulpelius.

Aš žinau, kaip tai padaryti naudojant įprastą duomenų rėmelį R, bet nesu įsitikinęs, kaip tai padaryti, kai dirbama su „SpatialPolygonsDataFrame“ klasės objektu?

Naudokite sintaksę nome_do_objeto & lsqb, - (1: 5) & rsqb pašalinti stulpelius nuo 1 iki 5 arba nome_do_objeto & lsqb, -c (1,5) & rsqb mesti 1 ir 5 stulpelius. Žr. toliau pateiktą pavyzdį (su komentarais):

Norėdami naudoti stulpelių pavadinimus, čia galite įdiegti Jorio Meyso sprendimą, kuris susideda iš vardų sąrašo sukūrimo ir jo panaudojimo stulpeliams mesti.

Čia yra viena alternatyva, naudojant pasirinkimo funkciją iš paketo dplyr:

  • 3 Tai jaudina mane naudojant „@data“ lizdą naudojant paketus ar funkcijas, kurios nėra specialiai sukurtos erdviniams objektams. Štai kodėl yra speciali sujungimo versija. Pagrindinė sujungimo versija prisuka eilučių pavadinimus ir nutraukia santykius tarp atributų ir funkcijų.

Ši komanda taip pat daro triuką, aposta jūs turite žinoti savo stulpelių numerius:


2.6 Exercícios

  1. Use summary () na coluna de geometria do objeto de dados mundial. O que a saída nos diz sobre:
    • Seu tipo de geometria?
    • O número de países?
    • Seu sistema de referência de coordenadas (CRS)?
  2. Execute o código que "gerou" o mapa-múndi na Figura 2.5 no final da Seção 2.2.4. Encontre duas semelhanças e duas diferenças entre a imagem no seu computador e a do livro.
    • O que o argumento cex faz (veja? Plotagem)?
    • Por que cex foi definido como sqrt (world $ pop) / 10000?
    • Bônus: experimente diferentes maneiras de visualizar a população global.
  3. Use plot () para criar mapas da Nigéria no contexto (consulte a Seção 2.2.4).
    • Ajuste os argumentos lwd, col e expandBB de plot ().
    • Desafio: leia a documentação do text () e anote no mapa.
  4. Crie um objeto RasterLayer vazio chamado my_raster com 10 colunas e 10 linhas. Atribua valores aleatórios entre 0 e 10 para o novo raster e plote-o.
  5. Leia o arquivo raster / nlcd2011.tif do spDataLarge pacote. Que tipo de informação você pode obter sobre as propriedades deste arquivo?

Lembrete: as soluções podem ser encontradas online em https://geocompr.github.io

Referências

Bivand, Roger, Tim Keitt e Barry Rowlingson. 2018. Rgdal: Ligações para a Biblioteca de Abstração de Dados 'Geospatial'. https://CRAN.R-project.org/package=rgdal.

Bivand, Roger e Colin Rundel. 2018. Rgeos: Interface para Geometry Engine - Open Source ('Geos'). https://CRAN.R-project.org/package=rgeos.

Gillespie, Colin e Robin Lovelace. 2016 Efficient R Programming: A Practical Guide to Smarter Programming. O’Reilly Media.

Grolemund, Garrett e Hadley Wickham. 2016 R para ciência de dados. O’Reilly Media.

Maling, D. H. 1992. Sistemas de coordenadas e projeção cartográfica. Segundo. Oxford New York: Pergamon Press.

Pebesma, Edzer. 2018. “Recursos simples para R: suporte padronizado para dados vetoriais espaciais.” The R Journal.

Pebesma, Edzer e Roger Bivand. 2018. Sp: Classes e métodos para dados espaciais. https://CRAN.R-project.org/package=sp.

Pebesma, Edzer, Thomas Mailund e James Hiebert. 2016. “Unidades de medição em R.” The R Journal 8 (2): 486–94.

spDataLarge não está no CRAN, o que significa que deve ser instalado via Remotos ou com o seguinte comando: install.packages ("spDataLarge", repos = "https://nowosad.github.io/drat/", type = "source"). ↩︎

A origem a que nos referimos, representada em azul na Figura 2.1, é na verdade a origem "falsa". A origem 'verdadeira', o local em que as distorções são mínimas, está localizado a 2 ° W e 49 ° N. Isso foi selecionado pelo Ordnance Survey para estar aproximadamente no centro da massa de terra britânica longitudinalmente. ↩︎

O padrão OGC completo inclui tipos de geometria bastante exóticos, incluindo tipos de geometria de 'superfície' e 'curva', que atualmente têm aplicação limitada em aplicações do mundo real. Todos os 17 tipos podem ser representados com o sf pacote, embora (a partir do verão de 2018) a plotagem funcione apenas para o ‘núcleo 7 ’.↩︎

plot () ing de sf objetos usa sf. plot.sf () nos bastidores. plot () é um método genérico que se comporta de maneira diferente dependendo da classe do objeto que está sendo plotado.↩︎

Nota: muitos argumentos de plot são ignorados em mapas de facetas, quando mais de uma coluna sf é plotada.↩︎

Por definição, um polígono tem um limite externo (anel externo) e pode ter zero ou mais limites internos (anéis internos), também conhecidos como orifícios. Um polígono com um orifício seria, por exemplo, POLYGON ((1 5, 2 2, 4 1, 4 4, 1 5), (2 4, 3 4, 3 3, 2 3, 2 4)) ↩︎

Outros atributos podem incluir uma categoria de urbanidade (cidade ou vila), ou uma observação se a medição foi feita usando uma estação automática.↩︎

Dependendo do formato do arquivo, o cabeçalho é parte do arquivo de dados da imagem real, por exemplo, GeoTIFF, ou armazenado em um cabeçalho extra ou arquivo mundial, por exemplo, formatos de grade ASCII. Existe também o formato raster binário sem cabeçalho (plano) que deve facilitar a importação para vários programas de software. ↩︎

O grau de compressão é frequentemente referido como achatamento, definido em termos de raio equatorial ( (a )) e raio polar ( (b )) como segue: (f = (a - b) / a ). Os termos elipticidade e compressão também pode ser usado. Porque (f ) é um valor bastante pequeno, os modelos de elipsóide digital usam o "achatamento inverso" ( (rf = 1 / f )) para definir a compressão da Terra. Os valores de (a ) e (rf ) em vários modelos elipsoidais podem ser vistos executando sf_proj_info (type = "ellps") .↩︎


Assista o vídeo: PYTHON 28 - Operações entre colunas do DataFrame