Tue 17 Mar 2009
3 - Finalmente, exibindo mapas…
Posted by admin under Asp.Net, C#, Desenvolvimento, GIS, Mapscript
1-Introdução
Nossa, já faz um certo tempo que não posto aqui, essa falta de tempo tá fod… , mas vamos ao que interessa, esse artigo será com certeza um dos mais esperados, pois mostra como exibir os mapas que nos armazenamos na nossa base de dados.
2-Preparando o arquivo .map
Primeiro vamos preparar o nosso arquivo .map, que nada mais é do que uma workspace, isto é, nele estará contido todos os layers que serão exibidos no nosso mapa, claro que poderíamos adicioná-los via código mas dessa maneira é mais simples.
*Início
MAP *
*Nome
NAME MAPACURSO
*Unidade a ser utilizada
UNITS METERS
*Extremidades do mapa (minx, miny, maxx, maxy)
EXTENT -85.133507 -34.727177 -21.249626 6.247749
*Definições para criação da legenda
LEGEND
IMAGECOLOR 255 255 255
STATUS ON
KEYSIZE 18 12
LABEL
TYPE BITMAP
SIZE MEDIUM
COLOR 0 0 89
END
END
*Início da definição do layer Brasil
LAYER
*Nome
NAME ‘Brasil’
*Tipo
TYPE POLYGON
*Tipo da conexão
CONNECTIONTYPE postgis
*String para conexão
CONNECTION “host=localhost user=postgres password=postgres dbname=gis_db”
*Select que trará os dados a serem exibidos
DATA ‘the_geom FROM brasil USING UNIQUE gid’
*Status ON, OFF e DEFAULT, se colocar off ele não aparece no mapa, até que se mude para ON
STATUS DEFAULT
*Definições de layout do layer
CLASS
STYLE
OUTLINECOLOR 0 0 255
END
END
END
*Fim
LAYER
NAME ‘SaoPaulo’
TYPE POLYGON
CONNECTIONTYPE postgis
CONNECTION “host=localhost user=postgres password=postgres dbname=gis_db”
DATA ‘the_geom FROM saopaulo USING UNIQUE gid’
STATUS DEFAULT
CLASS
STYLE
OUTLINECOLOR 210 140 140
END
END
END
END
Caso tenha interesse, você pode se aprofundar mais nas configurações possíveis de se realizar no mapfile no site http://mapserver.org/mapfile
3 – Codificando
Bem agora que estamos com nosso mapfile pronto, nos resta codificar o que for necessário para o mapserver interpreta-lo e exibir o mapa para nós.
O nosso primeiro site será bem simples, apenas um “web form” contendo um “image control”, que servira para exibir nosso mapa, veja abaixo :
Agora é só codificarmos
OSGeo.MapServer.mapObj map;
map = new OSGeo.MapServer.mapObj(“Caminho fisico do arquivo mapfile”);
map.width = 200; //Tamanho horizontal do mapa
map.height = 100; //Tamanho vertical do mapa
OSGeo.MapServer.imageObj img = map.draw();//Cria a imagem do mapa
img.save(“Caminho fisico, inclusive com o nome da imagem a ser gerada”, map);
Image1.ImageUrl = “url do caminho aonde a imagem foi salva”;
Bem, a grosso modo, é basicamente essas linhas acima que nos permitem exibir um mapa, claro que na hora de criar o projeto e codificar eu dei uma incrementada, portanto baixem o código fonte no link abaixo e vocês terão a solução completa desse artigo, vale lembrar que talvez seja necessário realizar algumas alterações no web.config.
Link para baixar o código fonte
E como resultado temos:


March 27th, 2009 at 1:52 pm
Rafael,
Parabéns pelos post’s. Acho muito digno socializar seus conhecimentos. Estamos no aguardo da continuação.
Grande Abraço,
Alexandre
March 27th, 2009 at 2:12 pm
Alexandre,
Obrigado!!
Precisando entre em contato.
Abraços
July 6th, 2010 at 6:39 pm
Buy:Acomplia.Female Pink Viagra.Nymphomax.Seroquel.Benicar.Lasix.Wellbutrin SR.Lipothin.Amoxicillin.Prozac.Female Cialis.Cozaar.Zetia.Advair.SleepWell.Zocor.Buspar.Aricept.Ventolin.Lipitor….
July 22nd, 2010 at 4:31 am
Buy:Accutane.Synthroid.Prednisolone.Lumigan.Retin-A.Petcam (Metacam) Oral Suspension.Zovirax.Prevacid.Valtrex.Actos.100% Pure Okinawan Coral Calcium.Zyban.Human Growth Hormone.Arimidex.Nexium.Mega Hoodia….