Relatório “Harmonização de dados geográficos da Cartografia de Ocupação do Solo de acordo com a Diretiva INSPIRE”

A Carta de Ocupação do Solo (COS) é um dos CDG produzidos pela DGT com maior relevância para o desenvolvimento de estudos em gestão e planeamento ambiental em Portugal. Na sequência da participação da DGT no projeto EAGLE 6, foi decidido avançar para o estudo da harmonização da cartografia de ocupação do solo de Portugal Continental de acordo com as especificações da Diretiva INSPIRE. Este relatório, que resultou do trabalho desenvolvido por Teresa Zuna no âmbito de uma bolsa de investigação da DGT, descreve o processo de harmonização e os principais desafios surgidos no decorrer da sua aplicação prática à Cartografia de Ocupação do Solo 2010 (COS 2010), recorrendo a utilização de uma ferramenta open-source, o HUMBOLDT Alignment Editor (HALE), na fase de transformação dos CDG. Este trabalho foi desenvolvido numa fase em que alguns padrões não estavam ainda totalmente definidos, nomeadamente o InspireID e os URIs das Codelists. As definições atualmente em utilização estão disponíveis aqui.

Relatório (PDF)

Anexo A – Mapping Table

Anexo B- Nomenclatura da COS 2010 nível 5 em formato xml

Advertisements

Nova versão do Modelo de Dados INSPIRE RAA

A equipa Inspire Açores procedeu a alterações na estrutura da Base de Dados Relacional INSPIRE RAA, com vista a facilitar o processo de harmonização dos dados geográficos, em conformidade com a Diretiva INSPIRE.

Esta nova BD, com o nome “ModeloDados_INSPIRE_RAA_EPSG5013_20170707.gdb”  encontra-se disponível para download gratuito em:

http://www.ideia.azores.gov.pt/projetos/inspire/Paginas/modelos-dados.aspx

Das alterações efetuadas, há a destacar a reorganização dos datasets de informação geográfica, que agora passam a estar definidos em coordenadas geográficas (PTRA08 – EPSG 5013).   A versão antiga da BD INSPIRE da RAA, em formato file geodatabase, vai continuar a estar disponível para download no portal IDEiA (ModeloDados_INSPIRE_RAA_EPSG5014_5015_20150407.gdb), caso os utilizadores prefiram harmonizar os seus dados tendo em conta os dois fusos existentes na RAA (25N e 26N).

Todas as novas alterações só serão efetuadas na BD que se encontra disponível em coordenadas geográficas (EPSG5013).

Esta nova versão também está disponível para download em formato PostGIS (ModeloDados_INSPIRE_RAA_EPSG5013_20170707_PostGIS) destinada aos utilizadores de software SIG Open Source.

Para melhor entendimento da estrutura da BD aconselha-se a leitura do documento Excel (Explicação_ModeloDados_20170707), disponível no pacote de descarregamento.

Sugestões ou deteção de erros devem ser reportados para o seguinte mail: inspire@azores.gov.pt

Partilha de experiências

Olá. Trabalho na APA e ao longo dos meses de preparação do reporte 2016 da INSPIRE descobri uma série de coisas que desconhecia e que acho importante partilhar. Os colegas da DGT disponibilizaram este meio de comunicação e propuseram que eu o inaugurasse. Espero que os três temas que listo em baixo vos sejam uteis.

  1. Encontrei uma forma de listar as fichas de metadados INSPIRECORE no serviço de catálogo CSW, usando um filtro:

Usando no CSW da APA o pedido das primeiras 10 fichas com a palavra chave INSPIRECORE:

http://sniamb.apambiente.pt/geoportal/csw/discovery?Request=GetRecords&service=CSW&resultType=results&version=2.0.2&maxRecords=10&startPosition=1&typeNames=gmd:MD_Metadata&ElementSetName=full&outputSchema=http://www.isotc211.org/2005/gmd&outputFormat=application/xml&CONSTRAINTLANGUAGE=Filter&Constraint=%3CFilter%3E%3CPropertyIsLike%3E%3CPropertyName%3EAnyText%3C/PropertyName%3E%3CLiteral%3EINSPIRECORE%3C/Literal%3E%3C/PropertyIsLike%3E%3C/Filter%3E&constraint_language_version=1.1.0

Colando depois esse endereço no validador de metadados do JRC http://inspire-geoportal.ec.europa.eu/validator2/ (com o “Test Resource” ligado) obtém-se o seguinte resultado:

Assim, os gráficos no validador já aparecem preenchidos .

O CSW da APA tem 141 fichas de metadados INSPIRECORE, mas o validador aparentemente só consegue validar 10 fichas de cada vez, por isso é que no filtro usámos conjuntos de 10 fichas.

Os quadradinhos verdes, amarelos ou vermelhos só são criados para as fichas com erros. Os dados corretos aparecem diluídos nos gráficos.

Para se aceder às fichas individuais temos de escrever, à frente do endereço criado, o texto “datasets/1” ou “services/1” (se não for dataset é service), …, “datasets/10” ou “services/10”:

 

  1. Consegui resolver todos os erros de validação que fomos obtendo neste validador e já conseguimos criar WMS sem erros, porque se corrermos a validação do JRC numa ficha de metadados de um WMS com a opção “Test Resource” ligada, o validador vai cruzar a informação da ficha de metadados com a informação do getCapabilities do WMS, para além de cruzar com as fichas de metadados dos conjuntos de dados geográficos que são usados no WMS:

Teste de um WMS não conforme:

Endereço da ficha de metadados:  http://sniamb.apambiente.pt/geoportal/rest/document?id=96245759-8DA6-4BF0-AEB1-2490C13A92CA

Usando este endereço no validador do JRC obtemos uma lista dos erros encontrados:

Teste de um WMS conforme:

Endereço da ficha de metadados: http://sniamb.apambiente.pt/geoportal/rest/document?id=5A47AC4D-1512-4A55-97B9-90BB604C5206

Usando este endereço no validador do JRC não obtemos a lista dos erros encontrados e é devolvida a visualização da ficha de metadados:

 

  1. Os serviços passam a 100% no validador do JRC, mas devolvem erros para os nomes dos layer/temas no validador de WMS francês (http://inspire-tester.neogeo-online.net/ ).  Mas o validador françês não tem contemplados todos os layer/temas inspire (existe já um Registry para os layer/temas: http://inspire.ec.europa.eu/layer):

Indo ao código que estão a usar:

https://github.com/neogeo-technologies/inspire_tester

https://github.com/neogeo-technologies/inspire_tester/blob/master/wms_tester/wmsUtils/inspireTests.py

Vê-se que não têm ainda definidos todos os nome e titulo de Layer, nem em ENG nem em POR (a maior parte dos temas da APA são do anexo III):

{‘language’: ‘eng’, ‘layers’: [
{‘theme’: u’Geographical Names’, ‘title’: u’Geographical Names’, ‘name’: ‘GN.GeographicalNames’},
{‘theme’: u’Administrative Units’, ‘title’: u’Administrative unit’, ‘name’: ‘AU.AdministrativeUnit’},
{‘theme’: u’Administrative Units’, ‘title’: u’Administrative boundary’, ‘name’: ‘AU.AdministrativeBoundary’},
{‘theme’: u’Administrative Units’, ‘title’: u’Condominium’, ‘name’: ‘AU.Condominium’},
{‘theme’: u’Administrative Units’, ‘title’: u’NUTS Region’, ‘name’: ‘AU.NUTSRegion’},
{‘theme’: u’Addresses’, ‘title’: u’Addresses’, ‘name’: ‘AD.Address’},
{‘theme’: u’Cadastral Parcels’, ‘title’: u’Cadastral Parcel’, ‘name’: ‘CP.CadastralParcel’},
{‘theme’: u’Cadastral Parcels’, ‘title’: u’Cadastral Zoning’, ‘name’: ‘CP.CadastralZoning’},
{‘theme’: u’Cadastral Parcels’, ‘title’: u’Cadastral Boundary’, ‘name’: ‘CP.CadastralBoundary’},
{‘theme’: u’Transport networks’, ‘title’: u’Generic Transport Node’, ‘name’: ‘TN.CommonTransportElements.TransportNode’},
{‘theme’: u’Transport networks’, ‘title’: u’Generic Transport Link’, ‘name’: ‘TN.CommonTransportElements.TransportLink’},
{‘theme’: u’Transport networks’, ‘title’: u’Generic Transport Area’, ‘name’: ‘TN.CommonTransportElements.TransportArea’},
{‘theme’: u’Transport networks’, ‘title’: u’Road Link’, ‘name’: ‘TN.RoadTransportNetwork.RoadLink’},
{‘theme’: u’Transport networks’, ‘title’: u’Vehicle traffic Area’, ‘name’: ‘TN.RoadTransportNetwork.VehicleTrafficArea’},
{‘theme’: u’Transport networks’, ‘title’: u’Road Service Area’, ‘name’: ‘TN.RoadTransportNetwork.RoadServiceArea’},
{‘theme’: u’Transport networks’, ‘title’: u’Road Area’, ‘name’: ‘TN.RoadTransportNetwork.RoadArea’},
{‘theme’: u’Transport networks’, ‘title’: u’Railway Link’, ‘name’: ‘TN.RailTransportNetwork.RailwayLink’},
{‘theme’: u’Transport networks’, ‘title’: u’Railway Station Area’, ‘name’: ‘TN.RailTransportNetwork.RailwayStationArea’},
{‘theme’: u’Transport networks’, ‘title’: u’Railway Yard Area’, ‘name’: ‘TN.RailTransportNetwork.RailwayYardArea’},
{‘theme’: u’Transport networks’, ‘title’: u’Railway Area’, ‘name’: ‘TN.RailTransportNetwork.RailwayArea’},
{‘theme’: u’Transport networks’, ‘title’: u’Waterway Link’, ‘name’: ‘TN.WaterTransportNetwork.WaterwayLink’},
{‘theme’: u’Transport networks’, ‘title’: u’Fairway Area’, ‘name’: ‘TN.WaterTransportNetwork.FairwayArea’},
{‘theme’: u’Transport networks’, ‘title’: u’Port Area’, ‘name’: ‘TN.WaterTransportNetwork.PortArea’},
{‘theme’: u’Transport networks’, ‘title’: u’Air Link’, ‘name’: ‘TN.AirTransportNetwork.AirLink’},
{‘theme’: u’Transport networks’, ‘title’: u’Aerodrome Area’, ‘name’: ‘TN.AirTransportNetwork.AerodromeArea’},
{‘theme’: u’Transport networks’, ‘title’: u’Runway Area’, ‘name’: ‘TN.AirTransportNetwork.RunwayArea’},
{‘theme’: u’Transport networks’, ‘title’: u’Airspace Area’, ‘name’: ‘TN.AirTransportNetwork.AirspaceArea’},
{‘theme’: u’Transport networks’, ‘title’: u’Apron Area’, ‘name’: ‘TN.AirTransportNetwork.ApronArea’},
{‘theme’: u’Transport networks’, ‘title’: u’Taxiway Area’, ‘name’: ‘TN.AirTransportNetwork.TaxiwayArea’},
{‘theme’: u’Transport networks’, ‘title’: u’Cableway Link’, ‘name’: ‘TN.CableTransportNetwork.CablewayLink’},
{‘theme’: u’Hydrography’, ‘title’: u’Waterbody’, ‘name’: ‘HY.PhysicalWaters.Waterbodies’},
{‘theme’: u’Hydrography’, ‘title’: u’Land-Water Boundary’, ‘name’: ‘HY.PhysicalWaters.LandWaterBoundary’},
{‘theme’: u’Hydrography’, ‘title’: u’Catchment’, ‘name’: ‘HY.PhysicalWaters.Catchments’},
{‘theme’: u’Hydrography’, ‘title’: u’Hydrographic Network’, ‘name’: ‘HY.Network’},
{‘theme’: u’Hydrography’, ‘title’: u’Hydro Point of Interest’, ‘name’: ‘HY.PhysicalWaters.HydroPointOfInterest’},
{‘theme’: u’Hydrography’, ‘title’: u’Man-made Object’, ‘name’: ‘HY.PhysicalWaters.ManMadeObject’},
{‘theme’: u’Hydrography’, ‘title’: u’Shore, Wetland’, ‘name’: ‘HY.HydroObject’},
{‘theme’: u’Hydrography’, ‘title’: u’WFD-River’, ‘name’: ‘HY.Reporting.WFDRiver’},
{‘theme’: u’Hydrography’, ‘title’: u’WFD-Lake’, ‘name’: ‘HY.Reporting.WFDLake’},
{‘theme’: u’Hydrography’, ‘title’: u’WFD-Transitional water’, ‘name’: ‘HY.Reporting.WFDTransitionalWater’},
{‘theme’: u’Hydrography’, ‘title’: u’WFD-Coastal water’, ‘name’: ‘HY.Reporting.WFDCoastalWater’},
{‘theme’: u’Hydrography’, ‘title’: u’Ocean Region’, ‘name’: ‘HY.OceanRegion’},
{‘theme’: u’Protected Sites’, ‘title’: u’Protected Sites’, ‘name’: ‘PS.ProtectedSite’}
]},
{‘language’: ‘por’, ‘layers’: [
{‘theme’: u’Toponímia’, ‘title’: u’Toponímia’, ‘name’: ‘GN.GeographicalNames’},
{‘theme’: u’Unidades Administrativas’, ‘title’: u’Unidade administrativa’, ‘name’: ‘AU.AdministrativeUnit’},
{‘theme’: u’Unidades Administrativas’, ‘title’: u’Fronteira administrativa’, ‘name’: ‘AU.AdministrativeBoundary’},
{‘theme’: u’Unidades Administrativas’, ‘title’: u’Condomínio’, ‘name’: ‘AU.Condominium’},
{‘theme’: u’Unidades Administrativas’, ‘title’: u’Região NUTS’, ‘name’: ‘AU.NUTSRegion’},
{‘theme’: u’Endereços’, ‘title’: u’Endereços’, ‘name’: ‘AD.Address’},
{‘theme’: u’Parcelas Cadastrais’, ‘title’: u’Parcela cadastral’, ‘name’: ‘CP.CadastralParcel’},
{‘theme’: u’Parcelas Cadastrais’, ‘title’: u’Zonamento cadastral’, ‘name’: ‘CP.CadastralZoning’},
{‘theme’: u’Parcelas Cadastrais’, ‘title’: u’Limite cadastral’, ‘name’: ‘CP.CadastralBoundary’},
{‘theme’: u’Redes de Transporte’, ‘title’: u’Nó de transporte genérico’, ‘name’: ‘TN.CommonTransportElements.TransportNode’},
{‘theme’: u’Redes de Transporte’, ‘title’: u’Segmento de transporte genérico’, ‘name’: ‘TN.CommonTransportElements.TransportLink’},
{‘theme’: u’Redes de Transporte’, ‘title’: u’Área de transporte genérica’, ‘name’: ‘TN.CommonTransportElements.TransportArea’},
{‘theme’: u’Redes de Transporte’, ‘title’: u’Segmento da estrada’, ‘name’: ‘TN.RoadTransportNetwork.RoadLink’},
{‘theme’: u’Redes de Transporte’, ‘title’: u’Área de circulação de veículos’, ‘name’: ‘TN.RoadTransportNetwork.VehicleTrafficArea’},
{‘theme’: u’Redes de Transporte’, ‘title’: u’Área de serviço rodoviário’, ‘name’: ‘TN.RoadTransportNetwork.RoadServiceArea’},
{‘theme’: u’Redes de Transporte’, ‘title’: u’Área da estrada’, ‘name’: ‘TN.RoadTransportNetwork.RoadArea’},
{‘theme’: u’Redes de Transporte’, ‘title’: u’Segmento de via férrea’, ‘name’: ‘TN.RailTransportNetwork.RailwayLink’},
{‘theme’: u’Redes de Transporte’, ‘title’: u’Área de estação ferroviária’, ‘name’: ‘TN.RailTransportNetwork.RailwayStationArea’},
{‘theme’: u’Redes de Transporte’, ‘title’: u’Área de estação de triagem’, ‘name’: ‘TN.RailTransportNetwork.RailwayYardArea’},
{‘theme’: u’Redes de Transporte’, ‘title’: u’Área de linha férrea’, ‘name’: ‘TN.RailTransportNetwork.RailwayArea’},
{‘theme’: u’Redes de Transporte’, ‘title’: u’Segmento de via navegável’, ‘name’: ‘TN.WaterTransportNetwork.WaterwayLink’},
{‘theme’: u’Redes de Transporte’, ‘title’: u’Área de navegação’, ‘name’: ‘TN.WaterTransportNetwork.FairwayArea’},
{‘theme’: u’Redes de Transporte’, ‘title’: u’Área portuária’, ‘name’: ‘TN.WaterTransportNetwork.PortArea’},
{‘theme’: u’Redes de Transporte’, ‘title’: u’Segmento de via aérea’, ‘name’: ‘TN.AirTransportNetwork.AirLink’},
{‘theme’: u’Redes de Transporte’, ‘title’: u’Área de aeródromo’, ‘name’: ‘TN.AirTransportNetwork.AerodromeArea’},
{‘theme’: u’Redes de Transporte’, ‘title’: u’Área de pista’, ‘name’: ‘TN.AirTransportNetwork.RunwayArea’},
{‘theme’: u’Redes de Transporte’, ‘title’: u’Área de espaço aéreo’, ‘name’: ‘TN.AirTransportNetwork.AirspaceArea’},
{‘theme’: u’Redes de Transporte’, ‘title’: u’Plataforma de estacionamento’, ‘name’: ‘TN.AirTransportNetwork.ApronArea’},
{‘theme’: u’Redes de Transporte’, ‘title’: u’Área de circulação’, ‘name’: ‘TN.AirTransportNetwork.TaxiwayArea’},
{‘theme’: u’Redes de Transporte’, ‘title’: u’Segmento de via cablada’, ‘name’: ‘TN.CableTransportNetwork.CablewayLink’},
{‘theme’: u’Hidrografia’, ‘title’: u’Massa de água’, ‘name’: ‘HY.PhysicalWaters.Waterbodies’},
{‘theme’: u’Hidrografia’, ‘title’: u’Fronteira terra-água’, ‘name’: ‘HY.PhysicalWaters.LandWaterBoundary’},
{‘theme’: u’Hidrografia’, ‘title’: u’Bacia hidrográfica’, ‘name’: ‘HY.PhysicalWaters.Catchments’},
{‘theme’: u’Hidrografia’, ‘title’: u’Rede hidrográfica’, ‘name’: ‘HY.Network’},
{‘theme’: u’Hidrografia’, ‘title’: u’Ponto de interesse hidrográfico’, ‘name’: ‘HY.PhysicalWaters.HydroPointOfInterest’},
{‘theme’: u’Hidrografia’, ‘title’: u’Objecto artificial’, ‘name’: ‘HY.PhysicalWaters.ManMadeObject’},
{‘theme’: u’Hidrografia’, ‘title’: u’Margem, zona húmida’, ‘name’: ‘HY.HydroObject’},
{‘theme’: u’Hidrografia’, ‘title’: u’Rio DQA’, ‘name’: ‘HY.Reporting.WFDRiver’},
{‘theme’: u’Hidrografia’, ‘title’: u’Lago DQA’, ‘name’: ‘HY.Reporting.WFDLake’},
{‘theme’: u’Hidrografia’, ‘title’: u’Águas de transição DQA’, ‘name’: ‘HY.Reporting.WFDTransitionalWater’},
{‘theme’: u’Hidrografia’, ‘title’: u’Águas costeiras DQA’, ‘name’: ‘HY.Reporting.WFDCoastalWater’},
{‘theme’: u’Hidrografia’, ‘title’: u’Região oceânica’, ‘name’: ‘HY.OceanRegion’},
{‘theme’: u’Sítios Protegidos’, ‘title’: u’Sítios protegidos’, ‘name’: ‘PS.ProtectedSite’}
]},