Smathermather's Weblog

Remote Sensing, GIS, Ecology, and Oddball Techniques

Posts Tagged ‘UAS’

Moar kite flight pics

Posted by smathermather on April 27, 2015

        

Posted in 3D, Bundler, Image Processing, OpenDroneMap, OpenDroneMap, Optics, Photogrammetry, PMVS, UAS | Tagged: , , , , , , , , , | Leave a Comment »

Kite flight (too windy for balloons, ahem “aerostats”)

Posted by smathermather on April 20, 2015

Inflation of aerostat

The aerostat hanger.

The end of the string.

The 9-footer is just so stable. But not enough wind to lift the cameras this day.

And so we send up the 16-foot workhorse. See that little dot? That’s the camera array.

The 16-footer flew nice and vertical, but pulled really hard. Processed images to follow soon.

Canon S100s from Kaptery — the silver one is an NIR adapted one; the black one is RGB color.


Edit: forgot the camera array:

CIR image from balloon:

IR image from the flight.

IR image from the flight.

Posted in 3D, Bundler, Image Processing, OpenDroneMap, OpenDroneMap, Photogrammetry, PMVS, UAS | Tagged: , , , , , , , , , | Leave a Comment »

Airspace — A deep rabbit hole

Posted by smathermather on October 25, 2014

In previous maps we looked at Class B, C, and D airspace. Let’s add in Class E0 and E5… (not yet in 3D):

(Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under ODbL)

Map showing Class B, C, D, E0, and E5 airspace

Map showing Class B, C, D, E0, and E5 airspace

Previous posts:

https://smathermather.wordpress.com/2014/10/25/airspace-is-complicated-and-so-i-abuse-postgis-once-again/

and

https://smathermather.wordpress.com/2014/10/25/airspace-is-complicated-and-so-i-abuse-postgis-once-again-reprise/

Posted in 3D, Cartography, Database, Drone, PostGIS, PostgreSQL, SQL, UAS | Tagged: , , , , , | Leave a Comment »

Airspace is complicated — and so I abuse PostGIS once again — Reprise…

Posted by smathermather on October 25, 2014

In the previous post: https://smathermather.wordpress.com/2014/10/25/airspace-is-complicated-and-so-i-abuse-postgis-once-again/ we explore the 3D shape and complexity of controlled airspace.

Now here’s the rest of the code. We’ll add our affine transformation ala Seth Fitsimmons:

    SELECT 
        ST_Affine(
            ST_Rotate(geom, -pi() / 2),
            -- isometric
            cos(pi() / 6), -cos(pi() / 6), 0,
            sin(pi() / 6), sin(pi() / 6), 1,
            0, 0, 0,
            0, 0, 0
        )
    AS geom

And integrate that into our original function:

-- Inputs are a geometry and an elevation to move the geometry to
CREATE OR REPLACE FUNCTION threed_iso(footprint geometry, elevation numeric)
  RETURNS geometry AS
$BODY$

-- Force 3D, then translate to the input elevation
WITH floor AS
(
    SELECT ST_Translate( ST_Force3DZ(footprint), 0, 0, elevation ) AS geom
),
-- Now make isometric (and begin Seth Code)
iso AS
(
    SELECT 
        ST_Affine(
            ST_Rotate(geom, -pi() / 2),
            -- isometric
            cos(pi() / 6), -cos(pi() / 6), 0,
            sin(pi() / 6), sin(pi() / 6), 1,
            0, 0, 0,
            0, 0, 0
        )

    AS geom
    FROM floor
)
-- We'll force it back to 3D so QGIS is happy
SELECT ST_Force2D(geom) FROM iso
;
$BODY$
  LANGUAGE sql VOLATILE
  COST 100;

And voila!

DROP TABLE IF EXISTS class_c_isoc;

CREATE TABLE class_c_isoc AS
	SELECT gid, airspace, name, lowalt, highalt, threed_iso(geom, lowalt::numeric * 5) AS geom
	FROM class_c_subset;

Let’s take a look at Washington, DC and surrounds, another nice complicated example:

3D Figure of DC controlled airspace

3D Figure of DC controlled airspace

And again with map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under ODbL:

3D Figure of DC controlled airspace

3D Figure of DC controlled airspace

 

Posted in 3D, Cartography, Database, Drone, PostGIS, PostgreSQL, SQL, UAS | Tagged: , , , , , | 3 Comments »

Airspace is complicated — and so I abuse PostGIS once again

Posted by smathermather on October 25, 2014

Let’s ignore for a moment the drone hobbiest / enthusiast. What is the shape of airspace for airplanes and commercial and government unmanned aircraft flying under Certificates of Authorization, and how can we visualize it?

Thanks to Anita in the last post, we have the Class B,C,D,E Airspace Shape Files which helps us define the overall shape of controlled airspace.

Map of Detroit, Cleveland, and Pittsburgh Class B Airspace

Map of Detroit, Cleveland, and Pittsburgh Class B Airspace

But, these are 3D things. I want to visualize them thus. Let us put some constraints on the problem. Let’s do it all in PostGIS, that way we can see it in QGIS or on the web. Let’s not use full PostGIS 3D (i.e. the SFCGAL library), not because it isn’t awesome (it truly is) but because it can be hard to install at the moment (although see https://github.com/vpicavet/docker-pggis for an easy way with docker). Finally, true 3D with unconstrained viewing angles and 100% flexibility is… is… well it usually sucks. So, we’ll stick to isometric viewing (thanks to Seth Fitzsimmons of Stamen http://stamen.com/ for his PostGIS isometric code which will be released upon his word). (Update — all the code is there…):

-- Inputs are a geometry and an elevation to move the geometry to
CREATE OR REPLACE FUNCTION threed_iso(footprint geometry, elevation numeric)
  RETURNS geometry AS
$BODY$

-- Force 3D, then translate to the input elevation
WITH floor AS
(
    SELECT ST_Translate( ST_Force3DZ(footprint), 0, 0, elevation ) AS geom
),
-- Now make isometric (and begin Seth Code)
iso AS
(
    SELECT
        ST_Affine(
            ST_Rotate(geom, -pi() / 2),
            -- isometric
            cos(pi() / 6), -cos(pi() / 6), 0,
            sin(pi() / 6), sin(pi() / 6), 1,
            0, 0, 0,
            0, 0, 0
        )

    AS geom
    FROM floor
)
-- We'll force it back to 3D so QGIS is happy
SELECT ST_Force2D(geom) FROM iso
;
$BODY$
  LANGUAGE sql VOLATILE
  COST 100;

Ok, now let’s rock some geometries with this bad function:

DROP TABLE IF EXISTS class_c_isoc;

CREATE TABLE class_c_isoc AS
	SELECT gid, airspace, name, lowalt, highalt, threed_iso(geom, lowalt::numeric * 5) AS geom
	FROM class_c_subset;

And what do our controlled airspaces look like?

Isometric view of Cleveland controlled airspace

Isometric view of Cleveland controlled airspace

Kind of conical, in this case with some “wings” that serve as approaches. It makes sense, I guess. At the center, where the airport is, controlled airspace goes from the ground up. As we get further from the airport, a set of concentric rings starting at higher elevations provide a controlled space that allows for landing and taking off.

Image of Cleveland airspace with Stamen Toner map as backdrop

Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under ODbL.

There are more complicated ones, naturally. We need look no further than Detroit for additional complexity:

Visualization of Detroit controlled airspace

Visualization of Detroit controlled airspace

airspace_detroit_toner

No wonder every time I fly through Detroit, no matter where I’m going, I end up flying over Lake Erie.

If we want really complicated, we need look no further than Cincinnati:
airspace_cinci

What is going on there? Is that due to shape of the hills, or city boundaries?

Finally, what does airspace look like over Ohio, West Virginia, and Pennsylvania (etc.), overall?
airspace_is_complicated_regional

And while the following map isn’t quite right, here is a figure including many of the small airports sans controlled airspace:

View of all controlled and uncontrolled airspace across Ohio and neighbors.

View of all controlled and uncontrolled airspace across Ohio and neighbors.

May an aeronautical pox be upon you!
The above line was not intended in bad taste, but just an homage to the “red dot fever” of early neo-geography (neo-geography which I’m informed definitionally doesn’t exist). Only a few minutes ago, it dawned on me that the deleted phrase could be misinterpreted these days… .

On a related note, if you want an interesting analysis of ebola, read Zeynep Tufekci’s analysis.

(for the record, all heights are exagerated by 5x, for clarity of reading).

Also, in case it wasn’t obvious: Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under ODbL.

Posted in 3D, Cartography, Database, Drone, PostGIS, PostgreSQL, SQL, UAS | Tagged: , , , , , | 4 Comments »

Someone is wrong on the internet…

Posted by smathermather on October 23, 2014

Ok @Mapbox, I’ve given you enough grace. I pulled the grumpy-old-man thing with Kenneth Field from ESRI a couple of weeks ago, and ended up apologizing. If i only give ESRI a few hours of grace, 3 months of grace for you is more than fair.

Now, to raise my foot up. We’ll see if it ends up in my mouth again.

Ok, so Mapbox and drones. Mapbox and drones. Those folks are excited about drones. They’ve got a toolchain their working on, and integration into their existing services, and lots of posts about drones. Downright giddiness I say:

https://duckduckgo.com/?q=site%3Amapbox.com+drones&t=canonical

And then this:

Really? 3 months ago, you launch “Don’t Fly Here”, create a repo for feedback and improvements to the data, but the biggest problem that you haven’t even tried to fix is the map really under represents the restrictions on where you should fly if you are trying to stay out of controlled air space, and the major update you do is adding temporary flight restrictions. Glitz and glory over getting the fundamentals right.

Here’s the current Mapbox no fly zones:

not_quite_right

But, we are missing a lot of smaller airports that also have controlled airspace. Let’s be considerate to our hobbiest drone friends and put them in with 3-mile buffers and refine our 5-mile buffers on medium and large airports to include the edges of the airport, just to be on the safe side:

a_little_righter

Well, that’s a bit less inviting. But hey, still plenty of places to fly, right? Uh, no. We forgot, according to the Aeronautical Information Manual, in certain busy airspace, there is a Mode C requirement for all craft flying in the airspace. This means you need to have a transponder to fly in this space between ground and 10,000ft above mean sea level. This is a transponder that weighs several times what your drone can lift — in otherwords a “non-starter”, effectively making these zones no-fly zones as well. What does Hopkins look like with it’s 30 nautical mile Mode C requirement?:

even_righter

Now, to be fair, this is murky legal territory at best and I am not a lawyer. How much applies to hobbiests given the 1981 Advisory Circular I can’t say I know. But, if we are to propose a map to clarify where we can and cannot fly as hobbiests, then we should be including as much information (in a simple and easy to use way) as we can. On these grounds, “Don’t Fly Here” fails.

It’s cool though. It’s an open source data project in an open source community. Community contributions and knowledge will fix all mistakes in time, so my pull request to get to the second map will be reviewed and rejected on solid grounds or integrated, right?

https://github.com/mapbox/drone-feedback/pull/40

Three months later, I’m still waiting… . Fix your map please. Engage your repo users. Do this right. Please.

Posted in Drone, UAS | Tagged: , , | 11 Comments »

Getting Bundler and friends running — part deux

Posted by smathermather on May 6, 2014

In my previous post on Getting Bundler and friends running, I suggested how to modify an existing script to get Bundler and other structure from motion parts/pieces up and running.  Here’s my follow up.

Install Vagrant and VirtualBox.

Download (or clone) this repo:

https://github.com/OpenDroneMap/odm-vagrant

Navigate into the cloned or unzipped directory (on the command line), run

vagrant up

Go have a cup of coffee. Come back. Run

vagrant ssh

Congratulations. You have an Ubuntu machine capable of all sorts of StructureFromMotion / OpenDroneMap goodness.
Next: A tutorial on how to use the tools you just compiled… .

Posted in 3D, Bundler, Drone, Photogrammetry, PMVS, UAS | Tagged: , , , , , , , | 5 Comments »

Getting Bundler and friends running

Posted by smathermather on April 27, 2014

Anyone who has jumped down the rabbit hole of computer vision has run into dependency h*ll getting software to run.  I jumped down that hole again today with great success that I don’t want to forget (these directions are for Ubuntu, fyi).

First, clone BundlerTools:

https://github.com/qwesda/BundlerTools

This will download and compile (almost) everything for you, which is a wonderful thing.  The one exception is graclus.  This doesn’t have a direct download access anymore– you have to register, and then you will receive and e-mail with the download. So, to get the BundlerTools to work, you will need to post this someplace web accessible.  Then open and modify install.sh (https://github.com/qwesda/BundlerTools/blob/master/install.sh) and change the following line (128)

graclus.tar.gz https://www.topoi.hu-berlin.de/graclus1.2.tar.gz

to match your new download location.

Now change install.sh to executable:

chmod 700 install.sh

and run

./install.sh

Posted in 3D, Bundler, Drone, Photogrammetry, PMVS, UAS | Tagged: , , , , , , , | 1 Comment »

Drone Pointilism

Posted by smathermather on December 23, 2013

Just an image today.

image of UAS derived points using structure from motion.

Image of UAS derived points using structure from motion.

Posted in 3D, Bundler, Drone, Image Processing, Optics, Photogrammetry, PMVS, PostGIS, QGIS, UAS | Tagged: , , , | Leave a Comment »

UAS (drone) Footprint Geometries Calculated in PostGIS with SFCGAL — for real this time

Posted by smathermather on December 15, 2013

In my earlier post, I made a claim that SFCGAL was used in this figure:

Figure showing overlapping viewing footprints from images from UAS flight.

It dawned on my afterwards, while I was using 3D, I hadn’t actually employed any of the analysis goodies that come with SFCGAL.  Well, here it is– a footprint as calculated using the view angles and a real terrain model:

Map showing TIN of intersection of digital terrain model and viewing cone from UAS.

Here it is compared with the initial calculation:

Comparison of previous figure with original less correct estimate.

Posted in 3D, Analysis, Database, Drone, Image Processing, Optics, Other, Photogrammetry, PostGIS, PostgreSQL, QGIS, SFCGAL, SQL, UAS | Tagged: , , , , , | 3 Comments »