FPAssistant App News – FPAssistant http://fpassistant.com Guidance, calculations and tools assisting with flight procedure design covering ICAO PANS-OPS and FAA TERPS criterias Wed, 13 Dec 2023 15:11:59 +0000 en-GB hourly 1 Review of 2023 http://fpassistant.com/review-of-2023/ Wed, 13 Dec 2023 15:11:59 +0000 http://www.fpassistant.com/?p=28904 A quick look back of this year 2023…

FPAssistant Suite SDK

Work has progressed this year on the SDK but not so much on adding new features but improving existing functionality in the areas of code along with hardware and OS support. Support to access the ICAO Data Service API using minimal code and returning data in objects was started. Detailed below we will release soon the option for .NET 8 support and an GitHub organisation page. Next feature to complete will be Aerodrome Surfaces. We also plan to have a basic version of the SDK that offers some of the functionality and API’s free.

GitHub and Apps

Microsoft has change the App store in 2023 and also the future of developing using UWP was put into question. The sample app we have developed and is in the store that many of you have downloaded is written using UWP. We decided not to put to much more effort into this so we recently announced an organisation in GitHub; click here. This is area where we have started to develop demo apps for FPAssistant SDK and we hope to have many repos giving people access to source code in using the SDK. The first repo created in an example Microsoft WinForms app that exposes and show some of the features in the SDK (IAS/TAS, Linear conversion, etc). This first repo has been names FPAssistantSampleAppWf .

Apple

Apple Silicon has progressed now to the M3 and is comes in 3 flavours…

Image Credits: Apple

This latest chip has 5 billon more transistors than the M2 and an incredible 9 billion more than the M1. These chips are now appearing through the Apple set of hardware devices.

Still no further news about an Apple car!!

Microsoft

Microsoft has followed Apple and have made announcements about their chips coming including one for AI processing. Visual Studio and Visual Studio Code have had new releases and .NET 8 has been released. We support .NET 8 and this can be seen in the GitHub sample WinForm app and also in the SDK but available upon request as the NuGet version targets .NET Standard 2.0 for maximum reached. If a customer needs a specific build for ARM or .NET version then these can be made available.

 

]]>
SDK: FPAssistant demo apps hosting on GitHub http://fpassistant.com/sdk-fpassistant-demo-apps-hosting-on-github/ Thu, 23 Nov 2023 17:26:11 +0000 http://www.fpassistant.com/?p=28333 To assistant in helping developers use the FPAssistant SDK we now have a home page on GitHub. This will be place to find demo apps and examples for existing customers and those who looking at using the SDK in their aviation application.

FPAssistant home page on GitHub

This can be found on GitHub by clicking here. To start with, the first example app is a Windows application that shows some of the API’s in action from the SDK. On each form in the example there is a link to show the relevant API documentation at the online site. The Windows application is targeting .NET 8.0 (at time of writing this blog) and uses the WinForm framework to host the app.

Demo app for FPAssistant SDK

In time we hope that the developer community will expand the use of the demo app but we do plan to extend the features ourselves showing other developers in using the SDK.

If you have any suggestions for further examples of how to do something then please do get in contact with us.

]]>
App: ICAO Basic ILS – FPAssistant, QGIS and Google Earth http://fpassistant.com/app-icao-basic-ils-fpassistant-qgis-and-google-earth/ Wed, 01 Sep 2021 12:19:37 +0000 http://www.fpassistant.com/?p=8171 Here is a good blog written by Antonio Locandro who used FPAssistant App to create a ICAO PANS-OPS Basic ILS set of surfaces and then imported into QGIS and then exported as 3D KML for display in Google Earth. This shows workflows of what can be achieved using free tools.

Click here to read the blog entry and view the video on YouTube

Blog Video

 

About Antonio….

Civil Engineer graduated from the Universidad Nacional Autónoma de Honduras (UNAH @2008) with an unfinished Masters in Project Management from UNITEC Honduras (about 80% of pensum) , working since 2008 on Civil Aviation matters in which I mainly do Aeronautical Cartography including AIXM, GIS Database, ICAO PANS -OPS procedure design (Conventional and PBN) for the departure and approach of aircraft, obstacle assessment, etc. I also did consulting work related to this fields and GIS including past projects for ICAO Technical Cooperation Bureau (TCB).

Freelance ICAO PANS-OPS and PBN work including training around the world for Instrument Flight Procedure Design (Singapore, Costa Rica and Guyana).

He has over 10 years of experience working with GIS (ESRI, QGIS, Postgis) and have recently become interested in using open source software and programming like python, javascript, HTML & CSS.

]]>
APP & API: FAA Geodetic Calcs http://fpassistant.com/app-api-faa-geodetic-calcs/ Tue, 26 Jan 2021 13:24:21 +0000 http://www.fpassistant.com/?p=6275 Further to earlier post here covering the addition to the SDK of the FAA formula for Geodetic distance and destination, these have now been added to the SDK example app. The current version of the App is available for Windows 10 in the Microsoft store.

APP showing example calcs

Distance : Will calculation the geodetic distance, showing in multiple units, between two lat/long coordinates along with the forward azimuth.

Destination : Will calculation a lat/long point based on a geographical point, a bearing and distance covered.

To assist in showing the SDK API’s, where possible the App will show an API hyperlink which will open your web browser showing the main API documentation call.

SDK API Documentation for FAA Destination

 

To validate the calculations, the FAA test cases are used in the SDK Unit Tests…

FAA WGS4 Direct Test Results

FAA WGS4 Direct Test Results

 

]]>
API & APP: FAA / ICAO RNP AR Sub-Calculations http://fpassistant.com/api-app-faa-icao-rnp-ar-sub-calculations/ Thu, 24 Sep 2020 10:25:20 +0000 http://www.fpassistant.com/?p=4334 To assist further with your calculation covering RNP AR from both FAA and ICAO (9905) the API for RNP AR has been extended to expose the underlying calculations covering the sources of variation and the bias errors for MOC.

The sources of variation include:

  1. Actual Navigation Performance Error (ANPE)
  2. Waypoint PRecision error (WPR)
  3. Flight Technical Error (FTE)
  4. Altimetry System Error (ASE)
  5. Vertical Angle Error (VAE)
  6. Automatic Terminal Information System (ATIS)

and for the bias errors this includes the Body Geometry (BG), Semi-span and International Standard Atmosphere Temperature Deviation (ISAD).

Below is a screen shot from the API Documentation website, full RNP AP API details are here.

RNP AR - API

RNP AR – API

To see these API in action, then looking at our demo app you can see an example implementation:

RNP AR : App input parameters

RNP AR : App input parameters

 

RNP AR - Sub Calculations

RNP AR – Sub Calculations

Above the sub-calculations are shown in 3 different ways, ICAO SI and Non-SI and in FAA imperial units

 

Map View: RNP AR Calculations

This view using Microsoft BING Maps, shows the Runway coordinates and the calculated FAP point.

]]>
App: ICAO RNP AR Calculations (9905) http://fpassistant.com/app-icao-rnp-ar-calculations-9905/ Fri, 31 Jul 2020 11:27:50 +0000 http://www.fpassistant.com/?p=3850 Recently calculations based on the ICAO RNP AR document 9905 were added as an RNP Class to the SDK; click here for further details. To start with this includes the FAP and temperature calculations. As a demo and for testing purposes, an RNP AR page has been added to the app along with a map that shows geographic data calculated. i.e. FAP coordinate

ICAO RNP Calculations

This is now available in the Microsoft store and please give any feedback especially for improvements you would like to see.

]]>
API: Geography Markup Language (GML) / ARINC 424 Routes http://fpassistant.com/api-geography-markup-language-gml-arinc-424-routes/ Tue, 12 May 2020 14:56:26 +0000 http://www.fpassistant.com/?p=3572 GML – Support added to the SDK

There are now further methods added to the GeoMapElement business objects to assist in the output to GML. But first, what is GML? The explanation on WikipediA is…

>> The Geography Markup Language (GML) is the XML grammar defined by the Open Geospatial Consortium (OGC) to express geographical features. GML serves as a modeling language for geographic systems as well as an open interchange format for geographic transactions on the Internet. Key to GML’s utility is its ability to integrate all forms of geographic information, including not only conventional “vector” or discrete objects.<<

This year, some development time has been looking at ways to “transfer” aviation data from the SDK into other geographical systems like CAD or GIS. Initially, supported was added for database geography spatial types but this requires a database; GML allows the export/import via a data file in XML format.

GML support is add through the GeoMapElements to return the geographic coordinate data in the format expected by the GML dictionary. The current support types are:

There is a lot more to the structure and other non-graphical data that is needed for a GML file so to make this easier, a GML Helper is now available in the SDK to make this much easier to create. Below is a code example to create a GeoPoint and export to GML:

GmlHelper gmlHelper = new GmlHelper();
GeoPoint geoPoint = new GeoPoint(new GeoCoordinate(0, 41));
gmlHelper.AddFeatureMemberGeoMapElement("GeoPoint", geoPoint, GmlDimension.Output2D);
gmlHelper.CompleteXml();
gmlHelper.Save(GmlHelperFilename);

and the GML XML file will contain:

<?xml version="1.0" encoding="UTF-8"?>
<!--Created by FPAssistant SDK - FPAssistant.com - CADology Limited-->
<FPAssistantObjects xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:gml="http://www.opengis.net/gml/3.2" gml:id="bFeatureCollection">
    <FeatureMember>
        <GeoPoint gml:id="e3534545-6ec8-4205-8bbd-0a8ad006fee5">
            <geometryProperty>
                <gml:Point xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" gml:id="f3586aa1-ac93-42b7-9ea3-ac8d8736648f" srsName="urn:ogc:def:crs:EPSG::4326">
                    <gml:pos>0 41</gml:pos>
                </gml:Point>
            </geometryProperty>
        </GeoPoint>
    </FeatureMember>
</FPAssistantObjects>

 

Displaying the GML in QGIS

Hence using the SDK, an ARINC 424 data file can be opened, the Enroute Airways can be retrieved and using the GML feature saved out to be used in a GIS package like QGIS. The image below is a screen shot from QGIS showing the airway routes which have been added a newly created “Layer” in the project which is pointing to the GML file.

Airway Routes

]]>
App: GML Export Feature http://fpassistant.com/app-gml-export-feature/ Wed, 22 Apr 2020 13:18:47 +0000 http://www.fpassistant.com/?p=3516 A new version of the App has been released and added to the Microsoft store today, this version had two areas for improvement and updates.

Firstly, GML support has recently been added to the FPAssistant Suite SDK and this allows for GML files to be created easily from the GeoMapElements objects. The feature has been added so that users can use FPAssistant with GIS products, QGIS in particular. Hence graphical objects created can be displayed in QGIS Layers. So the Basic ILS feature in the App now has an option to save to a GML file with various options (LineString/ Polygon with 2D or 3D coordinates). See below for further information about GML.

Secondly, the App has been updated to use newer versions of Microsoft development tools, this is for UWP and Windows 10 hence older versions of Windows 10 are no longer support with the latest version.

Link: FPAssistant App in Windows Store

GML – A quote from Wikipedia…

GML serves as a modeling language for geographic systems as well as an open interchange format for geographic transactions on the Internet

]]>
API & App: ICAO Visual Manoeuvring (circling area) http://fpassistant.com/api-app-icao-visual-manoeuvring-circling-area/ Fri, 15 Nov 2019 12:25:06 +0000 http://www.fpassistant.com/?p=2894 We had a recent request in to calculate the different radii for Visual Manoeuvring based on the ICAO PANS-OPS criteria in Doc. 8168. The definition from Doc. 8168 is explained as follows…

“Visual manoeuvring (circling) is the term used to describe the visual phase of flight after completing an instrument
approach, which brings an aircraft into position for landing on a runway which is not suitably located for straight-in
approach, i.e. one where the criteria for alignment or descent gradient cannot be met.”

A simple API method was designed and the mathematical calculations were added to make this easy for the calling application. Below is an example using C#…

VisualManoeuvringCirclingArea visualManoeuvringCirclingArea = new VisualManoeuvringCirclingArea(CriteriaUnits.NonSi)
{
AircraftCategory = VisualManoeuvringAircraftCategory.A100,
AerodromeElevation = new Altitude(1000, AltitudeUnits.Feet)
};

Once the object has been initialised, properties are available for the calculated results of Radius of Turn (r), Radius from threashold, etc. If a property is changed then the calculation is done again.

The full API documentation can be found by clicking here

This feature has been added into the Windows App and a screen shot is shown below.

Visual Manoeuvring Dialog

Visual Manoeuvring (circling) calculation in Windows App

]]>
Obstacle Evaluation / Analysis Feature http://fpassistant.com/obstacle-evaluation-analysis-feature/ Mon, 10 Jun 2019 12:08:07 +0000 http://www.fpassistant.com/?p=2230 With the increasing use of electronic Terrain and Obstacle Data (eTOD) there is requirement for fast and effective evaluation of this form of data against 3D surfaces (facets). The FPAssistant SDK will soon offer full support covering the 3 types of obstacles being analysed for intersection on planar and non-planar 3D surfaces.

Namespace FpAssistantCore.GeneralAviation.Obstacles

There are three types of obstacles defined within eTOD, these are:

  1. Point – This is a cylinder formation with a height and optional radius
  2. Line – This type of obstacle is akin to a staircase where a line with two point has the same height and there can be a sequence of these lines combined
  3. Polygon – This can be an irregular shape with a single height value

The simplest form of evaluation and analysis is checking an obstacle with a single 3D surface, this will return the results in a Struct defined as ObstacleEvaluationResult; this struct contains all the information obtained from the mathematical calculations.

There is a range of calculation options where obstacle data might not be known and a simple XY coordinate is all that is available.

Typically there is always a large amount of data with aviation and evaluation needs to be performed on large data-sets. FPAssistant SDK offers specific bulk data analysis which is designed to be fast and handle this data.

Once aspect is to use the full power of the CPU in the computer and most CPU’s today offer multiple core’s and threads to allow for parallel execution of instructions. The BulkObstacleEvaluation (BOE) feature uses this parallel option to process the obstacles as quickly as possible. In the future, it is expected that this might also use any spare processing capacity in the GPU but this will be investigate when large terrain data-sets are being processed.

 

]]>