If you have followed previous posts and dig a bit into code you notice that there is a room for improvement. Because of nature of main issue - calculation of coordinates based on various input data (reference point in different coordinate formats, bearings, magnetic variation, local Cartesian coordinate system etc.) it is obvious that well designed classes are a good choice to deal with it. We also want to track other information which I have already mention previously.
We have also started dealing with something else: parsing and extracting data from aeronautical sources. So far we are able to
A humble outlet of my ideas of how to deal with repetitive task based on aeronautical data
Thursday, 31 January 2019
Wednesday, 30 January 2019
Points in local Cartesian coordinate system - multiple points
It should be unsurprisingly that this post will be an 'extension' of the solution described in previous one: QGIS plugin to deal with many points in local Cartesian coordinates system. It is likely that data you will deal with will be in a tabular form, or in a form which tabular form can be obtain more or less easily.
Saturday, 26 January 2019
Challenge: QGIS Plugin to insert points in 'Local Cartesian' coordinates
In the previous post I create class, that allows easily to calculate latitude and longitude of point that is given in local Cartesian coordinates. Now it's time to make life even more easier - custom QGIS plugin. The result is as below:
Sunday, 20 January 2019
aviation_gis_tools: Point given in 'Local Cartesian' coordinate system
Sometimes points are given in Cartesian coordinates (x, y) with origin of coordinate and orientation of X and Y axes. There are a few approaches that we can transform from local Cartesian coordinate system (x, y) into global geographic coordinate system (latitude, longitude).
Here I am going to use approach similar to those described in post. In other words I will treat x, y coordinates and information about axes orientation as point with offset against reference point - origin of the local coordinates in this case.
LocalCartesianPoint is a class that will calculate latitude and longitude point
Constructor of LocalCartesianPoint class:
Here I am going to use approach similar to those described in post. In other words I will treat x, y coordinates and information about axes orientation as point with offset against reference point - origin of the local coordinates in this case.
LocalCartesianPoint is a class that will calculate latitude and longitude point
Constructor of LocalCartesianPoint class:
class LocalCartesianPoint: def __init__(self, origin_point: BasePoint, x_axis_brng: Bearing, y_axis_brng: Bearing, x: Distance, y: Distance): self.origin_point = origin_point self.x_axis_brng = x_axis_brng self.y_axis_brng = y_axis_brng self.x = x self.y = y self._calc_dd_lat = None self._calc_dd_lon = None
Saturday, 12 January 2019
aviation_db: QGIS plugin to insert obstacles
So, if we have got aviation_db (created in post) it's time to populate it with some real data. We have learnt so far, that obstacle data are published in variety of forms in aeronautical publications, especially the 'spatial' part of them: 'direct' coordinates, distances and bearings against point (threshold, aerodrome reference point), offset against distance and bearings against specified points,
Thursday, 10 January 2019
Parsing FAA NASR data: NATFIX file
NASR stands for National Airspace System Resource.
For more infromation about NASR, please refer to:https://www.faa.gov/air_traffic/flight_info/aeronav/aero_data/NASR_Subscription/
Monday, 7 January 2019
aviation_postgis_db1: tables
NOTE: The aviation_postgis_db1 is spatial database for training and educational purposes only: that means that is rather used to learn and practice how to use Python, GIS software and PostGIS to parse, create, maintain and visualize aviation data that to perform real work, at least at this stage of develpment cycle.
The aviation_postgis_db1 is spatial database to keep aviation data that can be obtained from various online sources such as: eAIP portals, FAA website with data (DOF, NASR). Content of databse is in limited scope: that means that some selected attributes are used to model aviation world. Selection is based on what information can be found in aeronautical publications (eAIP, FAA Digitial Obstacle File ) and etc.
Country table:
The aviation_postgis_db1 is spatial database to keep aviation data that can be obtained from various online sources such as: eAIP portals, FAA website with data (DOF, NASR). Content of databse is in limited scope: that means that some selected attributes are used to model aviation world. Selection is based on what information can be found in aeronautical publications (eAIP, FAA Digitial Obstacle File ) and etc.
Country table:
CREATE TABLE country ( rec_id serial, ctry_icao_code char(2) PRIMARY KEY, ctry_name varchar(100) NOT NULL );
Saturday, 5 January 2019
PostGIS aviation_database and introduction to real world examples
I have covered some basic but indispensable functionality (distance, coordinate, bearing, local coordinates etc.) so far. I have also developed some tools (QGIS plugins) that allows us to easily create features that are common in aviation world:
- polygons based on circles and circle parts (useful to create airspaces)
- creating points based on bearing, distance, offset against reference point - which is common way of defining location in aviation
Wednesday, 2 January 2019
QGIS plugin: PointByPolarCoordCSV (multipoint mode)
Subscribe to:
Posts (Atom)