{"id":5442,"date":"2016-05-24T07:45:09","date_gmt":"2016-05-24T10:45:09","guid":{"rendered":"http:\/\/www.fernandoquadro.com.br\/html\/?p=5442"},"modified":"2016-08-12T16:34:25","modified_gmt":"2016-08-12T19:34:25","slug":"introducao-ao-openlayers-3-vetores","status":"publish","type":"post","link":"https:\/\/www.fernandoquadro.com.br\/html\/2016\/05\/24\/introducao-ao-openlayers-3-vetores\/","title":{"rendered":"Introdu\u00e7\u00e3o ao OpenLayers 3: Vetores"},"content":{"rendered":"<p>Camadas vetoriais no OL3 s\u00e3o representadas pela classe ol.layer.Vector que manipula a exibi\u00e7\u00e3o de dados vetoriais no lado do cliente. Atualmente OpenLayers 3 s\u00f3 suporta renderiza\u00e7\u00e3o vetorial atrav\u00e9s do renderizador do Canvas.<\/p>\n<p>Vamos voltar ao exemplo WMS para obter um mapa b\u00e1sico do mundo, para isso vamos adicionar alguns recursos em uma camada vetorial.<\/p>\n<pre>&lt;!doctype&nbsp;html&gt;\r\n&lt;html&nbsp;lang=\"en\"&gt;\r\n&nbsp;&nbsp;&lt;head&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;link&nbsp;rel=\"stylesheet\"&nbsp;href=\"ol3\/ol.css\"&nbsp;type=\"text\/css\"&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;style&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#map&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;height:&nbsp;256px;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;width:&nbsp;512px;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/style&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;title&gt;OpenLayers&nbsp;3&nbsp;example&lt;\/title&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;script&nbsp;src=\"ol3\/ol.js\"&nbsp;type=\"text\/javascript\"&gt;&lt;\/script&gt;\r\n&nbsp;&nbsp;&lt;\/head&gt;\r\n&nbsp;&nbsp;&lt;body&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;h1&gt;My&nbsp;Map&lt;\/h1&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;div&nbsp;id=\"map\"&gt;&lt;\/div&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;script&nbsp;type=\"text\/javascript\"&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;map&nbsp;=&nbsp;new&nbsp;ol.Map({\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;target:&nbsp;'map',\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;layers:&nbsp;[\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;new&nbsp;ol.layer.Tile({\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;title:&nbsp;\"Global&nbsp;Imagery\",\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;source:&nbsp;new&nbsp;ol.source.TileWMS({\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;url:&nbsp;'http:\/\/maps.opengeo.org\/geowebcache\/service\/wms',\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;params:&nbsp;{LAYERS:&nbsp;'bluemarble',&nbsp;VERSION:&nbsp;'1.1.1'}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;})\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;})\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;],\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;view:&nbsp;new&nbsp;ol.View({\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;projection:&nbsp;'EPSG:4326',\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;center:&nbsp;[0,&nbsp;0],\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;zoom:&nbsp;0,\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;maxResolution:&nbsp;0.703125\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;})\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/script&gt;\r\n&nbsp;&nbsp;&lt;\/body&gt;\r\n&lt;\/html&gt;<\/pre>\n<p>Agora abra o arquivo map.html em seu editor de texto e copie o conte\u00fado do exemplo WMS inicial. Salve suas altera\u00e7\u00f5es, confirme e veja como ficou no seu navegador: @servidor@\/map.html<\/p>\n<p>No seu c\u00f3digo de inicializa\u00e7\u00e3o do mapa adicione outra camada ap\u00f3s camada existente (c\u00f3digo abaixo). Isso ir\u00e1 adicionar uma nova camada de vetorial para o seu mapa, para este exemplo voc\u00ea precisar\u00e1 de um arquivo GeoJSON que voc\u00ea pode criar no QGIS, por exemplo:<\/p>\n<pre>new&nbsp;ol.layer.Vector({\r\n&nbsp;&nbsp;title:&nbsp;'Earthquakes',\r\n&nbsp;&nbsp;source:&nbsp;new&nbsp;ol.source.GeoJSON({\r\n&nbsp;&nbsp;&nbsp;&nbsp;url:&nbsp;'data\/layers\/7day-M2.5.json'\r\n&nbsp;&nbsp;}),\r\n&nbsp;&nbsp;style:&nbsp;new&nbsp;ol.style.Style({\r\n&nbsp;&nbsp;&nbsp;&nbsp;image:&nbsp;new&nbsp;ol.style.Circle({\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;radius:&nbsp;3,\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fill:&nbsp;new&nbsp;ol.style.Fill({color:&nbsp;'white'})\r\n&nbsp;&nbsp;&nbsp;&nbsp;})\r\n&nbsp;&nbsp;})\r\n})<\/pre>\n<p>Veja como ficou o nosso mapa:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2016\/05\/vector1.png\" alt=\"vector1\" width=\"513\" height=\"254\" class=\"aligncenter size-full wp-image-5449\" srcset=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2016\/05\/vector1.png 513w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2016\/05\/vector1-300x149.png 300w\" sizes=\"auto, (max-width: 513px) 100vw, 513px\" \/><\/p>\n<p>Como os dados contidos no arquivo GeoJSON est\u00e3o em WGS84 (EPSG:4326) e a nossa camada base tamb\u00e9m, n\u00e3o \u00e9 necess\u00e1rio uma reproje\u00e7\u00e3o. No caso em que a proje\u00e7\u00e3o das camadas for diferente, isso significa que voc\u00ea deve especificar a proje\u00e7\u00e3o que deve ser utilizadas no seu mapa.<\/p>\n<p><a href=\"http:\/\/www.fernandoquadro.com.br\/html\/2016\/05\/25\/introducao-ao-openlayers-3-controles\/\" target=\"_blank\">No pr\u00f3ximo post<\/a> apresentaremos alguns dos controles dispon\u00edveis no OpenLayers, n\u00e3o perca!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Camadas vetoriais no OL3 s\u00e3o representadas pela classe ol.layer.Vector que manipula a exibi\u00e7\u00e3o de dados vetoriais no lado do cliente. Atualmente OpenLayers 3 s\u00f3 suporta renderiza\u00e7\u00e3o vetorial atrav\u00e9s do renderizador do Canvas. Vamos voltar ao exemplo WMS para obter um&#8230; <a class=\"more-link\" href=\"https:\/\/www.fernandoquadro.com.br\/html\/2016\/05\/24\/introducao-ao-openlayers-3-vetores\/\">Continue Reading &rarr;<\/a><\/p>\n","protected":false},"author":275,"featured_media":5046,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[24,132,80,25],"tags":[223,250],"class_list":["post-5442","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-gis","category-openlayers","category-programacao","category-software","tag-gis","tag-openlayers"],"_links":{"self":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts\/5442","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=5442"}],"version-history":[{"count":9,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts\/5442\/revisions"}],"predecessor-version":[{"id":6220,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts\/5442\/revisions\/6220"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/media\/5046"}],"wp:attachment":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/media?parent=5442"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/categories?post=5442"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/tags?post=5442"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}