| DLL Component | 기능 | 클래스 | 설명 | Public Function (생성자 Italic, 핵심 함수 Bold) | Property | Parent Class | Class Used | 비고 |
|---|
| Component.OrbitPropagation | 궤도 전파 | OrbitParameter | - 궤도전파에 필요한 정보를 갖는 클래스
- MSS의 OrbitParameter 클래스를 참고해서 구현
| OrbitParameter(string, DateTime, int, double, EnumDataGS.OrbitPropagationInputType, EnumDataGS.OrbitPropagatorType, string, DateTime, DateTime, string) - OrbitParameter(string, DateTime, int, double, string, DateTime, DateTime, string)
| - string PropConfigFilePath
- DateTime PropertyRefEpoch
- int PropertyOrbitNumber
- double OrbitPeriodMin
- EnumDataGS.OrbitPropagationInputType OrbitPropagationInputType
- string OrbitDataFilePath
- EnumDataGS.OrbitPropagatorType PropagatorType
- DateTime OrbitStartTime
- DateTime OrbitEndTime
- string SatelliteCode
| | | |
| Component.OrbitPropagation | 궤도 전파 | OrbitManager | - 궤도전파를 수행하는 클래스
- MSS의 OrbitManager 클래스를 참고해서 구현
- 각 궤도 별 촬영 가능 영역 계산
| - OrbitManager(OrbitParameter)
- OrbitSetDto DoOrbitPropagation_With_Propagator()
- DateTime ConvertToDateTime(string)
- List<OrbitDTOForSAR> DoOrbitPropagation_With_Propagator_SAR_ImagingCvg(string, string, string)
- List<OrbitDTOForSAR> DoOrbitPropagation_With_Propagator_K5_ImagingCvg(PIOConfig, string, string)
- OrbitSetDto DoOrbitPropagation_With_OrbitDataFile()
- K5OrbitSetDto DoOrbitPropagation_With_OrbitDataFile_K5(string, string, string)
- SunEclipseOneOrbitDto GetSunEclipseOneOrbitDtoUsingIcpStartTime(DateTime, List<SunEclipseOneOrbitDto)
- void CalculationImagingPossibleAreaForOrigin(ref OrbitSetDtoForOld, IcpConfigInfo, string)
- CalculationImagingPossibleArea(ref OrbitSetDto, TB_Satellite, LIst<TB_TiltSet>)
- CalculationImagingPossibleAreaForOrbitDTO(ref OrbitSetDto, TB_Satellite, LIst<TB_TiltSet>)
| - OrbitPropagation OrbitPropagationForK5
- OrbitPropagator OrbitPropagator
| | - OrbitPropagator
- OrbitParameter
- OrbitSetDto
- OrbitDTOForSAR
- PIOConfig
- PhotoCoverage
- OrbitDTO
- SunEclipseOneOrbitDto
- OrbitSetDtoForOld
- IcpConfigInfo
- TB_Satellite
- TB_TiltSet
- PreciseJD
- JDTime
- IcpGeneratorForOAS
- DE405
- PhotoCoverage
- OrbitInfo
| - OAS 실제 코드 내용 기록
- 일반화되어 필요하지 않게된 코드들에 대해 정제 필요 with 김응백
|
| Component.OrbitPropagation | 궤도 전파 | OrbitPropagator | - 입력된 위성 정보를 기반으로 정해진 기간에 대한 궤도 전파 수행
- 정해진 값에 따라 SatLagrangian Downsampling 수행
- 궤도 전파 결과를 OrbitSetDto 에 저장하여 반환
- 궤도 번호도 계산
| - OrbitPropagator()
- void SetPropagationParameter(string, int, int, int, int, int, int, int, double)
- OrbitSetDto PropagateOrbit(EnumDataGS.OrbitPropagationInputType, string, string, double, double, double, EnumDataGS.OrbitPropagatorType)
- int GetOrbitNumber(double)
- void GetPassSequence(int, out int)
- double GetOrbitCenterTime(int)
- void SetBaseOrbitStartJDAndNumberAndUpdatedPeriod(double, int, bool)
| - SatLagrangian SatLag
- int INmrOrbitSamples
- int IFirstOrbitNumber
- int ILastOrbitNumber
- int INumOfOrbitNumbers
- int[] AiStartOrbitIndex
- int[] AiEndOrbitIndex
| | | |
| Component.OrbitPropagation | 궤도 전파 | BOPResourceManager | - 궤도 번호를 계산하기 위한 기준 값을 DB 로부터 획득하여 반환
| - BOPResource GetLatestBOPResource(string, string)
| | | - BOPResource
- OASEntities
- TB_BOPResource
| - OAS 실제 코드 내용 기록
- 마치 static class 처럼 사용되고 있음
|
| Component.OrbitPropagation | 궤도 전파 | PIOCalculator | - 궤도의 촬영 가능 영역을 EO/SAR 에 따라 별도의 함수를 이용하여 계산
- IcpGeneratorForOAS 를 사용하여 계산
| - List<ImagingDateAnalysisResultInfo> CalculatePossibleImagingOrbitForOptic(double, double, IcpConfigInfo, EnumDataIRPE.OrbitDirection, double, double, OrbitSetDto, string, string, string)
- List<ImagingDateAnalysisResultInfo> CalculatePossibleImagingOrbitForSar(double, double, IcpConfigInfo, EnumDataIRPE.OrbitDirection, double, double, double, double, OrbitSetDto, string, string, string)
| | | - OrbitSetDto
- IcpConfigInfo
- ImagingDateAnalysisResultInfo
- TB_Satellite
- OASEntities
- IcpGeneratorForOAS
| - OAS 실제 코드 내용 기록
- 마치 static class 처럼 사용되고 있음
|
| Component.OrbitPropagation | 궤도 전파 | IcpGeneratorForOAS | | - IcpGeneratorForOAS(IcpConfigInfo, EnumDataIRPE.RotationOrderOfOrbitToBody)
- IcpGeneratorForOAS(IcpConfigInfo, CameraModel, EnumDataIRPE.RotationOrderOfOrbitToBody)
- void GeneratePossibleImgAreaOfOrbitForOAS(ref OrbitSetDto, double, double, bool, List<TB_TiltSet>)
- void GeneratePossibleImgAreaOfOrbitForOAS(OrbitDto, OrbitSetDto, int, double, double, bool, List<TB_TiltSet>)
- List<List<Shape>> GeneratePossibleImgAreaOfOrbitForOAS(OrbitDto, OrbitSetDto, double, double, double, double, bool, List<TB_TiltSet>)
| | | - IcpConfigInfo
- OrbitSetDto
- TB_TiltSet
| - OAS 실제 코드 내용 기록
- 일반화되어 필요하지 않게된 코드들에 대해 정제 필요 with 김응백
|
| Component.OrbitPropagation | 궤도 전파 | TiltSet | - 위성의 Roll/Pitch Tilt Range 정보를 담는 클래스
| | - MinRoll
- MaxRoll
- MinPitch
- MaxPitch
| | N/A | - OAS 실제 코드 내용 기록
- Struct 로 바꿔도 무방함
|
| Component.SimulatedStripGenerator | Simulated Strip | SimulatedStripGenerator | - 주문의 영역을 입력으로 받아 Ascending/Descending 궤도에 따른 Simulated Strip 결과를 DbGeometry 형태로 반환
- OASDecomposer 를 사용하여 Strip 생성
| - SimulatedStripGenerator(string, string)
- double CalcOrderArea(SqlGeometry)
- SqlGeometry ConvertToSqlGeometry(DbGeometry)
- DbGeometry GenerateSimulateStip(string, SqlGeometry, bool)
- string GetWellKnownText(List<Strip>)
- List<List<Coordinate>> GetMultiPolygonString(string)
- List<Coordinate> GetPolygonString(string)
| | | - TB_Satellite
- TB_ImagingMode
- OASDecomposer
- Strip
- Polygon
- Coordinate
- OASEntities
- SqlGeometry
- SqlBytes
- DbGeometry
| |
| Component.SimulatedStripGenerator | Simulated Strip | SimulatedStripCommonData | - Strip 생성을 위해 사용되는 위성의 공통 값을 모은 클래스
| | - double SingleEffectiveSwathKm
- double MultiEffectiveSwathKm
- double SceneLengthKm
| | | |
| Component.SimulatedStripGenerator | Simulated Strip | SimulatedStripConfig | - Strip 생성을 위해 사용되는 EO 위성의 특정 값을 모은 클래스
| | - double MinDurationSec
- double MaxDurationSec
- double Inclination
- double SatelliteVelocityKmPerSec
- double SatellitePeriod
- int StripSeparationStandardKmForStrip
- int StripSeparationStandardKmForStereo
| SimulatedStripCommonData | | |
| Component.SimulatedStripGenerator | Simulated Strip | ImagingModeInfo | - 위성의 Imaging Mode 별 특정 값을 모은 클래스
| | - string ImagingMode
- int MaxSceneCountInStrip
| SimulatedStripCommonData | | |
| Component.SimulatedStripGenerator | Simulated Strip | SimulatedStripConfigForSAR | - Strip 생성을 위해 사용되는 SAR 위성의 특정 값을 모은 클래스
| | - double Inclination
- double SatelliteVelocityKmPerSec
- double SatellitePeriod
- double MaxDurationSec
- List<ImagingModeInfo> ImagingModes
| | | |
| Component.SimulatedStripGenerator | Simulated Strip | OASDecomposer | - 설정된 값들을 이용하여 입력된 영역을 커버하기 위한 Strip 을 계산
| - OASDecomposer(int, int, double, double, double)
- void SetSimulatedSceneValues(double, double, double, double, double, double, double, double, int, int, int, int, int, double, double)
- List<Polygon> ConvertToPolygonListByConvexHullAndBuffer(SqlGeometry, double, double, out List<SqlGeometry>)
- Polygon GetSceneCoordinate(double, double, double, bool, bool)
- void SetROI(Polygon, SqlGeometry, bool, DecomposeProcessType, bool, ref List<Strip>)
| - double SceneLengthKM
- int MaxPitchSec
- int PitchSamplingSec
- double TermPitchTiltSec
- double SatVelocityKmPerSec
- double SatHeightKm
- double MaxStripSizeKM
| | - SqlGeometry
- Polygon
- Strip
- CoordPoint
- Scene
- Shape
| |
| Component.ICPGenerator | 촬영 계획 후보 생성 | IcpGenerator | - 정해진 시각 정보 및 촬영 모드 등의 정보를 이용하여 촬영 계획을 생성
- 촬영 계획 수정 시, 변경 정보를 반영하여 촬영 계획 수정
- 특정 좌표에서 가장 가까운 궤도의 정보 계산
- 특정 좌표를 촬영할 수 있는 궤도 계산
| - IcpGenerator(IcpConfigInfo, EnumDataIRPE.RotationOrderOfOrbitToBody)
- IcpGenerator(IcpConfigInfo, CameraModel, EnumDataIRPE.RotationOrderOfOrbitToBody)
- void UpdateCameraModelBySpectralName(string)
- void SetOrbitPropagationResult(OrbitSetDto)
- void SetOrbitPropagationResult(OrbitSetDtoForOld)
- bool UpdateImgAreaDuration(IcpDto, CoordPoint, bool)
- bool UpdateImgAreaDuration(IcpDto, double, bool)
- bool UpdateImgAreaDurationForSideSlither(IcpDto, double, double)
- bool UpdateImgAreaDurationForSideSlither(IcpDto, CoordPoint, bool)
- bool UpdateImgAreaLocation(IcpDto, CoordPoint, CoordPoint)
- bool UpdateImgAreaLocation(IcpDto, double, bool)
- bool UpdateImgAreaLocation(IcpDto, double, double)
- bool UpdateImgAreaLocationForSideSlither(IcpDto, CoordPoint, CoordPoint)
- bool UpdateImgAreaLocationForSideSlither(IcpDto, double, bool)
- bool UpdateImgAreaLocationForSideSlither(IcpDto, double, double)
- bool UpdateYawTiltAngle(IcpDto, double)
- bool UpdateSatTimeLine(IcpDto, CoordPoint, CoordPoint)
- bool UpdateSatTimeLine(IcpDto, double)
- bool UpdateSatTimeLineForSideSlither(IcpDto, double)
- bool UpdateSatTimeLineForSideSlither(IcpDto, CoordPoint, CoordPoint)
- void GetNearestOrbitJdTime(int, CoordPoint, ref double, ref int, ref OrbitDirection)
- double GetOrbitJdTime(OrbitSetDto, int)
- bool GetDescendingNearestOrbitInfo(CoordPoint, double, ref double, ref double, C3DVector, C3DVector)
- void GetOrbitIndexAndDirection(double, ref int, ref OrbitDirection)
- bool GetLosAndPosECIVector(double, C3DVector, ref C3DVector, ref C3DVector)
- void GetOrbitCandidate(double, double, DateTime, DateTime, OrbitSetDto, string)
- void GetOrbitCandidate(double, double, double, double, OrbitSetDto, ref string)
- void GetOrbitCandidate(double, double, double, double, OrbitSetDto, OrbitDirection, ref string)
- List<ImagingDateAnalysisResultInfo> GetOrbitCandidateByOrbitDirection(double, double, double, double, OrbitSetDto, OrbitDirection, string)
- void GeneratePossibleImgAreaOfOrbit(ref OrbitSetDtoForOld)
| - string SatelliteName
- string SensorName
- string SpectralName
- CameraModel CameraModel
- SensorParameter SensorParameter
- Datum Datum
- string SensorParamFilePath
- int IntervalPtSec_ConflictArea
- int IntervalPtSec_PosImgArea_SatImgTime
| | - OrbitSetDto
- OrbitSetDtoForOld
- CameraModel
- SensorParameter
- SensorParameterCollection
- Datum
- IcpDto
- CoordPoint
- SeperatedListIndex
- Shape
- C3DVector
- DetectorPointSet
- CameraModelError
- ImagingDateAnalysisResultInfo
| - OAS 실제 코드 내용 기록
- 일반화되어 필요하지 않게된 코드들에 대해 정제 필요 with 김응백
- 일반화를 했기 때문에 BandParameter/CameraModel/DetectorParameter 에 대해서는 정리하지 않음
- 불필요한 주석에 대해서 정리 필요
|
| | 촬영 계획 후보 최적화 | | | | | | | |
| | 주문 분석 결과 생성 및 도시 | | | | | | | |
| Component.OrderAnalysis | 주문분석 관리 | OrderAnalysisManager | | - OrderAnalysisManager(string, IConfiguration)
- OAResultInfo Calculate(string, List<string>)
- OAResultInfo Calculate(string, List<string>, List<ImagingPeriod>, List<TiltAngle>, string, CloudInfo)
| | | - IConfiguration
- OrbitManager
- OAResultInfo
- TB_Order
- TB_Satellite
- TB_ImagingMode
- TB_Agillity
- TB_TiltSet
- OrbitSetDto
- ImagingPeriod
- OASEntities
- OrbitDto
- SimulatedStripGenerator
- SqlGeometry
- DbGeometry
- CloudInfo
- Datum
- Shape
- TB_OrdervsSatellite
| |
| Component.OrderAnalysis | 주문분석 관리 | ConflictOrderManager | | - ConflictOrderManager(string, IConfiguration)
- List<TB_Order> GetConflictOrderInfoListForStrip(Strip, OrbitDto, List<TB_Order>)
- List<TB_Order> GetConflictOrderInfoList(string)
- DbGeometry CreateConflictArea(double, double, double, double)
| | | - CameraModel
- OrbitDto
- TB_Order
- SensorParameterCollection
- OASEntities
| |
| Component.OrderAnalysis | 주문분석 관리 | ForecastForOAS | | - ForecastForOAS(string)
- int GetDn(int, double, double, double, double, double, double)
- int GetDnForArea(int, List<CoordPoint>, double, double, double, double)
| - Dictionary<int, Bitmap> bitmapList
| | | |
| Component.OrderAnalysis | 주문분석 관리 | HeatmapManager | | - HeatmapManager(string)
- int GetDn(SatelliteType, double, double, double, double, double, double)
- int GetDnForArea(SatelliteType, List<CoordPoint>, double, double, double, double)
| - Dictionary<string, Bitmap> bitmapList
| | | |