An error occurred while processing the template.
The following has evaluated to null or missing:
==> serviceLocator.findService("com.eversis.esa.eomall.eopages.core.util.ServiceArticleUtils") [in template "903221#903260#907371" at line 8, column 27]
----
Tip: If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: serviceArticleUtils = serviceLocator... [in template "903221#903260#907371" at line 8, column 5]
- Reached through: #assign-container [in template "903221#903260#907371" at line 1, column 1]
----
1<#assign 
2 defaultImage = themeDisplay.getPathThemeImages() + '/default_image.png' 
3 journalArticleId = .vars['reserved-article-id'].data 
4 groupId = themeDisplay.getLayout().getGroupId() 
5 journalArticleUtil = serviceLocator.findService("com.eversis.esa.eomall.eopages.core.util.JournalArticleUtils") 
6 journalArticle = journalArticleUtil.getJournalArticleByArticleId(journalArticleId) 
7 journalArticleTitle = .vars['reserved-article-title'].data 
8 serviceArticleUtils = serviceLocator.findService("com.eversis.esa.eomall.eopages.core.util.ServiceArticleUtils") 
9 taxonomyList = serviceArticleUtils.getServiceArticleMarketSectorCategories(journalArticle) 
10 navigationPageService = serviceLocator.findService("com.eversis.esa.eomall.eopages.core.service.NavigationPageService") 
11 organizationUtils = serviceLocator.findService("com.eversis.esa.eomall.eopages.core.util.OrganizationUtils") 
12 organizationId = organizationUtils.getOrganizationIdByGroupId(journalArticle.getGroupId()) 
13 organizationLogo = '' 
14 organizationURL = '' 
15 organizationPhoneNumber = '' 
16 organizationFaxNumber = '' 
17 organizationEmailAddress = '' 
18 organizationCountry = '' 
19 organizationAddress = '' 
20 organizationName = '' 
21 organizationArticleUrl = '' 
22 portalBaseURL = themeDisplay.getPortalURL() 
23 currentUrl = themeDisplay.getPortalURL() + themeDisplay.getURLCurrent() 
24/> 
25 
26<#if organizationId != 0> 
27 <#assign 
28 organization = organizationUtils.getOrganizationById(organizationId) 
29 organizationLogo = organizationUtils.getOrganizationLogoImageURL(organizationId) 
30 organizationPhoneNumber = organizationUtils.getOrganizationPrimaryPhoneNumber(organizationId) 
31 organizationFaxNumber = organizationUtils.getOrganizationFaxNumber(organizationId) 
32 organizationEmailAddress = organizationUtils.getOrganizationPrimaryEmailAddress(organizationId) 
33 organizationURL = organizationUtils.getOrganizationPrimaryWebsiteURL(organizationId) 
34 organizationName = organization.getName() 
35 organizationCountry = organization.getAddress().getCountry().getName() 
36 organizationAddress = organization.getAddress().getStreet1() + ', ' + organization.getAddress().getZip() + ' ' + organization.getAddress().getCity() 
37 organizationAddress = organizationAddress?trim 
38 organizationArticleUrl = navigationPageService.getFriendlyUrlForOrganizationArticle(journalArticle.getGroupId()) 
39 /> 
40 
41 <script type="application/ld+json"> 
42
43 "@context": "https://schema.org", 
44 "@type": "Service", 
45 "name": "${journalArticleTitle}", 
46 "description": "${Description.getData()}", 
47 "logo": { 
48 "@type": "ImageObject", 
49 "url": "${themeDisplay.getPortalURL()}${organizationLogo}" 
50 }, 
51 "image": <#if MainImage??>"${themeDisplay.getPortalURL()}${MainImage.getData()}"</#if>, 
52 "url": "${currentUrl}", 
53 "areaServed": [ 
54 <#if MainImage?? && MainImage.MainImageSubtitle?has_content && MainImage.MainImageSubtitle.getData() != ''> 
55 "${MainImage.MainImageSubtitle.getData()}" 
56 </#if> 
57 ], 
58 <#if organizationId != 0> 
59 "brand": { 
60 "@type": "Organization", 
61 "legalName": "${organizationName}", 
62 "logo": { 
63 "@type": "ImageObject", 
64 "url": "${themeDisplay.getPortalURL()}${organizationLogo}" 
65 }, 
66 "telephone": "${organizationPhoneNumber}", 
67 "faxNumber": "${organizationFaxNumber}", 
68 "email": "${organizationEmailAddress}", 
69 "url": "${organizationURL}" 
70 }, 
71 </#if> 
72 <#if organizationId != 0> 
73 "provider": { 
74 "@type": "Organization", 
75 "legalName": "${organizationName}", 
76 "logo": { 
77 "@type": "ImageObject", 
78 "url": "${themeDisplay.getPortalURL()}${organizationLogo}" 
79 }, 
80 "telephone": "${organizationPhoneNumber}", 
81 "faxNumber": "${organizationFaxNumber}", 
82 "email": "${organizationEmailAddress}", 
83 "url": "${organizationURL}" 
84 }, 
85 </#if> 
86 "serviceType": [ 
87 
88 <#if taxonomyList?has_content> 
89 <#list taxonomyList as taxonomyValue> 
90 "${taxonomyValue.getName()}"<#if taxonomyValue?has_next>,</#if> 
91 </#list> 
92 </#if> 
93
94
95 </script> 
96</#if> 
97 
98<#compress> 
99 <div class="row"> 
100 <div class="col-12 service article service-${journalArticleId}" id="service" data-service-id="${journalArticleId}"> 
101 <div class="col-12 col-lg-8 offset-lg-2 page__section"> 
102 <div class="margin-top-30 row"> 
103 <p class="h5 col-sm-12 text-center font-bold margin-bottom-0 text-uppercase"><@liferay.language key="Service.Service" /></p> 
104 <h1 class="col-12 text-center margin-bottom-30 section__name service__name" data-property="serviceName" data-information-type="main">${journalArticleTitle}</h1> 
105 <#if taxonomyList?has_content> 
106 <div class="col-12 line-clamp-animation"> 
107 <p class="text-center text-uppercase margin-bottom-15 font-bold lines-em-3" data-property="taxonomiesList" data-list="true"> 
108 <#list taxonomyList as taxonomyValue> 
109 <span data-property-items="taxonomiesList">${taxonomyValue.getName()}</span><#if taxonomyValue?has_next>, </#if> 
110 </#list> 
111 </p> 
112 </div> 
113 </#if> 
114 <div class="d-flex justify-space-between col-12"> 
115 <div class="col-3"></div> 
116 <p class="col-6 margin-bottom-30 text-center service__by" data-property="organizationName" data-information-type="main"> 
117 <@liferay.language key="Service.by" /> <a href="${organizationArticleUrl}" title="${organizationName}" >${organizationName}</a> 
118 </p> 
119 <div class="col-3 d-flex extra-options" style="justify-content: flex-end;"> 
120 <button class="generate-pdf margin-right-15"> 
121 <i class="icon eo-icon-pdf"></i> 
122 </button> 
123 <div class="product__share_trigger relative"> 
124 <i class="icon eo-icon-share"></i> 
125 <div class="product__share"> 
126 <span data-link="#share-facebook" data-title="${journalArticleTitle}" data-description="${Description.getData()}" class="padding-right-15"><i class="eo-icon-facebook"></i></span> 
127 <span data-link="#share-linkedin" data-title="${journalArticleTitle}" data-description="${Description.getData()}" class="padding-right-15"><i class="eo-icon-linkedin"></i></span> 
128 <span data-link="#share-twitter" data-title="${journalArticleTitle}" data-description="${Description.getData()}"><i class="eo-icon-twitter"></i></span> 
129 </div> 
130 </div> 
131 </div> 
132 </div> 
133 <#if Description?has_content && Description.getData() != ''> 
134 <p class="col-12 text-center margin-bottom-30 section__description service__description" data-property="productDescription" data-information-type="main">${Description.getData()}</p> 
135 </#if> 
136 </div> 
137 <div class="links links--service"> 
138 <div class="w-100 margin-bottom-30"> 
139 <h4 class="margin-bottom-0"> 
140 <#if MainImage?? && MainImage.MainImageTitle?has_content && MainImage.MainImageTitle.getData() != ''> 
141 ${MainImage.MainImageTitle.getData()} 
142 </#if> 
143 </h4> 
144 <#if MainImage?? && MainImage.MainImageSubtitle?has_content && MainImage.MainImageSubtitle.getData() != ''> 
145 <div>${MainImage.MainImageSubtitle.getData()}</div> 
146 </#if> 
147 </div> 
148 </div> 
149 <#if MainImage?has_content && MainImage.getData()?? && MainImage.getData() !=""> 
150 <div class="section__main_image service__main_image"> 
151 <div class="w-100"> 
152 <div class="ratio-box ratio-box--16-9"> 
153 <img alt="${MainImage.getAttribute("alt")}" data-fileentryid="${MainImage.getAttribute("fileEntryId")}" src="${MainImage.getData()}" onerror='this.src="${defaultImage}"' /> 
154 </div> 
155 </div> 
156 </div> 
157 </#if> 
158 <!-- FAVORITE --> 
159 <button class="button button--favourite button--save-product d-none float-right margin-top-30"> 
160 <i class="icon eo-icon-star"></i> 
161 <span class="button__text"><@liferay.language key="Service.Save-to-list" /></span> 
162 </button> 
163 </div> 
164 </div> 
165 </div> 
166</#compress> 
services

Related Content

snow depth
Assess environmental impact of farming, Agriculture, Measure land use statistics, Map and monitor solar energy (solar farms), Alternative Energy, Map hydroelectric and wind farms, Map line of sight visibility (land surface assessment for man-made structur, Communications, Assess damage from industrial accidents, Construction, Assess environmental impact of human activities, Map and assess Flooding, Measure land use statistics, Assess climate change risk, Education, training and research, Monitor Snow Cover, Emergency Services, Assess environmental impact of human activities, Enviroment, Pollution and Climate, Detect changes in glaciers, Forecast weather, Detect and monitor arid areas, Humanitarian Operations and health, Assess environmental impact of human activities, Transport, Map and assess Flooding
We provide seamless (no cloud cover gaps), high-resolution (20 m), near real-time (daily updates) snow depth data for alpine regions existing snow depth ground measurements. Check out our ExoSnow app (for free, no adds) for examples in the US Sierra Nevada and Colorado. Our snow depth product combines multi-sensor satellite data with ground measurements while accounting for topographic and meteorological variations. Direct data access to our products is provided via API’s, WMTS, file servers and mobile apps 'ExoSnow'
Snow Cover (daily 20 m)
Forecast crop yields, Agriculture, Measure land use statistics, Map and monitor solar energy (solar farms), Alternative Energy, Map hydroelectric and wind farms, Assess environmental impact of human activities, Construction, Map and assess Flooding, Measure land use statistics, Assess climate change risk, Education, training and research, Monitor high risk areas, Monitor Snow Cover, Emergency Services, Forecast crop yields, Enviroment, Pollution and Climate, Detect changes in glaciers, Assess and monitor water quality, Utilities, Assess ground water and run-off
We provide seamless (no cloud cover gaps), high-resolution (20 m), near real-time (daily updates) snow cover data for alpine regions worldwide. Check out our ExoSnow app (for free, no adds). Data are currently based on Sentinel-2A/B, Landsat 7/8 and MODIS Aqua/Terra. Further satellite constellations will be incorporated soon. Operational processing is cloud-based including latest machine learning techniques. Data services include file transfer, WMTS and point APIs.
GETOpenData
Assess environmental impact of farming, Agriculture, Assessing crop damage due to storms, Monitor crop disease and stress, Assess crop acreage and yield. Harvest, Monitor specific crops types, Forecast crop yields, Detect illegal or undesired crops, Monitor water use on crops and horticulture, Measure land use statistics, Measure soil water index, Assess changes in the carbon balance, Alternative Energy, Forecast and monitor ocean winds and waves, Monitor construction and buildings, Communications, Assess changes to urban and rural areas, Map line of sight visibility (land surface assessment for man-made structur, Assess damage from industrial accidents, Construction, Detect & monitor land movement, uplift, subsidence, heave., Assess changes to urban and rural areas, Education, training and research, Detect and monitor wildfires, Emergency Services, Map and assess Flooding, Monitor water bodies, Monitor Snow Cover, Assess environmental impact of farming, Enviroment, Pollution and Climate, Monitor air quality, Assess air pollutant dispersion, Monitor shallow water habitats, Assess changes in the carbon balance, Assess climate change risk, Assess crop acreage and yield harvest, Forecast crop yields, Assess environmental impact of human activities, Monitor atmosphere composition, Monitor water use on crops and horticulture, Assess land value, ownership, type, use, etc, Assess changes in land use and quality, Measure land use statistics, Monitor coastal ecosystem, Assess and monitor coastal water quality, Monitor land ecosystems and biodiversity, Detect and monitor oil slicks, Monitor of land pollution, Detect and monitor ice risk at sea, Assess dredging operation impacts, Forecast and monitor ocean movement and drift, Forecast weather, Assess changes in the carbon balance, Forestry, Detect and monitor wildfires, Monitor forest resources, Assess environmental impact of forestry, Monitor forest diversity, Monitor water bodies, Humanitarian Operations and health, Monitor business activity, Insurance and Finance, Map hydroelectric and wind farms, Map and monitor of wind energy (wind farms), Assess changes to urban and rural areas, Transport, Assess changes to urban and rural areas, Utilities
Satellite Data as a Service: https://getopendata.gr/en/ GET, in cooperation with Sinergise, offers exclusively for Greece and Cyprus, the innovative and awarded by Copernicus Master, Sentinel-Hub Service. The main service offerings are: WMS/WMTS service – for visualization in desktop or we GIS tools WCS service – direct access service in raw full analysis data WMS Configurator – API for access in data and standardized functions (area of interest, search time period, atmospheric correction activation, spectral bands selection, cloud coverage percentage, mosaic display order) Statistic information service – time series data for a specific area in readable format Notification service – receive notifications when new imagery is available Mosaic generator – for easy download process of required data in GeoTiff or other format
Value-added services for Oil & Gas, Mining, Engineering and Environmental Markets
Assess changes in the carbon balance, Alternative Energy, Forecast and monitor ocean winds and waves, Map and monitor solar energy (solar farms), Map hydroelectric and wind farms, Forecast and monitor ocean movement and drift, Map and monitor of wind energy (wind farms), Monitor construction and buildings, Communications, Assess changes to urban and rural areas, Map line of sight visibility (land surface assessment for man-made structur, Monitor construction and buildings, Construction, Assess damage from industrial accidents, Assess environmental impact of human activities, Map and assess Flooding, Measure ground motion, Detect & monitor land movement, uplift, subsidence, heave., Measure land use statistics, Assess damage from industrial accidents, Emergency Services, Detect and monitor arid areas, Assess damage from earthquakes, Forecast and map large waves, Detect and monitor wildfires, Map and assess Flooding, Forecast and assess landslides, Detect and monitor hurricanes and typhoons, Monitor water bodies, Detect and monitor hurricanes, typhoons, Monitor Snow Cover, Assess and monitor volcanic activity, Assess climate forcing, Enviroment, Pollution and Climate, Assess environmental impact of farming, Monitor air quality, Assess air pollutant dispersion, Monitor shallow water habitats, Assess changes in the carbon balance, Assess climate change risk, Assess crop acreage and yield harvest, Forecast crop yields, Assess environmental impact of human activities, Monitor wave exposure, Monitor atmosphere composition, Detect changes in glaciers, Monitor water use on crops and horticulture, Assess land value, ownership, type, use, etc, Assess changes in land use and quality, Measure land use statistics, Monitor coastal ecosystem, Assess and monitor coastal water quality, Monitor land ecosystems and biodiversity, Detect and monitor oil slicks, Monitor of land pollution, Detect and monitor ice risk at sea, Assess dredging operation impacts, Forecast and monitor ocean movement and drift, Forecast weather, Detect and monitor oil slicks/pollution, Fisheries, Assessing crop damage due to storms, Insurance and Finance, Monitor construction and buildings, Asses damage from earthquakes, Forecast and map large waves, Detect and monitor wildfires, Map and assess Flooding, Monitor business activity, Detect & monitor land movement, uplift, subsidence, heave., Forecast and assess landslides, Assess climate forcing, Local and regional planners, Monitor air quality, Assess air pollutant dispersion, Monitor pollution in rivers and lakes, Monitor shallow water habitats, Monitor construction and buildings, Monitor atmosphere composition, Assess land value, ownership, type, use, etc, Assess changes in land use and quality, Detect & monitor land movement, uplift, subsidence, heave., Measure land use statistics, Monitor coastal ecosystem, Assess and monitor coastal water quality, Monitor land ecosystems and biodiversity, Monitor water bodies, Assess pressures on populations, migration, Monitor high risk areas, Monitor forest diversity, Assess changes to urban and rural areas, Map urban areas, Monitor urban development, Forecasting sunlight exposure, Monitor waste, Local and Regional Planers (IFIs), Forecast weather, Map water depth, Maritime, Detect and monitor oil slicks, Detect and monitor ice risk at sea, Monitor ice-free passages for shipping, Assess environmental impact of human activities, Minerals and Mining, Map geological features, Measure ground motion, Detect & monitor land movement, uplift, subsidence, heave., Measure land use statistics, Monitor Mineral extraction, Monitor of land pollution, Assess damage from earthquakes, News and Media, Detect sensitive security risks, Monitor high risk areas, Map water depth, Oil and gas, Forecast and map large waves, Monitor wave exposure, Monitor oil rig flares, Map geological features, Measure ground motion, Detect & monitor land movement, uplift, subsidence, heave., Assess and monitor coastal water quality, Forecast and monitor ocean winds and waves, Detect natural oil seepage, Detect and monitor oil slicks, Detect and monitor ice risk at sea, Assess dredging operation impacts, Map seismic survey operations, Forecast and monitor ocean movement and drift, Monitor land and sea border incursions, Security, Defence and military, Forecasting epidemics and diseases, Detect sensitive security risks, Monitor economic activity, Monitor movement of people, Assess pressures on populations, migration, Monitor high risk areas, Detect ships in critical areas, Monitor transport routes, Assess environmental impact of human activities, Transport, Map and assess Flooding, Detect & monitor land movement, uplift, subsidence, heave., Measure land use statistics, Assess changes to urban and rural areas, Assess environmental impact of human activities, Utilities, Monitor of land pollution
NPA derive actionable information through advanced satellite image processing, expert interpretation and interactive tools. NPA's expertise covers diverse land and marine applications, supporting Oil & Gas, Mining, Engineering and Environmental markets. NPA's solutions span basemapping, monitoring and exploration domains. NPA is an acknowledged world leader in offshore seeps interpretation, geological interpretation and InSAR.