[R-br] como identificar pontos no mapa

Natalia Martins nsmbarreto em gmail.com
Quinta Agosto 23 14:42:56 BRT 2012


Primeiramente o objetivo  é escolher dentro do estado do parana apenas as
estações que estao dentro de uma mesoregiao, para isso eu gostaria de
identifica-las.

Os comandos sao os seguintes:

list=ls())
>
> ## lendo os dados
> dados <- read.csv("E:/natalia/Dados-tratados_PR.csv", head=T , sep=";")
> head(dados)
  idestacao       data latitude longitude tmin tmax precipitacao umidade
vento
1         1 2000-02-18 -24.3209  -54.0111 16.2 29.1          1.7    70.2
4.5
2         1 2000-02-19 -24.3209  -54.0111 17.8 29.1          0.0    66.2
3.7
3         1 2000-02-20 -24.3209  -54.0111 18.1 31.0          0.0    73.5
4.1
4         1 2000-02-21 -24.3209  -54.0111 19.6 27.1         36.3    85.5
4.7
5         1 2000-02-22 -24.3209  -54.0111 19.3 29.5          8.7    86.5
3.4
6         1 2000-02-23 -24.3209  -54.0111 20.4 32.4          3.3    81.4
2.6
  radsol
1   29.7
2   28.1
3   23.5
4   19.6
5   20.4
6   21.6
> str(dados)
'data.frame':   505476 obs. of  10 variables:
 $ idestacao   : int  1 1 1 1 1 1 1 1 1 1 ...
 $ data        : Factor w/ 4434 levels "2000-02-18","2000-02-19",..: 1 2 3
4 5 6 7 8 9 10 ...
 $ latitude    : num  -24.3 -24.3 -24.3 -24.3 -24.3 ...
 $ longitude   : num  -54 -54 -54 -54 -54 ...
 $ tmin        : num  16.2 17.8 18.1 19.6 19.3 20.4 20.7 21.3 22 21.5 ...
 $ tmax        : num  29.1 29.1 31 27.1 29.5 32.4 32.7 32.6 32.7 33.5 ...
 $ precipitacao: num  1.7 0 0 36.3 8.7 3.3 6.4 0 0.6 2.8 ...
 $ umidade     : num  70.2 66.2 73.5 85.5 86.5 81.4 76.8 77 79.3 75.7 ...
 $ vento       : num  4.5 3.7 4.1 4.7 3.4 2.6 2.7 3.5 3.7 3.9 ...
 $ radsol      : num  29.7 28.1 23.5 19.6 20.4 21.6 23.2 21.1 18.8 23.4 ...
>
> ## escolhendo as estações
> require(foreign)
> require(geoR)
> require(maptools)
> require(MASS)
>
> geo = data.frame(dados$idestacao,dados$latitude,dados$longitude)
> head(geo)
  dados.idestacao dados.latitude dados.longitude
1               1       -24.3209        -54.0111
2               1       -24.3209        -54.0111
3               1       -24.3209        -54.0111
4               1       -24.3209        -54.0111
5               1       -24.3209        -54.0111
6               1       -24.3209        -54.0111
>
> dadosgeo <- as.geodata(geo,coords.col=c(3,2),data.col=1)
as.geodata: 505362 replicated data locations found.
 Consider using jitterDupCoords() for jittering replicated locations.
WARNING: there are data at coincident or very closed locations, some of the
geoR's functions may not work.
 Use function dup.coords() to locate duplicated coordinates.
 Consider using jitterDupCoords() for jittering replicated locations
> plot(dadosgeo, low=T)
>
> points(dadosgeo, pt.divide="equal", xlab="Longitude",
col="red",ylab="Latitude")
> meso = readShapePoly("E:/natalia/41ME2500G.shp")
> estado = readShapePoly("E:/natalia/41UF2500G.shp")
> polygon(estado em polygons[[1]]@Polygons[[1]]@coords)
> polygon(meso em polygons[[4]]@Polygons[[1]]@coords)
> identify(dadosgeo)
Erro em xy.coords(x, y) :
  'x' is a list, but does not have components 'x' and 'y'




Em 23 de agosto de 2012 14:04, Paulo Justiniano <paulojus em leg.ufpr.br>escreveu:

> Natalia melhor especificar melhor o que quer e como está fazendo
>
> Os ID para serem especifidados no mapa devem ser os nomes das linhas (e
> nao uma variável do data-frame, porem dem ser unicos
>
> Mas se voce quer contar quantos pontos em cada área
> mostre como está usando isto
>
> pode usar sp::over() para objetos Spatial
> ou geoR::.geoiR_inout() para matrizes de coordenadas
>
> Mostre os comandos
>
>
> On Thu, 23 Aug 2012, Natalia Martins wrote:
>
>  Não funcionou..continua com o mesmo erro.
>>
>> Em 22 de agosto de 2012 20:23, Eder David Borges da Silva <
>> eder em leg.ufpr.br> escreveu:
>>       Esqueci...pelo seu código parece que precisa saber se o pontos
>> estão ou não dentro de polygonos, se sim:
>>
>> a função .geoR_inout() pode te ajudar que no fundo ela chama a overlay do
>> pacote sp.
>> Att
>>
>> Em 22 de agosto de 2012 18:59, Natalia Martins <nsmbarreto em gmail.com>
>> escreveu:
>>       Boa noite pessoal,
>> estou tentando identificar uns pontos em um mapa.
>> Os comandos que utilizei são os seguintes:
>>
>> geo = data.frame(dados$idestacao,**dados$latitude,dados$**longitude)
>> head(geo)
>>   dados.idestacao dados.latitude dados.longitude
>> 1               1       -24.3209        -54.0111
>> 2               1       -24.3209        -54.0111
>> 3               1       -24.3209        -54.0111
>> 4               1       -24.3209        -54.0111
>> 5               1       -24.3209        -54.0111
>> 6               1       -24.3209        -54.0111
>>
>> dadosgeo <- as.geodata(geo,coords.col=c(3,**2),data.col=1)
>> points(dadosgeo)
>> meso = readShapePoly("E:/natalia/**41ME2500G.shp")
>> estado = readShapePoly("E:/natalia/**41UF2500G.shp")
>> polygon(estado em polygons[[1]]@**Polygons[[1]]@coords)
>> polygon(meso em polygons[[4]]@**Polygons[[1]]@coords)
>> identify(dadosgeo)
>> mas quando peço a identificação aparece o seguinte erro:
>> 'x' is a list, but does not have components 'x' and 'y'
>>
>> Não entendi onde estou errando, no entanto quando pedi pra ver meus
>> dadosgeo vi que eles tem apenas  as  idestacao, as
>> quais deveriam ser identificada no mapa.
>>
>> Muito obrigada.
>>
>> Natália da Silva Martins
>> Bacharel em Estatística - Universidade Estadual de Maringá/ UEM
>> Mestranda em Estatística e Experimentação Agronômica - ESALQ/ USP
>> Contato: (19) 8306-4743
>>
>>
>>
>> ______________________________**_________________
>> R-br mailing list
>> R-br em listas.c3sl.ufpr.br
>> https://listas.inf.ufpr.br/**cgi-bin/mailman/listinfo/r-br<https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br>
>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-**guia<http://www.leg.ufpr.br/r-br-guia>)
>> e forneça código mínimo reproduzível.
>>
>>
>>
>> ______________________________**_________________
>> R-br mailing list
>> R-br em listas.c3sl.ufpr.br
>> https://listas.inf.ufpr.br/**cgi-bin/mailman/listinfo/r-br<https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br>
>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-**guia<http://www.leg.ufpr.br/r-br-guia>)
>> e forneça código mínimo reproduzível.
>>
>>
>>
>>
>> --
>>
>> Natália da Silva Martins
>> Bacharel em Estatística - Universidade Estadual de Maringá/ UEM
>> Mestranda em Estatística e Experimentação Agronômica - ESALQ/ USP
>> Contato: (19) 8306-4743
>>
>>
>>
>>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> código mínimo reproduzível.
>



-- 

Natália da Silva Martins
Bacharel em Estatística - Universidade Estadual de Maringá/ UEM
Mestranda em Estatística e Experimentação Agronômica - ESALQ/ USP
Contato: (19) 8306-4743
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20120823/10964ab7/attachment.html>


Mais detalhes sobre a lista de discussão R-br