The Registration Large Scale Topography (BGT) is a detailed topological digital map of the Netherlands in which all physical objects such as buildings, roads, water and land cover are unambiguously registered.
The last years the entire geo sector of the Netherlands is busy constructing this polygon based map that will ultimately replace the old line based map (GBKN).
This huge national endeavor encompasses ministries, national agencies, municipalities, provinces, companies and the national cadastral agency.
The transition from a line based map to a polygon map is not an easy one and requires continuous tunning and collaboration between the parties involved.
BGT in PDOK.
FME and the BGT.
Pricipally this is a task that can be described as CAD to GIS conversion in FME terms. Most of the dutch GIS companies are in someway involved by assisting the parties involved to assemble their part of the map. Unfortunately a large sector of the civil engineering CAD users need to adjust their work methods to a polygon based map.
This is where FME can be used to reverse engineer the GIS map into a line based map, something that is more commonly used in the civil engineering CAD based sector.
BGT - CityGML format.
GIS 2 CAD with FME.
To demonstrate how easily this task can be done with FME, I am making use of a small part of the publicly available BGT obtained from the dutch SDI (PDOK). For more information on CAD 2 GIS translation and resource with FME see FMEpedia.
Step 1: Polygons 2 lines.
Converting polygons to lines is a no-brainer for a seasoned FME user, but you do need some tricks up your sleeve to successfully accomplish that for all of the polygon objects.
Step 2: Lines priority.
To prioritize the resulting lines I am using the AttributeValueMapper transformer, this is just one of the many way to do this, but for this example it is sufficient.
Step 3: Generating prioritized lines.
Once the priority is assigned it is a matter of making use of the priority by testing and reordering to achieve the desired results.
Final step: Writing to CAD.
Result DWG.
For the purpose of this demonstration I have created a DWG file for viewing the results. The visualization of the lines is not according to any template, but that is something that can easily be done with FME.
Real world example.
This demo is based on a solution already used by the municipality of Gorinchem.
The solution created allows the user to transform the polygon map into a DWG defined by a template file.
The solution also provides the user the ability to reorder the generated lines, set new visualization rules and decide with layers should be included in the output.
Small tip for reading the BGT in FME, use the CityGML reader with the imgeo xsd provided by Geonovum or simply download this workspace and follow the instructions.
Most of the people I meet in the Geo-information sector are aware of FME as a translation tool from one format to another.
That is originally what FME was built for (20 years ago) and is still one of the jobs where FME transcend all the rest of the available tools.
But FME is much more than a format translation tool, is as good as any GIS software available , and in my opinion it blows away most of them.
I constantly get amazed looks from costumers, when explaining them that most of their requirements can be done with FME, and in most cases in a single workspace.
The ability to dazzle with FME is not restricted to the spatial domain, FME's support of non spatial formats (for example the Excel writer, the shapefile of non spatial) makes it possible for non spatial people to benefit from FME when a serious user is around.
XML is another format where FME can be of great benefit, since almost any imaginable operation on XML can be done in FME, the combination of spatial and non spatial makes FME a truly versatile tool.
Since nowadays you can find XML almost everywhere, from OGC services styling to cadaster data sources all is served via XML.
The only main difference in the data is the schema (data model) and that can range from simple to extremely complex.
In FME the advised way of approaching XML data is by using feature paths, this makes XML handling very easy and does not require any in depth knowledge of the data schema.
However in some cases using feature path doesn't (and sometimes can't) handle the XML as good as xfMap.
xfMaps are the basis of XML handling in FME and if you know your xfMap then handling XML becomes super easy. The main drawback is that you do need in depth knowledge of the data schema.
The big advantage of using xfMap over feature paths is the ability to read very large XML files, I suspect that when using feature paths the file is read into the computers memory, this can be an issue when dealing with huge volumes of data, even if your machine is supercharged and all of your FME settings are in place.
When using xfMap the file that crashed your machine trying to handle it with feature paths, will now easily load the same data.
I have tested this with the new BRK (new cadastral registration) data, available from the Dutch Kadaster.
Trying to parse the XML (260MB) with feature paths, just crashed my machine (and I do have a reasonable machine with the FME settings set properly).
With a very simple (and powerful) xfMap the same file loaded within 10 seconds and was ready to be transformed.
So to wrap it up, use xfMap if:
The data volume is large and the feature paths configuration doesn't comply.
The data schema is static
You have too much time on your hands.
This is the last post for 2013, if you have already had some glimpses of what is to be expected for us with FME 2014, then I am sure you are as excited as I am!
As a seasoned FME user you are probably aware of the fact that a reader's bounding box coordinates settings are an efficient way to read only data which is spatially relevant for your location.
A little less known option, native to the FME ESRI database readers (SDE and Arc Objects GDB is the search feature. This option lets you use the reader (actually the underlaying database) to preform a selection of spatial selection based on a feature.
To make use of this functionality requires a little bit of preprocessing if you don't have the search features in the necessary format.
Let's take an example to make this clear.
Lets say you have projects boundaries polygons available (doesn't matter in which format since FME is the champion of formats) and you want to use these features as a search feature on data in an SDE or GDB database.
You basically need to convert your boundaries into the format accepted by the search feature setting (space delimited coordinates)
This can be easily done with FME (see the CoordinateConcatenator transformer >FME 2013)
What I ended up with is a space delimited csv file:
Search features read by the csv reader
Now it is time to implement it on the database reader, go to the Navigator> Parameters > Advanced > Search feature
Create a parameter from the setting (right click > Create user parameter), select choice with alias (multiple).
In the parameter's configuration setting select the import option, this will basically open a wizard (much the same as a normal reader) in which you can select the csv file created.
Make sure you correctly select the values and alias fields and you will end up with a selection menu for the search feature.
Selection of search features when prompting
As the name of the setting suggests you can only select one feature, and if you intend to have a selection from multiple features: the FeatureReader is the way to go.
You might think 'pfff.... I can use the FeatureReader
' well you can!! as in all things FME there are many roads that lead to
the desired results but since this functionality exists, why not make
use of it?
I guess a bit of free typing wont hurt at this stage, I mean nobody is actually going to read this? right? My conclusion is quite easy for me to understand and argue, but for any other some clarifications are needed.
My initial idea was to create a personal log that one day might take shape into a full grown blog, this soon took another form, an blog to promote/add exposure to my self. Shortly, I am (or trying to be) a freelance spatial ETL professional, I live in the Netherlands one of the most advanced geospatial nation in Europe. Because of that and the amount of competition in the geospatial market, exposure is critical for a start up business. BTW did I mention FME?