RE: [Portugal] reprojeção em openlayers
Luis Calisto
luis.calisto at hotmail.com
Wed Apr 29 12:56:55 EDT 2009
Obrigado a todos pela ajuda.
Foi muito útil.
Cumprimentos a todos
Luis Calisto
> Subject: Re: [Portugal] reprojeção em openlayers
> From: lferreira75.1 gmail.com
> To: portugal lists.osgeo.org
> Date: Wed, 29 Apr 2009 00:45:23 +0100
>
> Olá Luís
>
> Também estou a partir a cabeça com Openlayers e Mapfish.
>
> Eu estou a usar a projecção epsg: 900913 Spherical Mercator para
> visualizar camadas do Google juntamente com outros dados.
>
> Junta à lista epsg do PROJ:
> <900913> +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs <>
>
> Projecta os teus dados, num serviço WMS ou WFS, para epsg: 900913.
>
> Depois, com Openlayers:
>
>
> //Definir Projecções
> var sphericalmercator = new OpenLayers.Projection("EPSG:900913");
>
> //maxExtent e restrictedExtent
> var sphericalmercatorbounds = new OpenLayers.Bounds(-992810.0031061, 4581630.1929423, -916168.19724106, 4650374.13191182);
>
> var scales = [100000, 50000, 25000, 10000, 5000, 1000, 500, 100];
>
> var resolutions = new Array(scales.length);
> for (i=0;i<scales.length;i++) {
> resolutions[i] = scales[i] / (OpenLayers.INCHES_PER_UNIT[39.3701] * OpenLayers.DOTS_PER_INCH);
> }
>
> var options = {
> scales: scales,
> projection: sphericalmercator,
> displayProjection: sphericalmercator,
> units: "m",
> numZoomLevels: 20,
> maxResolution: 'auto',
> maxScale: 1000000,
> /* minResolution: 'auto',*/
> maxExtent: sphericalmercatorbounds,
> restrictedExtent: sphericalmercatorbounds
> };
> -------------------------------------------------------------
> map = new OpenLayers.Map('center', options);
>
> var conc_grandola_dt73ipcc = new OpenLayers.Layer.WMS(
> "Concelho de Grândola",
> "http://proxy.xxx/cgi-bin/mapserv?",
> {map:'/var/www/mapserver/muda_wms.map',
> layers: 'conc_grandola_dt73ipcc',
> srs: 'EPSG:900913',
> format: 'image/png',
> transparent: true
> },
> {visibility:false,
> isBaseLayer: false,
> opacity: 0.4,
> noMagic: false
> }
> );
>
> Um abraço
>
> Luís Ferreira
>
> Ter, 2009-04-28 às 13:42 -0700, Gabriel Nolasco escreveu:
> > Professor José Alberto Gonçalves,
> >
> > Obrigado pelas correcções, é bom saber que há alguém atento às asneiras que se vão dizendo!
> >
> > Cumprimentos,
> > Gabriel Nolasco
> >
> >
> > Atenção a um pormenor que presumo possa levantar problemas: a projecção
> > usada pelo Google Maps é uma projecção de Mercator mas de uma esfera e não
> > de um elipsóide. A epsg:4326 também não é a de Mercator mas a sim a
> > projecção "latlong" (isto é, não projecção):
> >
> > # WGS 84
> > <4326> +proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs <>
> >
> >
> > A epsg:3395 ("World Mercator") é a projecção de Mercator do elipsóide e tem
> > a seguinte instrução do PROJ.4
> >
> > # WGS 84 / World Mercator
> > <3395> +proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84
> > +units=m +no_defs <>
> >
> >
> > A projecção usada pelo Google Maps deverá ser
> >
> > +proj=merc +R=6378137 +lon_0=0 +k=1 +x_0=0 +y_0=0 +units=m +no_defs
> >
> > Apesar de usar coordenadas (long,lat) no elipsóide WGS84 considera nas
> > fórmulas uma esfera (i.e. excentricidade zero) e não o elipsóide.
> >
> > Cumprimentos
> >
> > José A. Gonçalves
> >
> >
> > 2009/4/28 Gabriel Nolasco <nolasco_gabriel yahoo.com.br>
> >
> > > Olá Luis,
> > > Penso que não podes reprojectar a layer do goolge, tens sim que reprojectar
> > > os teus dados para projecção de Mercator (epsg:4326). Os resultados da
> > > sobreposição vão piorar à medida que os dados se afastam do equador.
> > >
> > > map = new OpenLayers.Map('map');
> > >
> > > var satellite = new OpenLayers.Layer.Google(
> > > "Google Satellite" , {type: G_SATELLITE_MAP}
> > > );
> > >
> > > var wms = new OpenLayers.Layer.WMS(
> > > "World Map",
> > > "http://world.freemap.in/cgi-bin/mapserv",
> > > {
> > > map: '/www/freemap.in/world/map/factbooktrans.map',
> > > transparent: 'TRUE',
> > > layers: 'factbook'
> > > },
> > > {'reproject': true}
> > > );
> > >
> > > map.addLayers([satellite, wms]);
> > >
> > > Podes ver vários exemplos em http://openlayers.org/dev/examples/
> > >
> > > Cumprimentos,
> > > Gabriel Nolasco
> > >
> > > --- Em *ter, 28/4/09, Luis Calisto <luis.calisto hotmail.com>* escreveu:
> > >
> > >
> > > De: Luis Calisto <luis.calisto hotmail.com>
> > > Assunto: [Portugal] reprojeção em openlayers
> > > Para: portugal lists.osgeo.org
> > > Data: Terça-feira, 28 de Abril de 2009, 15:42
> > >
> > >
> > > Tenho estado a trabalhar com o openlayers, actualmente estou a tentar fazer
> > > reprojecções entre coordenadas dentro do openlayers, alguem pode dar uma
> > > ajuda?
> > >
> > > Outra coisa que tenho tentado é reprojectar uma layer do Google de forma a
> > > poder sobrepor informação noutro sistema de coordenadas, uma vez que o
> > > google se encontra em wgs84 certo?
> > >
> > > Desde já obrigado por tudo.
> > >
> > > Luís Calisto
> >
> >
> >
> > Veja quais são os assuntos do momento no Yahoo! +Buscados
> > http://br.maisbuscados.yahoo.com
> > _______________________________________________
> > Portugal mailing list
> > Portugal lists.osgeo.org
> > http://lists.osgeo.org/mailman/listinfo/portugal
>
> _______________________________________________
> Portugal mailing list
> Portugal lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/portugal
_________________________________________________________________
Emoticons e Winks super diferentes para o Messenger. Baixe agora, é grátis!
http://specials.br.msn.com/ilovemessenger/pacotes.aspx
-------------- próxima parte ----------
Um anexo em HTML foi limpo...
URL: http://lists.osgeo.org/pipermail/portugal/attachments/20090429/02ccb7d3/attachment.html
More information about the Portugal
mailing list