|
| 1 | +import os |
1 | 2 | import time |
2 | | -from agi.stk12.stkengine import STKEngine |
3 | | -from agi.stk12.stkdesktop import STKDesktop |
| 3 | +import platform |
| 4 | + |
4 | 5 | from agi.stk12.stkobjects import * |
5 | 6 | from agi.stk12.stkutil import * |
6 | 7 |
|
|
9 | 10 | """ |
10 | 11 | SET TO TRUE TO USE ENGINE, FALSE TO USE GUI |
11 | 12 | """ |
12 | | -useStkEngine = False |
13 | | - |
| 13 | +if platform.system() == "Linux": |
| 14 | + # Only STK Engine is available on Linux |
| 15 | + useStkEngine = True |
| 16 | +else: |
| 17 | + # Change to true to run engine on Windows |
| 18 | + useStkEngine = False |
14 | 19 | ############################################################################ |
15 | 20 | # Scenario Setup |
16 | 21 | ############################################################################ |
17 | 22 |
|
18 | 23 | if (useStkEngine): |
| 24 | + from agi.stk12.stkengine import STKEngine |
19 | 25 | # Launch STK Engine with NoGraphics mode |
20 | 26 | print("Launching STK Engine...") |
21 | 27 | stk = STKEngine.StartApplication(noGraphics = True) |
|
24 | 30 | stkRoot = stk.NewObjectRoot() |
25 | 31 |
|
26 | 32 | else: |
| 33 | + from agi.stk12.stkdesktop import STKDesktop |
27 | 34 | # Launch GUI |
28 | 35 | print("Launching STK...") |
29 | 36 | stk = STKDesktop.StartApplication(visible = True, userControl = True) |
30 | 37 |
|
31 | 38 | # Get root object |
32 | 39 | stkRoot = stk.Root |
33 | 40 |
|
34 | | -# Set date format |
| 41 | +# Set date format |
35 | 42 | stkRoot.UnitPreferences.SetCurrentUnit("DateFormat", "UTCG") |
36 | 43 |
|
37 | 44 | # Create new scenario |
|
227 | 234 |
|
228 | 235 | # Add US shapefile to bounds |
229 | 236 | bounds = coverageDefinition.Grid.Bounds |
230 | | -bounds.RegionFiles.Add(r'C:\Program Files\AGI\STK 12\Data\Shapefiles\Countries\United_States_of_America\United_States_of_America.shp') |
| 237 | + |
| 238 | +if platform.system() == "Linux": |
| 239 | + install_path = os.getenv("STK_INSTALL_DIR") |
| 240 | +else: |
| 241 | + import winreg |
| 242 | + registry = winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE) |
| 243 | + key = winreg.OpenKey(registry, r'Software/AGI/STK/12.0') |
| 244 | + install_path = winreg.QueryValueEx(key, "InstallHome") |
| 245 | + |
| 246 | +bounds.RegionFiles.Add(os.path.join(install_path, r'Data/Shapefiles/Countries/United_States_of_America\United_States_of_America.shp')) |
231 | 247 |
|
232 | 248 | # Set resolution |
233 | 249 | grid.ResolutionType = AgECvResolution.eResolutionDistance |
|
0 commit comments