{"id":360,"date":"2007-11-12T06:00:45","date_gmt":"2007-11-12T09:00:45","guid":{"rendered":"http:\/\/www.fernandoquadro.com.br\/html\/2007\/11\/12\/kml-no-mapserver\/"},"modified":"2016-07-14T17:44:09","modified_gmt":"2016-07-14T20:44:09","slug":"kml-no-mapserver","status":"publish","type":"post","link":"https:\/\/www.fernandoquadro.com.br\/html\/2007\/11\/12\/kml-no-mapserver\/","title":{"rendered":"KML no MapServer"},"content":{"rendered":"<p>Nesta semana, eu precisei implementar algumas fun\u00e7\u00f5es em um projeto de um WebGIS, e dentre elas, uma era a gera\u00e7\u00e3o de KML a partir das layers de um dado cat\u00e1logo.<\/p>\n<p>Para gerar o KML eu precisava fazer uma requisi\u00e7\u00e3o WMS ao servidor de mapas e passar como <a href=\"http:\/\/www.fernandoquadro.com.br\/html\/2007\/09\/05\/formatos-de-saida-do-geoserver\/\" target=\"_blank\">formato<\/a> o KML. Eu ingenuamente pensei que era assim tanto pro GeoServer quanto pro MapServer, mas eu estava enganado. <\/p>\n<p>Ent\u00e3o fui descobrir que o MapServer n\u00e3o tem suporte nativo ao KML, mas pesquisando descobri que <a href=\"http:\/\/www.itopen.it\/soluzioni\/kml-map-server\/\" target=\"_blank\">Alessandro Pasotti<\/a> criou um m\u00f3dulo que adicionado ao MapServer faz ele ent\u00e3o dar suporte a este formato de sa\u00edda. <\/p>\n<p>Por\u00e9m isso n\u00e3o resolveu meu problema, pois mesmo que esse m\u00f3dulo fosse adicionado ao MapServer no meu servidor de produ\u00e7\u00e3o, apenas os temas que estivessem no meu MapServer estariam com esse suporte, por\u00e9m eu n\u00e3o conseguiria garantir que as chamadas a WMS externos tamb\u00e9m tivessem esse suporte.<\/p>\n<p>Ent\u00e3o a solu\u00e7\u00e3o que chegamos foi a seguinte:<\/p>\n<p>[source language=&#8221;:XML&#8221;]<br \/>\n&lt;?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot;?&gt;<br \/>\n&lt;!DOCTYPE kml SYSTEM &quot;users.dtd&quot;&gt;<br \/>\n&lt;kml xmlns=&quot;http:\/\/earth.google.com\/kml\/2.1&quot;&gt;<br \/>\n&lt;Document&gt;<br \/>\n\t&lt;name&gt;KML&lt;\/name&gt;<br \/>\n\t&lt;description\/&gt;<br \/>\n\t&lt;GroundOverlay&gt;<br \/>\n\t\t&lt;name&gt;Background&lt;\/name&gt;<br \/>\n\t\t&lt;description\/&gt;<br \/>\n\t\t&lt;color&gt;7dffffff&lt;\/color&gt;<br \/>\n\t\t&lt;icon&gt;<br \/>\n\t\t\t&lt;href&gt;http:\/\/seamap.env.duke.edu:80\/ogc\/?Format=image\/png&amp;amp;request=GetMap&amp;amp;layers=Background&amp;amp;width=935&amp;amp;height=677&amp;amp;version=1.1.1&amp;amp;styles=&lt;\/href&gt;<br \/>\n\t\t\t&lt;viewRefreshMode&gt;onStop&lt;\/viewRefreshMode&gt;<br \/>\n\t\t\t&lt;viewBoundScale&gt;1&lt;\/viewBoundScale&gt;<br \/>\n\t\t&lt;\/icon&gt;<br \/>\n\t\t&lt;LatLonBox&gt;<br \/>\n\t\t&lt;north&gt;-26.117497919999998&lt;\/north&gt;<br \/>\n\t\t&lt;south&gt;-48.41737&lt;\/south&gt;<br \/>\n\t\t&lt;east&gt;-23.494365797988166&lt;\/east&gt;<br \/>\n\t\t&lt;west&gt;-54.30513580201183&lt;\/west&gt;<br \/>\n\t\t&lt;\/LatLonBox&gt;<br \/>\n\t&lt;\/GroundOverlay&gt;<br \/>\n&lt;\/Document&gt;<br \/>\n&lt;\/kml&gt;<br \/>\n[\/source]<\/p>\n<p>Usamos o GroundOverlay, pois com ele n\u00e3o \u00e9 preciso usar o formato KML e sim o formato PNG, e assim resolvemos o problema do MapServer n\u00e3o suportar o format de sa\u00edda KML.<\/p>\n<p>D\u00favidas? Sugest\u00f5es? Por favor deixe um coment\u00e1rio.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nesta semana, eu precisei implementar algumas fun\u00e7\u00f5es em um projeto de um WebGIS, e dentre elas, uma era a gera\u00e7\u00e3o de KML a partir das layers de um dado cat\u00e1logo. Para gerar o KML eu precisava fazer uma requisi\u00e7\u00e3o WMS&#8230; <a class=\"more-link\" href=\"https:\/\/www.fernandoquadro.com.br\/html\/2007\/11\/12\/kml-no-mapserver\/\">Continue Reading &rarr;<\/a><\/p>\n","protected":false},"author":275,"featured_media":6050,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[15],"tags":[208,223],"class_list":["post-360","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mapserver","tag-geoserver","tag-gis"],"_links":{"self":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts\/360","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/users\/275"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/comments?post=360"}],"version-history":[{"count":2,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts\/360\/revisions"}],"predecessor-version":[{"id":6051,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts\/360\/revisions\/6051"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/media\/6050"}],"wp:attachment":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/media?parent=360"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/categories?post=360"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/tags?post=360"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}