슬라이드 1

Similar documents
SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

슬라이드 1

슬라이드 1

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

슬라이드 1

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

4S 1차년도 평가 발표자료

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

DE1-SoC Board

DocsPin_Korean.pages

슬라이드 1

슬라이드 1

Windows 8에서 BioStar 1 설치하기

Open Cloud Engine Open Source Big Data Platform Flamingo Project Open Cloud Engine Flamingo Project Leader 김병곤

컴퓨터과학과 교육목표 컴퓨터과학과의 컴퓨터과학 프로그램은 해당분야 에서 학문적 기술을 창의적으로 연구하고 산업적 기술을 주도적으로 개발하는 우수한 인력을 양성 함과 동시에 직업적 도덕적 책임의식을 갖는 IT인 육성을 교육목표로 한다. 1. 전공 기본 지식을 체계적으로

을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java( 혹은 에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을

Microsoft Word - src.doc

<4D F736F F D D31312D30312D53572D30312DBBE7BFEBC0DABCB3B8EDBCAD5FBFDCBACEB9E8C6F7BFEB2E646F63>

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

Microsoft PowerPoint - Smart CRM v4.0_TM 소개_ pptx

슬라이드 1

서현수

Microsoft PowerPoint - web-part03-ch19-node.js기본.pptx

Chapter 1

단계

DBMS & SQL Server Installation Database Laboratory

JDK이클립스

Portal_9iAS.ppt [읽기 전용]

PowerPoint Template

PowerPoint 프레젠테이션

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

슬라이드 1

PowerPoint 프레젠테이션

Domino Designer Portal Development tools Rational Application Developer WebSphere Portlet Factory Workplace Designer Workplace Forms Designer

Interstage5 SOAP서비스 설정 가이드

Secure Programming Lecture1 : Introduction

playnode.key

PCServerMgmt7

Week13

NTD36HD Manual

TTA Journal No.157_서체변경.indd

목 차

chapter1,2.doc

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

Microsoft PowerPoint - Chapter_03-1_DevEnv.pptx

FileMaker 15 WebDirect 설명서

PowerPoint 프레젠테이션

기존에 Windchill Program 이 설치된 Home Directory 를 선택해준다. 프로그램설치후설치내역을확인해보면 Adobe Acrobat 6.0 Support 내역을확인할수 있다.

最即時的Sybase ASE Server資料庫診斷工具

<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F32C2F7BDC32E >

교육2 ? 그림

LXR 설치 및 사용법.doc

표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1

문서의 제목 나눔고딕B, 54pt

BEA_WebLogic.hwp

B.3 JDBC 설치 JDBC Java DataBase Connectivity 는자바에서 DBMS의종류에상관없이일관된방법으로 SQL을수행할수있도록해주는자바 API Application Program Interface 다. 이책에서는톰캣과 SQL Server 간의연결을위

server name>/arcgis/rest/services server name>/<web adaptor name>/rest/services ArcGIS 10.1 for Server System requirements - 지

untitled

슬라이드 1

Cache_cny.ppt [읽기 전용]

.

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

FMX M JPG 15MB 320x240 30fps, 160Kbps 11MB View operation,, seek seek Random Access Average Read Sequential Read 12 FMX () 2

Facebook API

ArcGIS Desktop 9.2 Install Guide

Corporate PPT Template

thesis

PRO1_02E [읽기 전용]

[ 스프링부트, 그래들, HelloWorld]STS,Gradle 설치및 WEB MVC 심플예제 간단히 STS 및 Gradle Support Plugin 을설치하여간단히 Spring Boot, Gradle Web 응용프로그램을작성해보자. 0. STS 및 Gradle Su

PowerPoint Presentation

Microsoft PowerPoint - 안드로이드 개발 환경 구축(170411)

SBR-100S User Manual

Install stm32cubemx and st-link utility

(Microsoft PowerPoint - AndroG3\306\367\306\303\(ICB\).pptx)

untitled

USER GUIDE

Special Theme _ 모바일웹과 스마트폰 본 고에서는 모바일웹에서의 단말 API인 W3C DAP (Device API and Policy) 의 표준 개발 현황에 대해서 살펴보고 관 련하여 개발 중인 사례를 통하여 이해를 돕고자 한다. 2. 웹 애플리케이션과 네이

4. Compass 명령어를알아보자. compass <command> [<option>, <option>, <option>.. <option>] command : 명령어. clean - Remove generated files and the sass cache. com

untitled

PowerPoint 프레젠테이션

untitled

HTML5가 웹 환경에 미치는 영향 고 있어 웹 플랫폼 환경과는 차이가 있다. HTML5는 기존 HTML 기반 웹 브라우저와의 호환성을 유지하면서도, 구조적인 마크업(mark-up) 및 편리한 웹 폼(web form) 기능을 제공하고, 리치웹 애플리케이 션(RIA)을

블로그_별책부록

PWR PWR HDD HDD USB USB Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl Cable PC PC DDNS (

슬라이드 1

Dropbox Forensics

Dialog Box 실행파일을 Web에 포함시키는 방법

HTML5* Web Development to the next level HTML5 ~= HTML + CSS + JS API

Studuino소프트웨어 설치

슬라이드 1

SAS9.2_SAS_Enterprise_Miner_install_guide_single_user_v2

리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2.

untitled


PowerPoint Presentation

APOGEE Insight_KR_Base_3P11

Transcription:

기술워크샵 웹브라우저기반협업서비스. BIM/AEC and 3D GIS 통합플랫폼. 신상희 (shshin@gaia3d.com) 김학준 (hjkim@gaia3d.com) 천정대 ( jdcheon@gaia3d.com) Page 1

1. 아키텍처 Client Web Server WAS DataBase internet mago3d.js Cesium/WWW F4DStorage mago Content Management F4D Converter mago3d 의핵심 Page 2

2. 핵심컴포넌트 - F4D Converter.ifc 파일이나 (BIM 표준교환포맷 ).3ds/.obj/.dae 파일을 ( 전통적인 3차원포맷 ) mago3d 서비스전용포맷인 F4D로변환. 변환과정에서경량화와성능향상을위한전처리작업수행.ifc.3ds.obj F4D Converter F4D.dae Page 3

2. 핵심컴포넌트 - mago3d JS 3D GIS engine 이 AEC 데이터를다룰수있게확장해주는 JavaScript 로구성된 plug-in service html API mago3d.js API 3D GIS Engines Cesium.js WorldWindWeb.js 4 Page 4

2. 핵심컴포넌트 - Content Management System 사용자, Role 관리, 데이터관리, 이슈관리등을위한 Java Spring 기반의협업시스템 사용자 네트워크망분리 사용자 사용자 ( 이슈등록 ) Cache 갱신 관리자 ( 사용자, Role, 데이터, 이슈, 통계, 보고서등 ) HTTPS 사용자 관리자 사용자 Page 5

3. Product F4D Converter mago3djs Content Managemt System 3D Data Converter Browser 3D Rendering Data, Issue DB Manager 운영중인고객사의협업, 이슈관리업무시스템또는새롭게도입할업무시스템에웹브라우저기반 3D Rendering 전용솔루션으로사용되는경우. F4D Converter + mago3d JS 대용량데이터관리, 이슈관리, 사용자관리, 통계, 레포트등을제공하는 3D 컨텐츠관리시스템으로사용하는경우. F4D Converter + mago3d JS + Content Management System Page 6

4. 워크샵 mago3d Community Edition ( F4D Converter + mago3d JS ) 을설치, 실행해보고운영중인업무시스템과의연동혹은신규프로젝트에서 3D Rendering Solution으로 mago3d를활용하는방안을배워본다. mago3d Enterprise Edition( F4D Converter + mago3d JS + Content Management System ) 의주요기능인 Data 관리, Issue 관리, Role 관리등을알아본다. OS : Window7 이상 (64bit) JRE : 1.8 이상 디스크공간 : 최소 2G 이상 RAM : 8G 이상 (16G 추천 ) 3D Sample File(IFC, 3DS, Collada, Obj, JT 등 ) 인터넷연결 Page 7

Client Web Server 고객사 REST API internet mago3d JS Cesium/WWW F4DStorage Json (policy, data 등 ) 업무시스템 F4D Converter Page 8

mago3d Community Edition(F4DConverter + mago3djs) 을다운로드, 예제 3D 파일을 F4D Converter 를이용하여 F4D Data Format 으로변환한후, mago3djs 와연동하여웹브라우저로확인한다. 1) Editor or IDE Install 2) mago3d JS Source Download 3) Web Server Install 4) F4D Converter Install(.msi) 5) Data 변환 6) 설정파일수정 7) mago3d JS build 8) Getting Start 9) API 예제 Page 9

이미사용중인편집기가있는경우이과정은생략가능. mago3d 개발팀의경우 Eclipse 를사용 http://www.eclipse.org/downloads/eclipse-packages/ Eclipse IDE for Java EE Developers Java 설치필요 (java8 버전권장 ) 편집기가없는경우는무료오픈소스편집기인 Notepad ++ 을아래사이트에서다운로드후설치 https://notepad-plus-plus.org/download/v7.5.1.html Page 10

https://github.com/gaia3d/mago3djs 에접속, Clone or download 버튼클릭 Download ZIP 링크를클릭, C:\ 디렉토리에저장 git을사용하는경우 git clone https://github.com/gaia3d/mago3djs.git 압축해제후확인 C:\mago3djs Page 11

Eclipse 화면에서마우스우측버튼클릭 Import -> General -> Projects from Folder Archive 선택 Page 12

mago3d Community Edition을로컬에서실행하려면웹서버가필요. 우리는실습을위해 Node.js를사용. 이미사용중인웹서버가있는경우이과정을생략. 정적컨텐츠를서비스할수있는어떤웹서버도사용가능 https://nodejs.org/ko/download/ 에접속 Window Installer(.msi) 64-bit Download. Page 13

C:\nodejs 를설치 c:\nodejs Page 14

명령프롬프트 (cmd.exe) 를관리자권한으로실행 C:\mago3djs 디렉토리로이동 node install을실행하여필요한모듈을다운로드 C:\mago3djs>npm install C:\mago3djs>npm install -g gulp 루트디렉토리에 node_modules 디렉토리가생성됨 Page 15

http://www.mago3d.com/homepage/download.do 에접속 Installer : F4D Converter 64bit (this installation requires Windows 7 or later) 다운 설치시작 Page 16

Install Path : C:\F4DConverter\ Page 17

Page 18

변환된데이터 (outputfoloder) 를저장할디렉토리를생성. C:\data\workshop(root folder 인 data 폴더아래프로젝트별로디렉토리를생성 ) 변환할데이터를 D:\demo_data(inputFolder) 에저장. 관리자권한으로 Command Line Prompt(cmd.exe) 를실행. F4DConverter 가설치된디렉토리로이동. 다음을실행 * 상세옵션참조 : refer https://github.com/gaia3d/f4dconverter -inputfolder [rawdatafolder] : an absolute path of the folder where raw data files to be converted are. -outputfolder [F4DFolder] : an absolute path of the folder where conversion results(f4d datasets) are created. -log [logfilefullpath] : an absolute path of a log file which is created after finishing conversion processes. -indexing [one of Y, y, N, n] : wheter objectindexfile.ihe should be created or not. "NOT created" is default. 모든디렉토리명은영어로작성 ( 다국어 (multi-byte string) 는현재개발중.) Page 19

만약 F4DConverter.exe를실행시, 컴포넌트를찾을수없다는오류 (MFC140U.dll, MSVCP140.dll, VCRUNTIME140.dll, MSVCP100.dll) 가발생한다면아래의두패키지를설치하시기바랍니다. visual studio 2015 visual C++ redistributable package https://www.microsoft.com/en-us/download/confirmation.aspx?id=48145 visual studio 2010 visual C++ redistributable package https://www.microsoft.com/en-us/download/details.aspx?id=14632 Page 20

작업관리자에서실행중인 Process 를확인할수있음 실행이끝나면종료됨 Page 21

Data 변환에성공했다면 C:\data\workshop 폴더에 F4D_XXX 폴더들과, ObjectIndexFile.ihe 파일생성을확인 실패했을경우 demo_data(inputfolder) 에서로그파일 (logtest.txt) 을확인. 변환완료된 F4D 파일들을 mago3d JS 프로젝트에서웹서비스로사용할수있도록 Symbolic Link를생성. 관리자권한으로 Command Line Prompt(cmd.exe) 를실행. mago3d JS 프로젝트로이동 C:\mago3djs C:\mago3djs>mklink /d "C:\mago3djs\data" "C:\data" dir command를사용하여링크생성을확인 C:\mago3djs\data Page 22

mago3d Enterprise Edition 의경우 RDB(Postgresql + PostGis) 를이용하여 mago3d 운영정책, Data 등을관리. mago3d Community Edition의경우타업무시스템과 API 연동을통해 mago3d 운영정책, Data 등을관리. mago3d Community Edition 은개발자 Local PC에서간단히실행하고기능을확인하기위해 API 연동과동일한결과를 Mock 형태의 Json 을통해제공. Community Edition의경우두가지타입의설정파일을가지고있음 mago3d JS Rendering 관련설정을담당하는 policy.json 파일과 Data의 Location 정보를담당하는 data.json. policy.json, data.json 파일을수정해야함. Page 23

policy.json 수정 초기화시로딩할 project, Init Camera Latitude, Longitude, CallBack Function, Geo Server 설정등 실습을위해 mago3djs/tutorials/workshop-policy-tutorials.json 을사용 페이지초기화시로딩할프로젝트설정 key 값. 복수개의프로젝트로딩을원하는경우, 로추가 웹페이지시작시이동할위치 (latitude, longitude) 를수정 Page 24

data.json 수정 Data Key, Name, Latitude, Longitude, Altitude, Heading, Pitch, Roll 등 실습을위해 mago3djs/tutorials/workshop-data-tutorials.json 을사용 Sample 파일들을 Rendering 해보자. F4D Converter 를이용해서 F4D 포맷으로변환. Page 25

data.json 수정 크게세가지영역으로나눠진다. 속성값을저장하는 attributes, 자식노드정보를저장하는 children, 그외위치정보를저장하는영역 json의 root 노드의 data_key는 data 폴더아래 project 명과일치해야함 attribute 영역 자식노드영역 위치정보영역 프로젝트명 Page 26

C:\data\workshop 에서 Rendering 할디렉토리를찾음 디렉토리명에서 F4D_ 이후의글자가고유식별자가됨 data.json 파일에서 children 의 data_key 값을 musichall 로수정 latitude, longitude, height, heading, pitch, roll 값을적당한값으로수정 Page 27

프론트엔드웹개발을위한빌드자동화툴로는 webpack, grunt, gulp, bower, yeoman 등이있음. mago3d JS의경우, Gulp를사용하고있음. https://gulpjs.com/ /gulpfile.js clean, combine, uglify, doc, lint 등의 task을사용함. Document 생성을위해 jsdoc http://usejsdoc.org/ 코딩규약을위해 ESLint를사용. https://eslint.org/ Test 를위해 Jasmine 등을사용. 테스트코드작성예정 https://jasmine.github.io/ Page 28

eclipse를사용하는경우우측화면과같이 Gulp Task를실행 eclipse를사용하지않는경우 Command Prompt 실행후 mago3djs 프로젝트디렉토리로이동후 C:\mago3djs> gulp 를실행 build 성공하면 mago3djs/build 디렉토리가생성됨. build 완료된 mago3d.js를사용 Page 29

웹서비스를시작할 start.html 을만들어보자. 편집기를이용하여 /mago3djs/tutorials/start.html 을연다. 첫번째로 cesium을사용하기위해 css, javascript를 include <link rel="stylesheet" href="/src/engine/cesium/widgets/widgets.css" /> <script type="text/javascript" src="/src/engine/cesium/cesium.js"></script> 두번째로 jquery를사용하기위해 include <script type="text/javascript" src="/thirdparty/jquery/jquery.js"></script> 세번째로 mago3d 를 incude <script type="text/javascript" src="/build/mago3d/mago3d.js"></script> html 페이지에서 3D Rendering 할 DIV 영역을생성 <div id="magocontainer" class="mapwrap"></div> Page 30

mago3d JS instance 를생성 cesium map 을표시할 div id 설정파일로딩 페이지로딩시초기화할프로젝트 Page 31

웹서버 (node server) 를실행 eclipse 를사용하는경우 /server.js 에서마우스오른쪽클릭 > Run As > Node.js Application 실행 Command Prompt 로실행하는경우 mago3djs installdirectory Chrome 브라우저에서아래 URL 페이지를확인 http://localhost/tutorials/start.html Page 32

Bounding Box를표시하는 API를적용해보자. mago3d 홈페이지 API 문서를참조 http://www.mago3d.com/homepage/api.do 왼쪽메뉴의 changeboundingboxapi 를클릭 http://www.mago3d.com/homepage/api.do#changeboundingboxapi BoundingBox 표시유무를설정할 html form 태그추가 <div style="text-align: center; padding-bottom: 10px;"> <form id="apiform" name="apiform" action="" onsubmit="return false;" > <span>boundingbox</span> <input type="radio" id="showboundingbox" name="boundingbox" value="true onclick="changeboundingbox(true);" /> <label for="showboundingbox"> 표시 </label> <input type="radio" id="hideboundingbox" name="boundingbox" value="false" onclick="changeboundingbox(false);" /> <label for="hideboundingbox"> 비표시 </label> </form> </div> Page 33

BoundingBox API 실행 Javascript 를추가 function changeboundingbox(isshow) { changeboundingboxapi(managerfactory, isshow); } Chrome 브라우저에서아래 URL 페이지를확인 http://localhost/tutorials/api-boundingbox.html Page 34

6. Enterprise Edition - S/W View JSP/JSTL UI/UX Jquery Chart Jqplot/Axisj Template Thymeleaf Handlebars Build Gradle Log Logback/Log4j2 Security ESAPI Report Jasper/POI mago3d JS Cache Html5, JavaScript, 3D GIS Engine(Cesium, WorldWind) EhCache, Redis F4D ConverterC++ DB Geo Server Framework Language Postgresql 9.6 + PostGIS Geo Server Spring(Springboot) + Mybatis Java8 WAS Tomcat 8.5 Web Server Nginx 1.12.1 / Apache 2.4 OS Centos 7.2 Page 35

7. Enterprise Edition - 소개 설치방법을간단히소개 mago3d Enterprise Edition(F4D Converter + mago3d JS + CMS) 를이용하여 Data를등록, Issue를관리하는방법을설명 CMS, 다국어버전은개발중. 1) Install 2) Dashboard, policy 설정 3) Data 관리 4) Issue 관리 5) Role Based Access Control 설정 Page 36

7. Enterprise Edition - 소개 java http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads- 2133151.html java jdk-8u144-windows-x64.exe eclipse https://www.eclipse.org/downloads/eclipse-packages/ Eclipse IDE for Java EE Developers 64bit gradle https://gradle.org/releases/ v4.1 Page 37

7. Enterprise Edition - 소개 postgresql https://www.enterprisedb.com/downloads/postgres-postgresqldownloads#windows 9.6.5 postgis http://download.osgeo.org/postgis/windows/pg96/ Lombok https://projectlombok.org/download 1.16.18 source download https://github.com/gaia3d/mago3d Page 38

7. Enterprise Edition - 소개 eclipse 를실행후 Project Import File -> import -> Gralde -> Existing Gradle Project DB Table 생성및초기데이터등록 window 자동실행 script는개발중. download 한소스의 /mago3d-core/src/doc 폴더로이동 ddl 폴더의 sql 파일을실행하여 table을생성. table, table column comment 다국어버전은개발중 ddl 폴더의 sequence sql 실행하여 sequence 생성 index, trigger 폴더의 sql을실행하여 index 및 partition 생성 dml 폴더의 sql을실행하여초기데이터등록 Page 39

7. Enterprise Edition - 소개 CMS 소스는 3 개의 project 로구성되어있음 parent project admin common user Page 40

7. Enterprise Edition - 소개 Eclipse BuildShip Gradle Plugin 또는 Gradle command line 을이용하여 build mago3d-admin project spring boot 실행 /mago3d-admin/src/main/java/com/gaia3d/mago3dadminapplication.java 브라우저를실행하여 http://localhost/login/login.do 로접속 초기 id, passwor는 /mago3d-core/src/doc/database/dml/insert.sql 파일에있음 admin password, salt 생성방법은 /mago3d-admin/src/test/java/com/gaia3d/passwordtest.java 소스를참조 Page 41

7. Enterprise Edition - 소개 New Issue, Issue 상태별통계, 사용자, 스케줄현황, Data 통계현황등을 한눈에파악할수있음 1 2 no. 1 2 설명 Issue 현황을위젯으로표시합니다. 신규등록 Issue 건수 - 신규등록 Issue 건수를카운트합니다. 진행중인 Issue 건수 - 진행중인 Issue 건수를카운트합니다. 완료된 Issue 건수 - 완료된 Issue 건수를카운트합니다. 각항목에대해위젯으로표시합니다. 환경설정 -> 위젯설정메뉴에서위젯순서를변경할수있습니다. 환경설정 -> 운영정책 -> 컨텐트탭에서메인화면위젯표시개수를설정할수있습니다. Page 42

7. Enterprise Edition - 소개 사용자정책, 패스워드정책, 공간정보, GeoServer, CallBack, 보안정책등을설정 mago3js 의 policy.json 은운영정책정보들을 json 파일로변경한것 Page 43

7. Enterprise Edition - 소개 데이터를그룹화하여신규등록, 상태변경, 수정, 삭제등관리. mago3js 의 data.json 은데이터그룹별데이터들을 json 파일로변경한것 Data 사용유무를설정 Data 상태 Page 44

7. Enterprise Edition - 소개 사용자가등록한 Issue 를관리. 각 Issue 별진행상태, 우선순위, 마감일, 담당자등을확인가능 Page 45

7. Enterprise Edition - 소개 사용자그룹별로사용자를등록하고각그룹마다 Role 을부여. 사용자요청권한은사용자그룹에해당 Role 의존재여부로판단 Page 46