• Which the release of FS2020 we see an explosition of activity on the forun and of course we are very happy to see this. But having all questions about FS2020 in one forum becomes a bit messy. So therefore we would like to ask you all to use the following guidelines when posting your questions:

    • Tag FS2020 specific questions with the MSFS2020 tag.
    • Questions about making 3D assets can be posted in the 3D asset design forum. Either post them in the subforum of the modelling tool you use or in the general forum if they are general.
    • Questions about aircraft design can be posted in the Aircraft design forum
    • Questions about airport design can be posted in the FS2020 airport design forum. Once airport development tools have been updated for FS2020 you can post tool speciifc questions in the subforums of those tools as well of course.
    • Questions about terrain design can be posted in the FS2020 terrain design forum.
    • Questions about SimConnect can be posted in the SimConnect forum.

    Any other question that is not specific to an aspect of development or tool can be posted in the General chat forum.

    By following these guidelines we make sure that the forums remain easy to read for everybody and also that the right people can find your post to answer it.


Hi folks!

Don't know if this is the right sub-forum for my question, but here it is:

On the forums I've read a few threads about creating islands by using a "polygon hole"; from what I understand this means, that you basically have a big water area where the islands are "holes" in this water area.

Some users described the procedure for SBuilder X or FSX KML (wasn't always clear which tool they described), however, this tool has the option to make a polygon and define it as "hole to a specific water polygon".

My question: is this a feature of the tool itself? I mean, is there a way to make a polygon hole without these tools? Does shp2vec recognize a polygon type "polygon hole" or how can I tell shp2vec that a specific polygon should be a hole to another polygon (and how does shp2vec know to which polygon the current one should be a hole)?

Thanks in advance,
I use SBuilderX aka SBX, so comments are appropriate for that tool, but may still apply to FSX KML.

The compiler for FSX is Shp2Vec, where the SHP refers to shapefiles. Information on shapefiles can be found through Google. Shapefiles contain vector data; lines, areas, points, combinations of each. Areas or polygons can contain holes, such as you mention for allowing land to show through a water polygon. Every hole must belong to a parent polygon, as there can be no hole if there is nothing to be a hole in. :confused:

SBX takes the data a user inputs and makes the appropriate shapefiles for the compiler, as I want to recall FSX KML also does. It is possible to "self-construct" shapefiles, if one was so inclined. It's easier to use SBX or FSX KML than to try and work my way through the shapefile format.

So no, you can't just make a hole and expect Shp2Vec to work with it. A hole must be part of a multi-poly data structure and *if* the data structure is correct, the Shp2Vec compiler knows what to do with it.
Thanks for your input. I have already written a SHP-Wrapper in .NET, so that I can easily read and write shapefiles, so technically there's no problem.

I read somewhere else on the forum that the best way to adjust the landpolygons is to create a water polygon and define the land polygons as holes to this water polygon. I understand that procedure, but how do the SHP-Files have to look like?

Do I need to create a shapefile with polygons in it that have multiple parts where the inner part is the hole? Or do I have to create two shapefiles? Where can I find out how the shapefiles have to be organized to make shp2vec knoww what to do?

Each project may have many tasks that are to be done. Let's use making an island in FSX where there was none before as an example.

First task is to exclude the existing water. Inside the QMID=11 boundary must be a polygon with an attribute to remove existing scenery elements.

Second task is to reintroduce a water polygon that encompasses the same QMID=11 boundary. It's from this "parent" polygon that the "child" polygon or hole will be cut into.

Third task is constructing the child polygon and setting it as being inside the parent polygon.

While there are three tasks in the project, there are two elements that Shp2Vec has to deal with and thus there needs to be two shape files created. Naming of the shape files is outlined in the SDKs, along with the attribute block guid that will be the "tag" that is applied. While shape files can and do hold differing data, Shp2Vec wants separate files for each element of it's work. One file will bear the starting EXX----.shp for the exclusionary tasks, the second file will be HPX----.shp for the hydro polygon work.

The Terrain SDK covers Shp2Vec pretty good, to where if you've setup up your own tool for working with shape files the rest should be easy. I've gone through the ERSI paperwork on shape files. That's why I still use SBuilderX! :eek:


Staff member
Resource contributor
The SBuilderX Shapes folder contains the last worked-on SHP files. Make a hole in a waterpoly, compile the BGL, then examine the SHP file left behind.