Showing posts with label computer bricka-brack. Show all posts
Showing posts with label computer bricka-brack. Show all posts

Saturday, December 30, 2017

Convert Large GIFs to Video


For GIFs under 100 MB, there are plenty of free tools around like Convertio that will convert GIF animations to AVI, MPEG, etc. But I'm not talking about HD reaction memes here. I'm helping to process full on NOAA AWIPS radar graphics. The following example is 2015 x 1224 px, and 300 frames long. These GIFs range from 97 to 170 MB, so the free online tools aren't going to cut it right now.

I'll do this manually with:
  • GIMP: A free, open source alternative to Photoshop
  • A GIMP plugin called Export Layers
  • Sony Vegas, or any other video editing platform - even Windows Movie Maker

Download & Install the Plugin

  • Download and install GIMP
  • Download the Export Layers plugin (zipped)
  • Copy the export_layers folder and the export_layers.py Python script file to your home directory:

    My Plug-Ins directory is: C:\Program Files\GIMP 2\lib\gimp\2.0\plug-ins but you may need to do some sleuthing depending on your installation, version, etc. If so:
    •  Go to Edit > Preferences
    • Expand the Folders group
    • Select the Plug-Ins preferences to view the Plug-Ins folder locations
    • Copy the folder listed along with your software installation location
  • Open GIMP (or restart GIMP) and check the File menu for the new Export Layers options

Open a GIF in GIMP

File > Open will load a GIF frame by frame as separate layers, in descending order. The first frame of the animation will be at the bottom, and the last frame will be located up at the top. Conveniently, the layers are automatically named with a frame position, and a frame duration in parentheses. These are helpful in case any frames (especially the first or last frames) are longer than the rest of the frames in the animation.

Export Layers

Now that the Export Layers plug-in is installed, you can immediately export the loaded GIF layers as individual frames.
  • Create a new directory to organize these frames separately since it'll only be a temporary intermediate set of files
  • Back in gimp choose File > Export Layers
  • Now simply choose the new directory that was just created to store these exports. Accept all default settings, and click Export Layers then Export to process the exports

Load Frames in Video Editing Software

  • Open your preferred video editing software
  • Find the preferences section that handles the default duration of still frames. Set this value to match the general frame rate of the GIF. In the screenshot above, most frames are 50 ms, while only the first and last frame of the animation hang a bit longer to denote the beginning and ending of the radar loop.

    In Sony Vegas:
    • Options > Preferences
    • Editing tab
    • Set New still image length (seconds) to 0.05 seconds (50 ms)
    In Windows Movie Maker:
    • Load all individual frames
    • Select all frames (Ctrl+A)
    • Navigate to the Edit tab
    • Set the Duration to 0.05 seconds
  • In Vegas, now Import the frames which will have the duration set by default
  • Next, select the first frame and expand it or manually set the Duration value for that individual frame to match the duration listed in its file name. In this example, the first frame hangs for 700 ms (0.7 seconds)
  • Repeat this step for the last frame in the animation: 1500 ms (1.5 seconds)

Export

  • Export and share as you need

Tuesday, May 9, 2017

Quick Emoji on Desktop

! When this was first published, Facebook and other apps did not have desktop emoji support. Even now, it's a bit clunky and cramped so this post might still be helpful

I love using emojis on mobile. It's childish, but I entertain myself by posting eleven cry-laughing faces in a row; or any insane flood of emotional responses and random items. I find that it adds a bit of dimension to plain raw text without having to find the exact rage comic or photo to accompany a quick message.

Even my wife sends entire emoticon shopping lists.



On desktop, however, it's annoying to have to Google a set of icons to use for just a casual Facebook interaction. Using Chrome, I created a bookmark and made a short keyword to quickly launch a preferred page of symbols.

Link a Page to a Keyword

I've been using this set of "facebook symbols" because its layout is decent, the emoji organization is similar to my Android, and it automatically copies single selections and it can copy an entire string of emoticons. Something like Emojipedia is not as rapid-user friendly.
  • Navigate to Chrome Settings (chrome://settings)
  • Scroll down to the Search category and click Manage Search Engines
  • Scroll to the bottom the lower box (Other search engines) 
  • Type a page title in the Add a new search engine box. Something like Facebook Emojis will do
  • Pick a short keyword to launch the page. For my Facebook Emojis page, I entered fbe here
  • Finally, paste the URL of the page in the last textbox
  • Click Done and close Chrome Settings
Now simply open a new tab (Ctrl+T) and type your keyword to launch the page.

Tuesday, April 25, 2017

Setup Arduino Print Line / Debug Print / Console Log Messaging

It took me a few extra minutes to figure out why any Serial.println() statements weren't appearing in my Arduino IDE's Serial Monitor. I'm brand new to Arduino coding, but it seemed like if you click the Serial Monitor icon your debug/print line messages should show up there.

For this basic example, I set the Arduino Uno's onboard LED on Pin 13 to blink twice per second, with a println() statement running just after each change of the LED's state. Esssentially:

  • Turn on the LED
  • Write me a message that says On
  • Turn it off
  • Write Off
  • Etc.


It turns out that I needed to set the channel to communicate with the IDE in code.

Inside void setup(){} add the line Serial.begin(9600); where the value 9600 matches the baud rate in the Serial Monitor.






That's it. It begins writing to the monitor as soon as you upload the sketch and the device resets itself.

There's some more information about the begin() method on the Arduino Language Reference

Thursday, March 24, 2016

Problems with Font Awesome Icons

I love Font Awesome, but it's been a pain in the ass for me to work with their icons on my Windows machine using Inkscape. I blame this on Inkscape's buggy text element interface, but I'm happy to use it as a free, open source package.

Anyhow, it's hard to select an icon from the Font Awesome Cheatsheet or from individual icon pages becasue I'm not able to select the icon directly. I end up copying a space character.


I ended up relying on Microsoft word to act as a medium to get access to copying the character:

  • Open Word
  • Type the Unicode address, for instance f041
  • Select the 4-digit code and hit Alt+x to convert the unicode value to its designated character
  • Change the font of the unknown character to FontAwesome, then I can finally move on with my life...
Even after I'm able to copy the desired character from Word, Inkscape still doesn't always work since it's a nightmare tying to tell Inkscape to render the character using the FontAwesome font.

Anyway, here are a few things to consider to ease the transition

Download the Latest Font File

If you have any problem, first update to the latest Font Awesome font file:
  • Uninstall any current Font Awesome fonts you have installed. Make sure to close any software that's running it including Inkscpae, Gimp, Illustrator, or even Word or Outlook just to be safe
  • Go to FontAwesome.io and click the Download button to grab the latest version
  • Install the .ttf file and try again

Chrome Won't Let me Select Icons

I found a cool Chrome extension that streamlines the search-copy method.

Download the Font Awesome Icon Picker extension for Chrome for a quick Font Awesome reference. It'll let you easily navigate the catalog of icons, and most importantly, it allows you to directly highlight and copy individual icons.


Since I started using this, I haven't had a problem directly pasting the desired icon directly into Inkscape.

Thursday, February 18, 2016

Rapidly Send Encrypted Information via Email

Never send sensitive information through email, or text. This includes passwords, social security numbers, bank account information, maybe even sensitive medical information, etc.

Sometimes you can't chat in person or over the phone to tell someone the information they need, or maybe you just need to send it to yourself for another location. Take a moment to quickly encrypt that data before sending it.

All you really need to encrypt information is a common program called 7-zip. Download and install it from 7-zip.org.

Encrypt your data:

  • Create a new text document. A Notepad or Wordpad .txt file is the fastest, but feel free to use Word, Excel, a nice looking template saved as PDF, or anything else
  • Write your sensitive data, save the file, and close the document

  • Right click on the file, navigate to the 7-zip sub-menu and choose Add to archive

  • Enter a password, choose your desired settings, and also check Encrypt file names just for an extra level of security. Click OK to continue

A zipped file with a .7z extension will be created. If a user attempts to open it, they will be prompted for a password. Without the password, file names nor the enclosed content will be able to be viewed, so any enclosed data is safer to send through e-mail, etc.


Thursday, December 3, 2015

Automating Password Management

I have a password that I don't particularly need to be super secret, but I don't really want to memorize another password either.

I  put together a script that will automatically copy the password to the clipboard (essentially a Control + C command of text). I threw this into a project folder and I can run the script quickly by double clicking it.

For the sake of slight security, I named the file something boring and unrelated.

Code

from Tkinter import Tk
r = Tk()
r.withdraw()
r.clipboard_clear()
r.clipboard_append('password')
r.destroy()


Setup

  • Install Python if it's not already installed
  • Copy the code above
  • Paste into Notepad or another text editor
  • Replace the highlighted password with your own password
  • Save as type: All Files (*.*)
  • File Name: "SomeFileName.py"
    • Wrapping the filename in quotes ensures the file type will be set to .py - a python script file
  • Double click on the file to run it. A Python window will briefly open and close automatically
  • Navigate to a text area and hit Ctrl+V or use some other paste command

Sunday, November 29, 2015

Color Development: Tools and Methods

I accidentally went nuts writing about the basics of digital color, so I decided to make it a separate article.  Check that out:
Color Development: Digital Color Basics
In this article, I'll list a few tools I use for color development, and discuss how I like to brew and develop colors in graphic design and cartography environments.

Color Brewing

These are some of my favorite tools to build and tune color sets.

Browser Utilities

ColorPick Eyedropper



ColorPick Eyedropper is a Chrome extension that enables you to quickly grab a color from a Web page. There's even a rad little magnifying visualization that helps zero in on the exact pixel you need.



Desktop Utilities

ColorPic


ColorPic is a great desktop tool to help snag Hex, HSV, RGB, CMYK, values, and save your own custom groups of color. There are even sliders, and grids to use to help build or tune your colors if necessary.

ColorOracle

ColorOracle is a fantastic color deficiency simulator. It's a quick way to preview your entire monitor view for any potential issues with color patterns which may be difficult to read for those with color-vision impairments. No exporting


Friday, July 24, 2015

Add a Web Mapping Data Service to ArcMap

I have a hole in my current coverage of waterbodies - I need to know the name of a few streams, and the dataset of Rivers doesn't include the stream I need. I don't necessarily want to download and manage another whole dataset of flowing waters. Temporarily referencing a Web mapping service in my ArcMap project would be great.

The best database I am aware of that includes comprehensive waterbody geometry and names is the USGS's National Hydrography Dataset. Thankfully, they do indeed provide a Web mapping service!

Search for a Mapping Service

A quick Google search with the phrase nhd web map returns a direct link to the USGS National Map's map service endpoint:

http://services.nationalmap.gov/arcgis/rest/services/nhd/MapServer

  • Copy this URL from the browser for use in the next section
These Map or Feature Service URLs (referred to as "service endpoints" or simply "endpoints") aren't always so easy to find, so other projects/data services may require more digging. Look for clues in the URL itself such as the /rest/services/ directories, and for minimal styling (basic-looking fonts, colors, lists, etc.).

To link to a specific portion of the map service (for instance a specific layer or layer group within the main service layer), follow some of the links under the Layers list (see below). Copy that specific URL for use in the next step if you would like. Compare the following URL that represents the Waterbody layer which is layer position 11 in the service package:




Add a Service to ArcMap

  1. Click the Add Data button 
  2. Change the Look in category to GIS Servers

  1. Double click on Add ArcGIS Server to launch the Add ArcGIS Server wizard
  2. Accept the default value to simply Use GIS services and click Next
  3. Paste the Server URL that was copied from where you found the chosen service endpont
  4. Leave the User Name and Password blank if the server is open for public use, and click Finish

Adding the Service Layer to an ArcMap Project

  • Hit the Add Data button again if you aren't already there
  • Ensure your Look In category is pointing to GIS Servers, just as we did in the last section
  • Double click on NHD on services.nationalmap
! Note: Slow double click on this element to rename this to "National Hydrography Dataset" or anything else if you don't prefer this title

  • Double click the nhd service layer to add the dataset to your project
! Note: This is a large dataset with that's referencing a ton of layers and information. Depending on the speed of your computer, your network connection, and the size of your existing ArcMap project, it may take some time for the layer to be added to your project.


Structure of the NHD map service. Notice that scale-
dependent drawing is set for a number of layer groups.

Sunday, June 7, 2015

Make New Project Directory

I like to organize photos, videos, GIS projects, and developments projects in separate "project directories." Each project folder has the following format:
YYYY-MM-DD - Description

File Structure Example:
  • [Drive]:\
    • Development
      • 2014-10-04 - Scuba Calculators
      • 2015-06-01 - Make New Project Directory
    • GIS
      • 2012-05-14 - Whatever Project...
        • Shapefiles
        • Exports
        • From Client
        • MXDs
    • Photos
      • 2013-04-05 - Birthday in Midtown
        • Hilights
          • Edited
        • Original
      • ...
    • Videos

This is an easy way to chronologically catalog projects within their respective folders, but I'm lazy, and I hate having to look down at my task bar clock to find out what the date is, and I can't stand typing in that endless date!

Solutions Posted on GitHub

I posted all the scripts I came up with for this on my GitHub page under the Make New Project Directory repo.

Batch File

I originally tried coming up with a Batch file (.bat) to add the folder using the format I wanted. It's easy to make a predefined folder structure using CMD commands, but pulling that date style turned out to be a little tricky, so I looked elsewhere.

Python Script

I came up with a great Python script that will automatically add a folder that's named with the current date followed by XXXXDescriptionXXXX (so I could easily find and rename it further). Just double click the python file and the new project folder is added. Additionally, I repeated the code to add subdirectories for common sub-folders: Exports and Shapefiles for GIS projects; Originals, Highlights, and Edited for photos & video; etc.


Pros:

  • This is great! It works automatically
  • Simple code. It executes in 6 lines.  View the code here

Cons:

  • I quickly realized how awfully tedious it is to have to slow double click to rename, something every time I create a new project. I need some kind of interface to enter a project name, and I haven't had great luck using TkInter yet.
Note: I've heard good things about PyQt for an interface
  • I don't necessarily want those sub-directories for every project

VBScript

My best solution so far was to write a VBScript (.vbs format) to prompt me for a project name AND ask if I want to add those common project sub-folders.






Pros:

  • Most efficient method so far
  • Quick, easy, no renaming
Cons:


  • Slightly longer code (24 lines without comments & line continuation), but it does include some more logic handling. View the code here.
  • This is still generalized, and the "common subdirectories" option is hard coded (i.e. I don't need a Shapefiles directory in a video editing project).
Overall, This VBScript method opens the door to writing a slightly larger executable in Visual Studio with a more dynamic interface to add any kind of project folder - but that moves away from the original requirement of a highly rapid way to add a project folder automatically. I think this nails it.




    Tuesday, March 24, 2015

    Color Development: Digital Color Basics

    I intended to just write about how to create colors and suggest some cool tools I've found, but this got out of control. Check out the next article:

    Color Development: Tools and Methods

    There are various ways of building colors for a project or symbol. For general, rapid selection, users are often offered a basic color palette to select a color:

    Default color palette from ArcMap

    Color palette from Word

    Even MS Paint offers a few basic colors
    Notice that each of these provide an option to edit the color further.

    Color Values

    Colors commonly have names: like Black, White, Red, Orange, Yellow, Green, Blue, Purple, Cyan, Magenta, Olive Drab, etc.
    ! Specifics aside, Black, White, and shades of grays are referred to as colors here
    Various environments like CSS, and HTML accept some reserved names to act as color values, however those names correspond to very specific numeric values (discussed below), and can be easily referenced on lists like this one. A color isn't "like red" to a computer. It's Red, or it's not.

    In the world of coding, there's a need to describe color in a more articulate way than just names. Due to the diverse nature of how light acts (See Further Reading, at the end of this article), there are also a number of different methods that programmers and graphic artists use to build and digitally represent color. Although the various methods may describe a color value differently, they are basically just providing a group of three or more numerical values that act as measurements of various criteria that go into building a representation of color. There are four types of units you may expect to see in these groupings:
    • Percentage - values from 0 to 100%
    • 8-bit - Values from 0 to 255
    • Hex - Values from 00 to FF
      • As in 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, 11, 12, etc.
    • Degrees - Values from 0 to 360º
    Zero will always equal zero in any of the first three modes, but the "full" value values will be either 100%, 255, or FF. Those three are all equal values, written in different base units; in the same way that a measurement of 10 centimeters  is 100% of 3.93701 inches.

    I'll get to degrees later in HSV/HSL.

    Color Models

    RGB

    RGB Selector in ArcMap

    The RGB triad stands for Red, Green, and Blue. Colors in this model are altered by adding or subtracting values in for any of the three primary color channels. As an "additive model," greater values result in brighter color instances, and lower values result in darker colors. This is based on a model of emitted light, where mixing red, green, and blue light produce the color white.

    Users can adjust the sliders in this interface to control values of each of these channels between values of 0 and 255; where 0 = no value, and 255 = the full value of a given channel.

    Alternatively, users can type a number they have in mind - this is particularly helpful when one wants to jump between increments of a values when searching for a color to use (e.g. changing the red value from 10, to 20, to 30, using the keyboard's number pad).

    Color values are read as (#, #, #) or 
    (Red value, Green value, Blue value). Since the RGB model is 24-bit (16.7 million possible color combinations), the values in each of the three channels will be some combination between 0 and 255.

    As the example above illustrates, to build the color Red, tune the Red channel all the way up to 255, and leave Green and Blue channels at 0 since there should be no other color in Red but red. Done. Aside from various settings on your personal monitor, this is the standard, globally accepted, fullest possible value of Red.

    Mixing two of the primary colors, Red, Green, or Blue produces
    the "additive secondary" colors, Cyan, Magenta, and Yellow.
    Mixing all three primary colors produces White.


    The value (0, 0, 0) produces Black (the absence of light), and (255, 255, 255) produces White. Shades of gray are produced by matching all three values from (1, 1, 1) (darkest gray but not Black) to (254, 254. 254) (lightest gray but not White).



    Back to our example of building the color Red, adding some value to the Green or Blue channels will yield some other color that may look reddish, but it isn't Red.

    Additonally, the ArcMap interface gives you hints as to what other colors can be created from the current settings. With Red at 255, adjusting the Green channel will produces shades of red, through orange, and finally arriving at Yellow. Alternatively, adjusting the Blue channel will move through shades of reds and pinks and finally arrive at Magenta.

    This is a good model to use to begin learning how to mix colors, but it's not my preferred model to use because it's tricky to imagine how to add a little red or remove a little green to target your preferred color.

    CMYK

    CMYK is a subtractive color model, used most often when printing is involved as an output medium. Pigments and inks absorb light (as opposed to how RGB works to emulate emitted light), so this model helps printers create the correct color with their ink print heads, as opposed to a computer monitor's LED pixels.

    CMYK stands for Cyan-Magenta-Yellow-Key, where Key represents a black ink head. Black is used in printers as an efficient and controlled way to provide shadows, dark values, and black text to the printed material.

    Just like mixing color with paint (where light is absorbed and the remaining wavelengths provide the observer perceived color), the CMYK model begins with the color white. Value is added to the channels, and lightness is removed. So zero values are White, and full values in all channels produce Black. Additionally, a full value in the Key channel also produces Black, regardless of the settings in the CMY channels.

    Notice that the secondary colors in the RGB model produce Cyan, Magenta, and Yellow. Conversely, mixing two primary colors in the CMYK model will produce Red, Green, and Blue.

    This is also not my favorite model to use to produce color, and it's generally just a pain in my ass when I'm printing large format maps.

    HSV / HSL / HSVa / HSLa

    HSV dialog in ArcMap

    HSV selectors in Gimp, adjacent to RGB selectors
    with the Hex code value, below

    HSLa Selectors in Inkscape

    These triads stand for Hue-Saturation-Value, and  Hue-Saturation-Lightness. The following "a" stands for Alpha, which is a metric of transparency. Sometimes this is included as a channel, sometimes it isn't. It's very important to recognize whether or not it's included. If you don't want to bother, make sure it is set to 100%, or 255, or FF.

    This model is a bit tricky, so let's break it down.

    Hue can be though of as the root color you're looking for on the color wheel: either a reddish, or a blueish, or a yellowish color, etc. The wheel starts at 0º, and continues through oranges, yellows, greens, blues etc, and eventually ends back at red at 360º; which also = 0º, but that's okay because both values are the same red.

    A color wheel with 0° and 360° at the 12:00 position


    Next, Saturation describes how muted gray (lack of color) or vibrant (fully colored) a color should be. This is usually a percentage, where 0 means no color is present and 100% represents the full colored potential of a color.

    Examples of saturation gradients for several hues,
    which correspond to the color wheel, above
    ! Note that the units can change between software packages. Inkscape uses 8-bit values (numbers 0-255) for each, HSLa channel. So a Hue value of 255 will correlate to 360° on the color wheel, and a 255 in the Saturation channel is equivalent to 100% saturation.

    If you are building colors that are way off, you may need to check your units and convert when necessary.
    Finally, Value and Lightness and are.. Also a bit tricky. Go ahead and read about the differences over on Wikipedia. Essentially, this component controls how light or dark a color will be.

    Zero values in both HSV and HSL produce the color Black, regardless of Hue or Saturation settings.

    The main difference between Value and Lightness is that the highest Value setting produces a fully saturated color (see the Saturation illustration above, and the ArcMap HSV selector below), and



    the highest Lightness setting will produce a pure White color (see the Inkscape HSL selector below). A fully saturated color using HSL will have a Lightness value of 50% - or 128 (as Inkscape uses 8-bit values for each channel).


    Hex

    I didn't really touch on Hex, other than that it is another method of preserving a value of color. There's not much to it. It essentially is just a concatenation of the three or more channels in the fewest logical number of characters.

    Short answer: Hexadecimal notation throws a couple of letters after the number 9 so each significant figure can be one of 16 possible values:

    0 1 2 3 4 5 6 7 8  9  A  B  C  D  E  F
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

    Hex usually stands for RRGGBB, and sometimes for RRGGBBAA (for Alpha).

    To find the Hex value of Red using the common six-digit RRGGBB method, first find the RGB value of Red:

      (255, 0, 0)

    Then convert each value to its hex equivalent:

    (FF, 00, 00)

    Finally, remove the formatting, and stick the three values together:

    FF0000
    123456

    For Inkscape and the few other examples of hex RGBa values, just throw another set of F's on the end. Here, we'll have a fully opaque value of Red:

    FF0000FF
    12345678

    HTML & CSS

    There are two ways to write hex color values in CSS and HTML.

    There's the long way (again, using Red as an example):

    #FF0000

    And when all three RGB channels use doubled digits for their channel, you can use a 3-digit format:

    #F00

    Additional examples:

    #112233 = #123
    #00FF00 = #0F0
    #333333 = #333

    Further Reading

    The physics of light are fascinating. I learned a lot about the subject in my various Remote Sensing courses in grad school, and in the practice of GIS and graphic design over the years. There are plenty of other great resources to use on these matters. Here are a few search terms to consider:
    • Emitted vs. Reflected light
    • Additive vs. Subtractive color
    • Color models
    • Primary color of light and pigment
    • Light vs. Pigments
    • Pigment vs. Dye
    • Blackbody radiators
    • Color theory

    Wednesday, March 18, 2015

    3D Flight Data Visualization


    I recently came across some delicious raw data from a flight tracking tool. Here's what it looks like in 3D!

    Grab Flight Data

    • Go to FlightAware.com
    • Search for a flight and select it to . I found a flight from Minneapolis to New York City - a flight I'd like to be riding right now
    • Click the track log & graph on the right information panel 
    • Open Excel, Google Sheets, etc.
    • Build the field headings separately since they don't select well with the data values from the Web page
    • Select the data from the page, and copy it
    Copy the data by itself - Build/copy headings separately
    • Paste Special into your spreadsheet with text/values only - no formatting! If you directly paste the selection, there may be a bunch of graphic elements that migrate over too

    Format & Convert

    • Fill in the gaps of any altitude values that aren't available. I used the Fill Down (Ctrl+D) tool to duplicate the previous reading
    • Make a new field called Linestring
    • Use this formula to concatenate Longitude, Latitude, and Altitude together, separated with commas. Fill this down for the entire dataset. We'll come back to this in a moment
    =C2 & "," & B2 & "," & H2
    • Copy the following KML template and paste it into your favorite text editor (Notepad, Notepad++, Sublime Text, etc.)



    • Replace the comment on line 9 (<!-- Replace... -->, between the <coordinate> tags) with the data (not the field heading) of the new Linestring field
    • Save this as Flight Visualization.kml, or something appropriate

    Display in Google Earth

    • Double click the new KML file to load in Google Earth
    • Expand the new folder until you find the Flight Path. Right click on that Path layer and choose Properties

    • Navigate to the Altitude Tab. Change the Altitude setting from Clamped to ground to Absolute. Make sure that Extend path to ground is checked
    • On the Style, Color tab, choose a bright red Lines color. Use a Width of 1.0. Set a 30% Opacity for the Area symbol. I like the Filled + Outlined setting
    • Play with these settings until you're happy. Click OK to start playing with your visualization