European Commission logo
INSPIRE Community Forum

Steps to use INSPIRE at SDI

Maha Kamal
By Maha Kamal Replies (7)

Hello,

I want to use INSPIRE at my SDI.  My workflow is as following:

  • Creating database schema based on INSPIRE data specs.
  • Transform my data from local schema to INSPIRE schema at PostgreSQL/PostGIS.
  • Then I need to publish my data as a services

Are those steps are correct?

  • I noted that after transformation. There is a duplication for data of type union class (example: buildings geometry is duplicated at governmental services). And this is a redundancy at DB.
  • What is the server software that must I use to publish web services from INSPIRE database?
  • After that, can I edit my data through INSPIRE WFS ?
  • Is my data layers represented using INSPIRE schema can be viewed and edited using any other GIS desktop software?
  • I already checked INSPIRE data specs & implementation rules but still have more conflicts.

Could you please, share a summary of guidelines and steps to use INSPIRE at SDI.

 

Thanks & Regards,

Maha Kamal

  • Katharina SCHLEIDT

    By Katharina SCHLEIDT

    Hi Maha,

    you've basically got it, its easiest when you expose your data in the same structure as the INSPIRE data model you're publishing to. I've often found it easiest to set up a set of (materialized) views for this purpose, then it's fairly simple to map to whatever tool you're using to publish.

    To your questions, on the governmental services type that has a union with buildings, could you please point me to the type? There shouldn't be a requirement to publish the same data twice, but if such a glitch did occur, the worst case create a view.

    Server SW: my personal preference is GeoServer for WFS, FROST for SensorThings, rasdman for WCS. CSW is probably being taken care of by some national agency (remember to provide them with the properly encoded metadata for your datasets and services)

    Editing data: depends on how you've set up your services, most allow for transactional settings.

    Once you've made your data available, others can view (and with the correct credentials edit) the data and combine it with data from other sources, the reason for this exercise :) And yes, it is all excruciatingly complicated, with many more questions than answers! ;)

    :)

    Kathi

     

  • Maha Kamal

    Hi Kathi,

    Thank you for your response.

    Governmental services have a field 'locationType' with options (locationTypeByAddress - locationTypeByBuilding - ...). at my case, i need to use locationTypeByBuilding.

    If i add the building inspire id as a forign key at gov_services table. So, i will need to create a DB View to be able to have geometry with gov services.

    And i can publish WFS using that view but in this case, it will not be editable as i can not publish WFS-T using DB View.

    Regards,

    Maha

  • Katharina SCHLEIDT

    By Katharina SCHLEIDT

    Hi Maha,

    if you tell me the US schema and featureType, I'll take a look. Alternatively, if the Building is already being published on its own, it may make sense to just reference this Building via an xlink:href. For details, see:
    https://inspire.austrocontrol.at/resources/download/GuidelinesURLrewritting_v2.0.pdf

    :)

    Kathi

  • Katharina SCHLEIDT

    By Katharina SCHLEIDT

    Thanks!

    Looking at the GovernmentalService featureType, you actually have this problem twice, also pertains to the AreaOfResponsibilityType. But, looking into the encoding, there is the option of providing this information by reference, publishing the Building or AdministrativeUnit by itself, then providing an xlink to this information (the reason I sent you the link to the referencing tutorial I'd done for AustroControl, the Air Traffic Network Model consists of many fairly simple featureTypes all referencing each other. This is one of the many big gaping black holes in INSPIRE, theoretically foreseen but no reality check)

    However, the first question should really be why are you doing this? Who needs the data for what purpose (also read vs. write). Based on this, its far easier to tailor the system to your needs (while respecting the INSPIRE requirements). Btw - what country are you setting this up for? Your contact mentions Egypt!

    :)

    Kathi

  • Maha Kamal

    Hi Kathi,

    Yes, i have same issue for more fields but if it resolved at one will do same for other columns.

    I'm doing that because, It is required to implement a standard and unified data model by use of INSPIRE. and then publish it as a standard services. Yes, country is Egypt.

    Regards,

    Maha

  • Katharina SCHLEIDT

    By Katharina SCHLEIDT

    Cool! I wasn't aware that INSPIRE had gone so far past the EU borders :)

    And as you correctly state, the hard part is figuring out the individual mechanisms required for the mapping. Once you've figured out these individual building blocks, it becomes increasingly easy (by now I configure a GeoServer to relax ;) )

    From my experience, one of the hard bits was understanding the examples made available by GeoSolutions. One needs to understand details of GeoSciML in order to understand their mapping. I'd long just cannibalized my own configurations but had to remember in which namespace I'd used which trick, thus I was very happy when the Austrian Geological Agency contracted me for support, and allowed me to make the tutorial openly available via the API4INSPIRE pages. It's not quite complete, but I hope to soon have all the bits one needs there (a few tricky bits are waiting for a bored moment ;) ).

    And a bit more advice, when I do the mapping, I always start with a dummy XML example like the one in the API4INSPIRE Tutorial. This serves two purposes:

    • Figure out what fields you really need (I always forget some gml:id somewhere ;) )
    • Provide the XPaths you'll need for mapping

    Once I have the example XML, I set up my data sources. Sometimes I go directly for the views, others I hack a simple DB for configuration purposes (usually when the source data has issues as it so often does. Its easier to see that your mapping works on a simpler example that covers all cases foreseen (usually multiplicities coming through correctly).

    Then I use a step-wise approach, don't try and configure the entire featureType as I'll surely make a mistake somewhere. Once I get GeoServer to provide the basic feature with one or two attributes, I start successively adding further attribute mappings (but only a few, the ugly bit in the App Schema Mapping is that the error messages are often not easy to interpret). Thus, bit by bit, I come to the complete mapping. Then all that's left to do is use the real data source, done

    :)

    Kathi

Facilities & Utilities, Public Services

Facilities & Utilities, Public Services

Covers a broad set of facilities, installations, networks and constructions supporting economic activities and public services