Merge pull request 'release: 분석 오버레이 라이브 위치' (#115) from develop into main
All checks were successful
Deploy KCG / deploy (push) Successful in 1m49s
All checks were successful
Deploy KCG / deploy (push) Successful in 1m49s
This commit is contained in:
커밋
d6aac611d0
@ -555,6 +555,7 @@ function AuthenticatedApp({ user, onLogout }: AuthenticatedAppProps) {
|
|||||||
<div className="map-panel">
|
<div className="map-panel">
|
||||||
<KoreaMap
|
<KoreaMap
|
||||||
ships={koreaFiltersResult.filteredShips}
|
ships={koreaFiltersResult.filteredShips}
|
||||||
|
allShips={koreaData.visibleShips}
|
||||||
aircraft={koreaData.visibleAircraft}
|
aircraft={koreaData.visibleAircraft}
|
||||||
satellites={koreaData.satPositions}
|
satellites={koreaData.satPositions}
|
||||||
layers={koreaLayers}
|
layers={koreaLayers}
|
||||||
|
|||||||
@ -45,6 +45,7 @@ export interface KoreaFiltersState {
|
|||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
ships: Ship[];
|
ships: Ship[];
|
||||||
|
allShips?: Ship[];
|
||||||
aircraft: Aircraft[];
|
aircraft: Aircraft[];
|
||||||
satellites: SatellitePosition[];
|
satellites: SatellitePosition[];
|
||||||
layers: Record<string, boolean>;
|
layers: Record<string, boolean>;
|
||||||
@ -128,7 +129,7 @@ const FILTER_I18N_KEY: Record<string, string> = {
|
|||||||
ferryWatch: 'filters.ferryWatchMonitor',
|
ferryWatch: 'filters.ferryWatchMonitor',
|
||||||
};
|
};
|
||||||
|
|
||||||
export function KoreaMap({ ships, aircraft, satellites, layers, osintFeed, currentTime, koreaFilters, transshipSuspects, cableWatchSuspects, dokdoWatchSuspects, dokdoAlerts, vesselAnalysis }: Props) {
|
export function KoreaMap({ ships, allShips, aircraft, satellites, layers, osintFeed, currentTime, koreaFilters, transshipSuspects, cableWatchSuspects, dokdoWatchSuspects, dokdoAlerts, vesselAnalysis }: Props) {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
const mapRef = useRef<MapRef>(null);
|
const mapRef = useRef<MapRef>(null);
|
||||||
const [infra, setInfra] = useState<PowerFacility[]>([]);
|
const [infra, setInfra] = useState<PowerFacility[]>([]);
|
||||||
@ -208,8 +209,8 @@ export function KoreaMap({ ships, aircraft, satellites, layers, osintFeed, curre
|
|||||||
</Source>
|
</Source>
|
||||||
|
|
||||||
{layers.ships && <ShipLayer ships={ships} militaryOnly={layers.militaryOnly} />}
|
{layers.ships && <ShipLayer ships={ships} militaryOnly={layers.militaryOnly} />}
|
||||||
{/* Illegal fishing vessel markers */}
|
{/* Illegal fishing vessel markers — allShips(라이브 위치) 기반 */}
|
||||||
{koreaFilters.illegalFishing && ships.filter(s => {
|
{koreaFilters.illegalFishing && (allShips ?? ships).filter(s => {
|
||||||
const mtCat = getMarineTrafficCategory(s.typecode, s.category);
|
const mtCat = getMarineTrafficCategory(s.typecode, s.category);
|
||||||
if (mtCat !== 'fishing' || s.flag === 'KR') return false;
|
if (mtCat !== 'fishing' || s.flag === 'KR') return false;
|
||||||
return classifyFishingZone(s.lat, s.lng).zone !== 'OUTSIDE';
|
return classifyFishingZone(s.lat, s.lng).zone !== 'OUTSIDE';
|
||||||
@ -303,7 +304,7 @@ export function KoreaMap({ ships, aircraft, satellites, layers, osintFeed, curre
|
|||||||
{layers.cnFishing && <ChineseFishingOverlay ships={ships} analysisMap={vesselAnalysis?.analysisMap} />}
|
{layers.cnFishing && <ChineseFishingOverlay ships={ships} analysisMap={vesselAnalysis?.analysisMap} />}
|
||||||
{vesselAnalysis && vesselAnalysis.analysisMap.size > 0 && (
|
{vesselAnalysis && vesselAnalysis.analysisMap.size > 0 && (
|
||||||
<AnalysisOverlay
|
<AnalysisOverlay
|
||||||
ships={ships}
|
ships={allShips ?? ships}
|
||||||
analysisMap={vesselAnalysis.analysisMap}
|
analysisMap={vesselAnalysis.analysisMap}
|
||||||
clusters={vesselAnalysis.clusters}
|
clusters={vesselAnalysis.clusters}
|
||||||
activeFilter={
|
activeFilter={
|
||||||
|
|||||||
불러오는 중...
Reference in New Issue
Block a user