According to the Satellite Industry Association (SIA), over 300 satellites were launched in 2018, with 39% of that total being remote sensing satellites.1 Many of the companies launching these remote sensing satellites are looking to market satellite imagery to both the public and private sector.
This data can provide a powerful economic advantage to the savvy user. This 2015 Washington Post article shows how orbital data has been used to compare customer activity at Home Depot and Lowes, assess the rate of development of a Chinese mine, estimate the development of solar and wind resources, and monitor drug trafficking activities. There are endless applications for data like this, and those that obtain this data will have an advantage they can use in the global marketplace.
Companies like Orbital Insight, Planet Labs, and BlackSky are positioning themselves as brokers of this kind of information. These companies occupy an exciting space which provides endless opportunities for the sharp witted individuals that can find clever ways to use the data.
For a remote sensing data broker, an important way to capture a competitive advantage is to offer visitations at a higher frequency. A company that can offer three visits a day can offer much more useful information than a company that can offer one visit per week.
This criteria is the inspiration for today's blog post. I will demonstrate how to calculate the number of visits that a fictional "Private Observer" constellation makes over the port of Shenzen in a twenty-four hour period.
The port of Shenzen is a major shipping port on the east coast of China. Information obtained through satellite imagery could be valuable to many parties. For example, the US State Department could use this data to assess the effectiveness of recent trade policy decisions, or investment firms could incorporate this data into a larger model that describes Chinese consumer electronics production.
This tutorial is designed for STK Pro, but if you are using STK Free there is a work-around that I'll cover at the relevant parts. You can get a temporary license for STK Pro by signing up at agi.com. Note that this license is short lived. If you want to get the Level 2 certification, you'll want to get this license right before a long weekend so you can commit a good 30 to 40 hours using it.
You can get more free days with the STK Pro license by signing up for classes that require STK Pro. The classes are available through AGI's training page. The classes are free, and in most cases you'll be given a 24 hour lease on the license so you can complete the lesson independently. By doing this you can use STK Pro several times per week.
If you haven't installed Orbital STK, go to the AGI download page and get it. I recommend installing all of the add-ons, even though you won't have the licenses to use them. This will avoid headaches later if you sign up for classes.
If you use the web version of STK, all of the add-ons will be pre-installed. I have found that the licenses given to web users are more permissive and longer-lasting, but getting information into and out of the web session is a bit of a headache. You have to save data using the STK Federate system. You can read more about that here.
Our scenario will have the "Private Observer" constellation of three satellites: PO1, PO2, and PO3. We will have one "place" object for the port of Shenzen, and each satellite will carry a sensor object that tracks the port of Shenzen.
When you open STK, you'll be greeted with a screen like this one.
Click "Create a Scenario," and make one called "private_observer," with a time range spreading from 00:00:00 on July 30th, 2019, to 00:00:00 on July 31st, 2019.
When you hit OK, STK will arrange windows for you.
Click "Insert" > "New" to open the "Insert STK Objects" dialog, then select "Satellite" and the "Orbit Wizard" method. Click Insert to trigger the Orbit Wizard.
For PO1, make sure you have a "Circular" orbit. Set the satellite name to PO1. Next, define the inclination to be \(50^\circ\), the altitude to be 600 km, and the RAAN (Right ascension of the ascending node) to be \(0^\circ\).
PO2 will be the same, but with a RAAN of 60 degrees, and PO3 will have a RAAN of 120 degrees. This gives them nicely offset orbits with lots of coverage of the most populated parts of the Northern hemisphere.
Next, we need to add a place. Insert a new STK object, and in this case, select "Place" with method "Define Properties."
I used google maps to set a marker in the port of Shenzen. The coordinates were latitude \(22.510213^\circ\), longitude \(113.9543528^\circ\).
Right click the "Place" object in the object browser, and select "Properties". Under the "Basic" section, choose "Position" and set the latitude and longitude. You should also set a "Height Above Ground" of 10 or 20 meters or the text on the 3D map will cut under the surface of the water.
Finally, rename the object to "port_shenzen" by right clicking it in the object browser and selecting "Rename".
Insert a new object, and this time select the "Sensor" from the attached objects section. For the method, select "Define Properties." When you hit "Insert," a window will pop up asking you to select the object which the sensor should be attached to. Select PO1.
In the object browser, right click the sensor and rename it to "Camera_1." Next, right click and select "Properties."
If you are using the free license for STK, go to the "Basic" section, select "Definition," and set the "Sensor Type" to be a "Simple Conic" with a half angle of \(75^\circ\). Then proceed to the next section of these instructions.
If you have STK Pro, you can do something a little more interesting.
In the "Basic" section under "Definition," set the "Sensor Type" to "Simple Conic" with a "Cone Half Angle" of \(5^\circ\).
In the "Basic" section under "Pointing," set the "Pointing Type" to "Targeted." To define the target, select "port_shenzen" under "Available Targets," then hit the blue right arrow to add "port_shenzen" to the "Assigned Targets" section. Hit apply to put this into effect.
Finally, go to the "Constraints" > "Basic" section, and set a max elevation angle of \(-15^\circ\). This prevents STK from behaving as though your satellite can effectively sense your target at extreme angles and through hundreds of miles of atmosphere.
Users with a free license will not have access to the "Targeted" "Pointing Type" option, but a simple conic with a half angle of \(75^\circ\) which is pointed straight down is very nearly the same.
In the "Object Browser," right click "Camera_1" and select "Copy." Right click on "PO2" and select "Paste." Expand "PO2" by clicking the "+" sign and set the color for Camera_2 to match PO2. Repeat this process for PO3.
When you are done, your object browser should contain all three satellites, their cameras, and the port of Shenzen.
Right click "Camera_1" and select "Access..."
In the access panel, make sure that the "Access for" box correctly reflects "PO1-Camera_1." Then select "port_shenzen," click "compute" to generate the data, and finally click "Access..." from within the "Reports" block to get the raw data.
If you have STK Pro and used the same settings I did, then the PO1 report should look like this one. If you have STK Free, your times will vary a bit, but your total contacts should be similar.
Repeat that process for PO2 and PO3.
Right click the start time of one of the longer passes, click "Start Time" > "Set Animation Time." This will change the current time position of the simulation to match the start of this pass.
Go look at the 2D and 3D views. You should now see one of your satellites imaging the port of Shenzen.
These three satellites had 19 visitations in this 24 hour period. It would be tempting to extrapolate and assert that the constellation will get somewhere around 19 visitations per day, but some geometries can have fluctuations that cause regular variations in the frequency of visitations.
I extended the scenario time to be one year and 24 hours long and re-computed the access tables. In this year, PO1 had 2337 visitations, PO2 had 2357 visitations, and PO3 had 2338 visitations. They all had consistently 5 to 8 visitations per day. The average of 19 total visitations from the constellation holds for the year long duration.
If I were an investor tracking port activity in Shenzen, this would be music to my ears!
Now that you have an accurate model of the "Private Observer" constellation, play around with it a bit. Start and stop the clock. Closely examine other passes. This is a good way to make preliminary graphics for your promotional material!
This is also a good way to identify problems. For example, it quickly becomes apparent that the port of Shenzen will require a visibility mask due to a nearby mountain:
But don't let that stop you from having some fun. Here are some shots I made using this scenario:
Remote sensing as a service is quickly becoming a big industry. Visitation frequency is an important metric for measuring the quality of a remote sensing product. Orbital STK is a powerful mission design and analysis tool that will empower you to quickly and accurately estimate the visitation frequency offered by a particular constellation.
Aerospace engineers that want to get involved in this field would be wise to learn how to use STK. STK can be used to evaluate where to put new satellites, it can be used to estimate the added value obtained by contracting with another satellite operator, and it can be used to validate claims made by remote sensing vendors.
And if you need more time with STK Pro, sign up for the classes! Thanks AGI!