{"id":8516,"date":"2019-09-16T07:30:34","date_gmt":"2019-09-16T10:30:34","guid":{"rendered":"http:\/\/www.fernandoquadro.com.br\/html\/?p=8516"},"modified":"2019-09-12T15:56:34","modified_gmt":"2019-09-12T18:56:34","slug":"melhorias-no-geojson-do-geoserver","status":"publish","type":"post","link":"https:\/\/www.fernandoquadro.com.br\/html\/2019\/09\/16\/melhorias-no-geojson-do-geoserver\/","title":{"rendered":"Melhorias no GeoJSON do GeoServer"},"content":{"rendered":"<p>O servi\u00e7o WFS do GeoServer j\u00e1 pode gerar o GeoJSON a partir de fontes de dados de recursos complexos atrav\u00e9s do app-schema. No entanto, a sa\u00edda pode n\u00e3o ser agrad\u00e1vel em alguns casos, devido a isso as seguintes melhorias foram realizadas:<\/p>\n<ul>\n<li>A altern\u00e2ncia de propriedade\/elemento t\u00edpica do GML \u00e9 preservada, causando estruturas profundamente aninhadas e feias. Nem todo mundo gosta de escrever um &#8220;container.xx&#8221; para atingir o valor x, com a vers\u00e3o 2.16.x a sa\u00edda ignora um dos cont\u00eaineres e exp\u00f5e uma estrutura direta &#8220;container.x&#8221;<\/li>\n<li>Os atributos XML agora s\u00e3o transformados em propriedades JSON simples e prefixados com uma &#8220;@&#8221;<\/li>\n<li>Os tipos de recurso e dados n\u00e3o s\u00e3o mais perdidos nas tradu\u00e7\u00f5es, preservados pelos atributos &#8220;@feaureType&#8221; e &#8220;@dataType&#8221;<\/li>\n<li>Recursos aninhados completos s\u00e3o codificados como GeoJSON novamente, mantendo seus identificadores<\/li>\n<\/ul>\n<p>Aqui est\u00e1 um exemplo do arquivo de sa\u00edda no formato GeoJSON da vers\u00e3o 2.16.x:<\/p>\n<pre>\r\n{\r\n&nbsp;&nbsp;\"type\":&nbsp;\"FeatureCollection\",\r\n&nbsp;&nbsp;\"features\":&nbsp;[\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"type\":&nbsp;\"Feature\",\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"id\":&nbsp;\"0001000001\",\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"geometry\":&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"type\":&nbsp;\"Point\",\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"coordinates\":&nbsp;[51.0684,&nbsp;1.4298]\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"properties\":&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"@featureType\":&nbsp;\"Borehole\",\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"identifier\":&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"value\":&nbsp;\"BSS000AAAA\",\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"@codeSpace\":&nbsp;\"http:\/\/www.ietf.org\/rfc\/rfc2616\"\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"bholeHeadworks\":&nbsp;[\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"type\":&nbsp;\"Feature\",\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"geometry\":&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"type\":&nbsp;\"Point\",\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"coordinates\":&nbsp;[51.0684,&nbsp;1.4298]\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;&nbsp;&nbsp;\"properties\":&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"@featureType\":&nbsp;\"BoreCollar\",\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"collarElevation\":&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"value\":&nbsp;-32,\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"@srsName\":&nbsp;\"http:\/\/www.opengis.net\/def\/crs\/EPSG\/0\/5720\",\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"@srsDimension\":&nbsp;\"1\",\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"@uomLabels\":&nbsp;\"m\"\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\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<\/pre>\n<p>Fonte: <a href=\"http:\/\/blog.geoserver.org\/2019\/08\/29\/geoserver-2-16-rc-released\/\" rel=\"noopener noreferrer\" target=\"_blank\">GeoServer Blog<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>O servi\u00e7o WFS do GeoServer j\u00e1 pode gerar o GeoJSON a partir de fontes de dados de recursos complexos atrav\u00e9s do app-schema. No entanto, a sa\u00edda pode n\u00e3o ser agrad\u00e1vel em alguns casos, devido a isso as seguintes melhorias foram&#8230; <a class=\"more-link\" href=\"https:\/\/www.fernandoquadro.com.br\/html\/2019\/09\/16\/melhorias-no-geojson-do-geoserver\/\">Continue Reading &rarr;<\/a><\/p>\n","protected":false},"author":275,"featured_media":8517,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[24],"tags":[342,208],"class_list":["post-8516","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-gis","tag-geojson","tag-geoserver"],"_links":{"self":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts\/8516","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=8516"}],"version-history":[{"count":4,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts\/8516\/revisions"}],"predecessor-version":[{"id":8521,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts\/8516\/revisions\/8521"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/media\/8517"}],"wp:attachment":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/media?parent=8516"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/categories?post=8516"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/tags?post=8516"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}