STK組件基礎篇:開發(fā)入門

本文及后續(xù)系列文章主要采用STK組件的.Net版本作為開發(fā)包憎亚。

1. 獲取開發(fā)包

正常的獲取途徑是訪問AGI官網(wǎng),注冊并登錄后桌肴,從官網(wǎng)下載開發(fā)包:https://support.agi.com/downloads/,如果是首次下載航唆,AGI會向你注冊的郵箱地址發(fā)送有效期半年的使用授權許可文件(lic文件)将谊。

但是由于某種原因國內(nèi)的IP無法訪問該網(wǎng)站冷溶,也無法注冊成功渐白。

2. 開發(fā)包組成

下載后的開發(fā)包是一個壓縮的zip文件,無需安裝逞频,直接解壓即可礼预。
以2019r2版為例,包名:STKComponentsForDotNet2019r2.zip虏劲,里面包含3個文件和3個文件夾:

  • 文件夾Assemblies:里面包含所有的dll文件和xml文件
  • 文件夾Documentation:只包含一個STK Components.chm幫助文件
  • 文件夾Examples:包含11個示例代碼和數(shù)據(jù)
  • 文件GdalData.zip:Gdal圖像處理需要用到的數(shù)據(jù)
  • 文件STK Components License Agreement.pdf:許可協(xié)議
  • 文件vc_redist.x64.exe:vc2017運行時

3. 系統(tǒng)要求

STK Components For DotNet 2019r2版可在Windows和Linux平臺上運行托酸,除了Insight3D模塊,其它模塊均支持32位和64位柒巫。

  • Windows平臺:需要.Net Framework4.5或更高版本励堡,也可使用.Net Core2.0或更高版本
  • Linux平臺:需要.Net Core2.0或更高版本,也可使用Mono

Insight3D模塊只能在Windows平臺上使用堡掏,且只支持64位

4. 在控制臺程序中使用開發(fā)包

開發(fā)前需要將lic文件復制到AGI.Foundation.Core.dll同級目錄下

  1. 新建項目:使用Visual Studio 2019(也可是低一點版本的VS)新建一個C#的控制臺程序应结,名稱為Example001,框架選.NET Framework 4.6
  2. 添加licenses.licx:在解決方案管理器中泉唁,鼠標右鍵點擊本項目鹅龄,在彈出菜單中選擇添加->現(xiàn)有項...,添加licenses.licx文件至項目亭畜,此文件在開發(fā)包的Assemblies目錄下扮休。右擊新添加的這項,選擇屬性項拴鸵,確保licenses.licx文件的生成操作的值是嵌入的資源

licenses.licx文件不是lic文件玷坠,此文件的作用是告訴編譯器lic文件驗證算法是在哪個模塊哪個類中

  1. 添加程序集引用:在項目中添加對AGI.Foundation.Core.dllAGI.Foundation.Models.dll的引用,文件在開發(fā)包的Assemblies目錄中劲藐。
  2. 添加代碼:先將Program.cs文件重命名為Example001.cs八堡,然后在文件代碼修改成下面的代碼,代碼的作用是顯示當前開發(fā)包的版本號聘芜、計算當前時間地球質(zhì)心和月球質(zhì)心之間的距離:
using AGI.Foundation;
using AGI.Foundation.Celestial;
using AGI.Foundation.Geometry;
using AGI.Foundation.Time;
using System;

namespace STKComponentsTutorials
{
    class Example001
    {
        static void Main(string[] args)
        {
            // 顯示版本號
            Console.WriteLine("DisplayVersion: {0}", StkComponentsCore.DisplayVersion);
            Console.WriteLine("Version: {0}", StkComponentsCore.Version);

            // 計算當前時刻地球質(zhì)心和月球質(zhì)心之間的距離
            DateTime now = DateTime.Now;
            EarthCentralBody earth = CentralBodiesFacet.GetFromContext().Earth;
            MoonCentralBody moon = CentralBodiesFacet.GetFromContext().Moon;
            var vector = new VectorTrueDisplacement(earth.CenterOfMassPoint, moon.CenterOfMassPoint);
            double distance = vector.GetEvaluator().Evaluate(new JulianDate(now)).Magnitude;

            Console.WriteLine("當前時間:{0:yyyy-MM-dd HH:mm:ss.fff}兄渺,當前日月距離:{1:0.000}千米",now, distance / 1000);
            Console.Read();
        }
    }
}

項目的文件結構如下圖所示


完成后項目的文件結構
  1. 編譯代碼: 生成并執(zhí)行代碼,如果正常汰现,會在控制臺輸出類似如下結果:
DisplayVersion: 2019 r2
Version: 19.2.399.0
當前時間:2019-05-13 20:55:27.466挂谍,當前日月距離:368820.234千米

如果出現(xiàn)lc.exe”已退出,代碼為 -1這樣的錯誤服鹅,表明lic文件無效或者沒有放到AGI.Foundation.Core.dll同級目錄下凳兵。

源代碼地址

https://github.com/icgp/STKComponentsTutorial/tree/master/Example001

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市企软,隨后出現(xiàn)的幾起案子庐扫,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件形庭,死亡現(xiàn)場離奇詭異铅辞,居然都是意外死亡,警方通過查閱死者的電腦和手機萨醒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進店門斟珊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人富纸,你說我怎么就攤上這事囤踩。” “怎么了晓褪?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵堵漱,是天一觀的道長。 經(jīng)常有香客問我涣仿,道長勤庐,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任好港,我火速辦了婚禮愉镰,結果婚禮上,老公的妹妹穿的比我還像新娘钧汹。我一直安慰自己丈探,他們只是感情好,可當我...
    茶點故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布崭孤。 她就那樣靜靜地躺著类嗤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪辨宠。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天货裹,我揣著相機與錄音嗤形,去河邊找鬼。 笑死弧圆,一個胖子當著我的面吹牛赋兵,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播搔预,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼霹期,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了拯田?” 一聲冷哼從身側響起历造,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后吭产,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體侣监,經(jīng)...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年臣淤,在試婚紗的時候發(fā)現(xiàn)自己被綠了橄霉。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,991評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡邑蒋,死狀恐怖姓蜂,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情医吊,我是刑警寧澤覆糟,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站遮咖,受9級特大地震影響滩字,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜御吞,卻給世界環(huán)境...
    茶點故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一麦箍、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧陶珠,春花似錦挟裂、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至暑脆,卻和暖如春渠啤,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背添吗。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工沥曹, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人碟联。 一個月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓妓美,卻偏偏與公主長得像,于是被迫代替她去往敵國和親鲤孵。 傳聞我的和親對象是個殘疾皇子壶栋,可洞房花燭夜當晚...
    茶點故事閱讀 44,941評論 2 355

推薦閱讀更多精彩內(nèi)容