npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

dabeeomaps_api4_directions

v2.10.1

Published

navigation server

Downloads

7

Readme

dabeeomaps_library_directions

dabeeomaps api 4 directions server

description

  • node server와 typescript로 개발
  • dist: npm publish 에서 사용하는 폴더
  • build: node server용 폴더
  • make: npm publish 전용 빌드

get started

  • npm run dev : 개발 모드
  • npm run reload:stage : 서버 재실행 (stage시 실행)
  • npm run build : build (stage시 실행)
  • npm run start : build 실행
  • npm run dist : npm 에 배포하기 위한 준비. (release시 실행됨)
  • npm run test : jest를 통한 test. npm run start 또는 npm run dev를 한 상태에서 실행해야 함.

npm publish

https://github.com/dabeeo/dabeeomaps_library_navigation/pkgs/npm/dabeeomaps_api4_navigation (deprecated)

https://www.npmjs.com/package/dabeeomaps_api4_directions

Version History

  • 1.0.0 : 내비게이션 node js로 구축
  • 1.1.0 : waypoints cloneDeep
  • 1.1.6 : npm publish
  • 1.2.2
    • @2023.03.23
    • node의 transcode가 존재하는 경우 실제 층이 변경안될 때도 distance를 0으로 하는 오류 수정
    • CR
  • 1.3.1
    • @2023.03.24
    • location을 좀더 부드럽게 그리고자 3도내 simplify
    • 새로운 정보 추가: simplifiedLocationList
    • [CR] (https://www.notion.so/dabeeo/6e36300918d7434587be18a7035a3c4d?pvs=4)
  • 1.4.1
    • @2023.03.29
    • refactoring getPath(), getDistance()
  • 1.5.1
    • @2023.03.30
    • 지도간 경로찾기
  • 1.6.1
    • @2023.04.20
    • instance infinite->1
  • 1.7.1
    • @2023.05.15
    • Indoor Position Module 추가
  • 1.8.1
    • @2023.06.09
    • Indoor Position Module 제거
  • 2.0.0
    • @2023.07.14
    • 라이브러리 번들링 추가
    • 라이브러리 네이밍 수정
      • dabeeomaps_api4_navigation -> dabeeomaps_api4_directions
  • 2.0.1
    • @2023.07.14
    • npm release auto test
  • 2.1.1
    • @2023.09.25
    • 응답속도 개선 위해 lru cache 적용
      • version 확인하여 version update시 다시 데이터 받기
      • 낮은 version이 있는 경우 삭제
      • 최대 100개 지도, 최대 1000개 층까지 cache
      • 30분 경과시 ttl, 그러나 cache에서 일부러 삭제하지는 않음.
  • 2.2.1
    • @2023.09.26
    • 경로에 poi 포함안되는 이슈 해결
    • /v2/navigation/get-distance에도 lru cache 적용
    • lru cache에서 ttl option 제거 (ttl 동작안함)
  • 2.3.1
    • @2023.10.12
    • 간헐적으로 경로에 poi 포함안되는 이슈 해결
  • 2.4.1
    • @2023.11.08
    • token error handling
  • 2.5.1
    • @2023.11.20
    • 출발지의 좌표가 노드가 아닌 경우 출발지와 노드를 연결하고 이에 따른 노드 추가 및 변경 (gps event 오류)
  • 2.6.1
    • @2023.11.21
    • 경로의 길이 잘못 계산하는 문제 수정
    • 층이동수단과 연결된 노드를 단순히 지나는 경우에도 층변경으로 인식하는 오류 수정
  • 2.7.2
    • @2024.01.10
    • 출발지 노드와 도착지 노드가 동일한 경우 처리
    • console.log 정리
  • 2.8.1
    • @2024.03.29
    • navigation 모듈 분리 (dabeeomaps_api_directions)
  • 2.9.1
    • @2024.05.17
    • navi version update 1.4.1 (길찾기 POI 기준 경로 안내 기능 개발)
  • 2.10.1
    • @2024.05.24
    • navi version update 1.5.1
      • 이동수단이 엘리베이터 이후 안내시 엘리베이터 다음 구간 유턴으로 전달
      • 길찾기 POI 기준 경로 안내 기능 세부 로직 변경

NavigationRequest

  • 내비게이션 생성 객체
  • 생성자
let req = new navigation.NavigationRequest(mapInfo, ComputingType.RECOMMENDATION);
  • 인자 설명
    • mapInfo : 지도 조회 V2 api 를 통해 얻은 정보 전체
    • computingType : RECOMMENDATION(추천경로), SAFETY (안전경로 - 엘리베이터만 이용한 경로)

DijkstraNavigationManager

  • 다익스트라 내비게이션 매니저 생성
let navi = new navigation.DijkstraNavigationManager(req);
  • 출발, 경유지, 목적지 생성
locations = {
        computingTypeList: ['RECOMMENDATION'],
        locations: [
            {
                poiId: 'PO-4JvSQCWHC2270', // 남자화장실 (11층)
                floorId: 'FL-t4vqgyek3jnb8146',
            },
            {
                poiId: 'PO-NMvw3E0pe1690', // 플랫폼사업부 회의실 (11층)
                floorId: 'FL-t4vqgyek3jnb8146',
            },
            {
                poiId: 'PO-WgCv1-qBo8094', // 사업전략부 (11층)
                floorId: 'FL-t4vqgyek3jnb8146',
            },
            {
                poiId: 'PO-M02DvTVjp8449', // 회의실1 (11층)
                floorId: 'FL-t4vqgyek3jnb8146',
            },
        ],
    },
    ```

-   내비게이션에 경로를 뽑을 목적지들을 전달하여 경로 추출

```javascript
let routes = [destination1, origin, destination, destination3, destination2];
let response = navi.getPath(routes);

응답 정의

  • locations : 예상 경로 위치 배열
    • position : 위치 좌표
    • floorId : 층 아이디
    • nodeId : 노드 아이디
    • destination : 경유지 여부 (출발/도착 포함)
    • distance : 이전 노드부터 현재 노드까지 거리 (cm)
    • idx: 인덱스
    • transCode: 이동수단 코드 (실제로 타층과 연결된 경우에만 표시)
      • OB-ELEVATOR : 엘리베이터
      • OB-ESCALATOR : 에스컬레이터 양방향
      • OB-ESCALATOR_UP : 에스컬레이터 상행
      • OB-ESCALATOR_DOWN : 에스컬레이터 하행
      • OB-STAIRS : 계단
    • direction : 현재 노드에서 다음 노드까지의 방향
      • LEFT : 좌회전
      • RIGHT : 우회전
      • STRAIGHT : 직진
  • pathInfo : 경로 안내 정보 (with simplify)
  • totalDistance : 예상 총 이동거리 (cm)
  • totalTime : 예상 이동 시간 (milliseconds)
  • origin : 출발지 위치 정보
  • finalDestination : 최종 목적지 위치 정보
  • wayPoints : 경유지들 위치 정보