About

Chairman Speech

The National Authority for Remote Sensing and Space Sciences (NARSS) is one of the valuable governmental research institutes under the umbrella of the Ministry of Higher Education and Scientific Research; which is mandated to promote research, development, and innovative studies that serve and support the government in all domains of sustainable development. NARSS is playing critical role on regional and global arena in space science and technology and remote sensing application to serve the community. This is, indeed, completely aligned with Egypt’s vision 2030 and Global SDGs and in accordance to the national strategy of higher education, scientific research and innovation.



      NARSS Chairman

Prof.Dr. Islam Abou El-Magd

Email: Imagd@narss.sci.eg

Tel:- 00226251212

 

About NARSS

NARSS has been established in 1991 as a National Authority for Remote Sensing belongs to Ministry for Scientific Research. NARSS was then organizationally restructured in 1994; following the Presidential Decree No. 261 for 1992, as a National Authority for Remote Sensing and Space Sciences belongs to the Ministry of Scientific Research. NARSS is mainly aiming at promoting the use of the state of the art of space technology and earth observations for the sustainable development of Egypt.

NARSS is the pioneering Egyptian institute in the field of space technology and earth observation. NARSS is research institute with two large sectors for remote sensing applications and space science and technology. The sector of remote sensing applications works on the use of data provided by earth observation satellites and various airborne sensors to produce maps and spatial data for various applications such as the evaluation and monitoring of natural resources, natural hazards and environmental management. The sector of space science and technology is concerned with the research and development of sensors and satellite subsystems etc.

 

NARSS Vision

The main aim for NARSS program is to promote sustainable development agenda nationwide based on partnerships with national institutions, provincial partners, and key GIS partners. The partnership initiative designed to extend the functional capabilities of national institutions by developing mutually supportive relationships. At the initial stage, these relationships focused on training and dissemination of GIS. Ultimately, NARSS program seeks to develop a robust, productive GIS environment to attain the common goals of an accurate information base that can be used for sustainable country development through

  •  Human capacity building and development of infrastructure to raise and strength scientific research.
  •  Supporting investment in scientific research and linking it with industry, development plans and society needs.
  •  Publishing scientific culture in society and linking education with scientific research to support scientific thinking and promote scientific research culture among students.
  •  Development of international cooperation to serve the strategic goals of Egypt.
  •  NARSS support youth by developing space education program and Summer Courses for universities.

 

Staff

NARSS Staff focuses on Remote sensing and Space studies that address specific topics with an emphasis on environmental and societal issues - regional / local studies with global significance.  NARSS includes staff  are professionals in areas of Geoinformation Infrastructure, applications of Remote Sensing and Space Sciences such as but are not limited to: Climate change studies, Ecological, Survey, Geology, Geophysics and environmental studies, Natural resource studies (including land-use , biomass estimation, plantation, soils, water resources, etc.), Agriculture studies, Space Sciences and Education.

function createAnimation(itemSelector, centerProps, defaultProps, duration, onCompleteCallback) { const animation = {} const boxes = gsap.utils.toArray(itemSelector) const width = gsap.getProperty(boxes[0], "width") const totalLength = boxes.length const loopLength = totalLength / 3 const list = boxes[0].parentNode const startIndex = loopLength const endIndex = 2 * loopLength let currentIndex = startIndex let direction = 0 let disableBtn = false gsap.set(boxes[0].firstChild, centerProps) const scaledWidth = gsap.getProperty(boxes[0], "width") const windowWidth = gsap.getProperty('body', 'width') console.log(scaledWidth); gsap.set(boxes[0].parentNode, { x: (windowWidth - scaledWidth) / 2 }) const createSegment = (i) => { return gsap.timeline().to(boxes[i].firstChild, { ...defaultProps, duration: duration, ease: 'none', immediateRender: false }).to(boxes[i + 1].firstChild, { ...centerProps, duration: duration, ease: 'none', immediateRender: false }, "<").to(list, { x: `-=${width}`, duration: duration, ease: 'none', onComplete: onSegmentComplete, onReverseComplete: onSegmentComplete }, "<") } const fullAnim = gsap.timeline({paused: true}) onSegmentComplete = () => { if (currentIndex === endIndex + 1) { currentIndex = startIndex + 1 fullAnim.currentLabel(`Label${currentIndex}`) } else if (currentIndex === startIndex - 1) { currentIndex = endIndex - 1 fullAnim.currentLabel(`Label${currentIndex}`) } } fullAnim.addLabel('Label0') boxes.forEach((box, index) => { if (index === totalLength - 1) { return } fullAnim.add(createSegment(index)).addLabel(`Label${index + 1}`) }) fullAnim.currentLabel(`Label${startIndex}`) animation.scrollLeft = () => { if (disableBtn) { return } disableBtn = true direction = -1 fullAnim.tweenTo(`Label${currentIndex - 1}`, { duration: 0.5 }) currentIndex-- setTimeout(() => { disableBtn = false }, duration * 1000 + 100) } animation.scrollRight = () => { if (disableBtn) { return } disableBtn = true direction = 1 fullAnim.tweenTo(`Label${currentIndex + 1}`, { duration: 0.5 }) currentIndex++ setTimeout(() => { disableBtn = false }, duration * 1000 + 100) } animation.currentIndex = () => currentIndex return animation } let autoplay = false let timer = null const autoplayStatusEl = document.querySelector('.autoplay-status') const onComplete = () => { } const infiScrollAnim = createAnimation('.box', { scale: 1.25, margin: '0 64 0 64', boxShadow: 'rgba(102, 232, 76, 0.25) 0px 50px 100px -20px, rgba(102, 232, 76, 0.3) 0px 30px 60px -30px' }, { scale: 1, margin: '0 20 0 20', boxShadow: 'none' }, 0.5, onComplete) const leftAnim = () => { clearTimeout(timer) infiScrollAnim.scrollLeft() if (autoplay) { timer = setTimeout(rightAnim, 1000) } } const rightAnim = () => { clearTimeout(timer) infiScrollAnim.scrollRight() if (autoplay) { timer = setTimeout(rightAnim, 1000) } } if (autoplay) { timer = setTimeout(rightAnim, 1000) } function handleAutoplay() { autoplay = !autoplay if (autoplay) { autoplayStatusEl.innerHTML = 'ON' timer = setTimeout(rightAnim, 1000) } else { autoplayStatusEl.innerHTML = 'OFF' clearTimeout(timer) } } const prevBtn = document.querySelector('.prevv') prevBtn.addEventListener('click', leftAnim) const nextBtn = document.querySelector('.nextt') nextBtn.addEventListener('click', rightAnim) const autoplayBtn = document.querySelector('.autoplay-container') autoplayBtn.addEventListener('click', handleAutoplay)