BLOG
|
The lab has just completed an experimental viewer designed to sort, filter and extract individual Landsat scenes. The viewer is a web application developed using Esri's JavaScript API and a three.js-based external renderer. Click here for the live application. Click here for the source code. The application has a wizard-like workflow. First, the user is prompted to sketch a bounding box representation the area of interest. The next step defines the imagery source and minimum selection criteria for the image scenes. For example, in the screenshot below the user is interested in any scene taken over the past 45+ years but those scenes must have 10% or less cloud cover. Finally, once preview scenes have been downloaded the user can advance to the final step of sorting, filtering and interrogating individual Landsat images. In the screenshot below the images have been sorted by cloud cover with cloudless images located at the top of the stack. Also, on the right hand side of the screenshot below one image has been identified. From the identify window one can naturally peruse the image's attribution but also add the image to the map as a normal image layer. For more information about Landsat imagery hosted by the USGS and Esri and associated apps, please visit: Landsat homepage LandsatLook Viewer Landsat imagery hosted by Esri Esri's Landsat Explorer
... View more
09-07-2017
05:55 PM
|
6
|
3
|
11239
|
BLOG
|
Vir Naidoo, click here to learn how to define a scene layer definition expression.
... View more
09-07-2017
11:13 AM
|
0
|
0
|
690
|
BLOG
|
Hi Naidoo, no it is not possible to edit or move single features in a SceneLayer. But having said that I have seen one of my colleagues demonstrate a simulated editing workflow. When a user clicks on a building (from the SceneLayer) create a new graphic using the building's cloned geometry. Hide the clicked building using a definition query on the SceneLayer. Use the logic described in this post to translate the cloned building. Hope this helps!
... View more
09-06-2017
11:39 AM
|
0
|
0
|
690
|
BLOG
|
Hi Vir Naidoo, I may not be able provide the timely assistance you need. As such, may I suggest you contact Esri Support.
... View more
08-21-2017
09:13 AM
|
0
|
0
|
1348
|
BLOG
|
Hi jing han, I agree that to achieve this water affect is fairly complicated. Hopefully future releases of the ArcGIS API for JavaScript will make this easier. In the meantime perhaps CityEngine can provide a realistic representation of your data.
... View more
08-16-2017
11:05 AM
|
0
|
0
|
1348
|
BLOG
|
Hi Vir Naidoo, Very unusual. Perhaps you are reaching a vertex count limitation. Try generalizing the geometry with either the REST API or client-side (see generalize).
... View more
07-31-2017
01:28 PM
|
0
|
0
|
1348
|
BLOG
|
Hi Vir Naidoo, No need to apologize. You can find the API reference and developer samples for the ArcGIS API for JavaScript here. Earcut is an undocumented class used for polygon tessellation.
... View more
07-28-2017
10:39 AM
|
0
|
0
|
1348
|
BLOG
|
Hi Vir Naidoo, Geometry for the ocean, or specifically the Patapsco River in Baltimore, is sourced from a feature service. This geometry is rendered using an external renderer.
... View more
07-25-2017
10:35 AM
|
0
|
0
|
1348
|
BLOG
|
Hi Vir Naidoo, The downloaded html/js/css files need to be hosted on a web server like IIS. Below is a link to a short youTube video describing how to host web page files on a local IIS server on Windows 10. How To Setup Website Hosting On Windows 10 Using IIS Hope this helps!
... View more
07-24-2017
12:22 PM
|
0
|
0
|
1348
|
BLOG
|
Hi dafiter, Below is an example of using the text in the dropdown menu as the label in an imagery window. Hope this helps. Cheers, Richie line ~152 of index.js if ($(this).parent().parent().hasClass('rc-year')) { // Get year. var year = $(this).attr('data-year'); var label = $(this).html(); // Close all popups if user picks last entry. if (year === 'close-all'){ $('.rc-window').remove(); return; } // Add new lens. addLens( year, DEFAULT_SIZE, label ); } line ~180 of index.js // Function that adds a new lens. function addLens(year, size, label) { line ~278 of index.js // Add year text window.append( $(document.createElement('div')).css({ position: 'absolute', left: '0', top: '0', color: 'rgba(255, 255, 255, 0.5)', 'font-size': '24px', 'font-weight': 700, 'pointer-events': 'none', 'margin-top': '1px', 'margin-left': '5px' }).html(label) );
... View more
07-21-2017
11:27 AM
|
0
|
0
|
535
|
BLOG
|
At last year's Developer Summit, Jesse van den Kieboom demonstrated how realistic water effects can be applied to a JavaScript based web application (see slides, demo and source). The Prototype Lab modified Jesse's code to work with coastal inundation areas hosted in an AGOL feature service. This sample is based on version 4.3 of the ArcGIS API for JavaScript and three.js. Click here for the live application. Click here for the source code.
... View more
07-03-2017
07:05 PM
|
6
|
16
|
3436
|
BLOG
|
Your imagery is published as map service rather than an image service. This means that some of the url parameters are slightly different. Copy and replace the getImageUrl code block below to show an Ashland imagery lens in your app. function getImageUrl(year) { // Calculate scale (if image width or height exceeds maximum). var max = Math.max(_view.width, _view.height); var scale = max <= MAX_IMAGE ? 1 : MAX_IMAGE / max; // Get url/function from user defined selection. var url = 'http://gis.ashland.or.us/arcgis/rest/services/pictometry3inch_jason/MapServer'; url += '/export?f=image'; url += string.substitute('&bbox=${xmin},${ymin},${xmax},${ymax}', { xmin: _view.extent.xmin, ymin: _view.extent.ymin, xmax: _view.extent.xmax, ymax: _view.extent.ymax }); url += '&bboxSR=' + _view.spatialReference.wkid; url += '&imageSR=' + _view.spatialReference.wkid; url += string.substitute('&size=${w},${h}', { w: Math.min(Math.round(scale * _view.width), MAX_IMAGE), h: Math.min(Math.round(scale * _view.height), MAX_IMAGE) }); url += '&format=' + 'jpg'; return url; //var url = $('.rc-theme li.active a').attr('data-url'); //var fxn = $('.rc-theme li.active a').attr('data-function'); //// Construct map request url. //url += '/exportImage?f=image'; //url += string.substitute('&bbox=${xmin},${ymin},${xmax},${ymax}', { // xmin: _view.extent.xmin, // ymin: _view.extent.ymin, // xmax: _view.extent.xmax, // ymax: _view.extent.ymax //}); //url += '&bboxSR=' + _view.spatialReference.wkid; //url += '&imageSR=' + _view.spatialReference.wkid; //url += string.substitute('&size=${w},${h}', { // w: Math.min(Math.round(scale * _view.width), MAX_IMAGE), // h: Math.min(Math.round(scale * _view.height), MAX_IMAGE) //}); //url += string.substitute('&time=${f},${t}', { // f: 0, // t: Date.UTC(year, 0, 1) //}); //url += '&format=' + 'jpg'; //url += '&interpolation=' + 'RSP_BilinearInterpolation'; //url += '&mosaicRule=' + '{mosaicMethod:\'esriMosaicAttribute\',sortField:\'AcquisitionDate\',sortValue:\'2017/02/06, 12:00 AM\',ascending:true,mosaicOperation:\'MT_FIRST\',where:\'CloudCover<=0.1\'}'; //url += '&renderingRule=' + string.substitute('{rasterFunction:\'${rasterFunction}\'}', { // rasterFunction: fxn //}); //return url; }
... View more
06-02-2017
01:32 PM
|
0
|
0
|
535
|
BLOG
|
Hi Rickey, Yes, it is fairly easy to accommodate alternative imagery. The most significant change would be to the user interface to reflect the display options you want (if any). As a quick test, try the following modifications to "test drive" the app with your imagery. Download the source code from here, At line 307 of index.js, substitute the following: var url = $('.rc-theme li.active a').attr('data-url'); ...with... var url = 'https://<url to your image service>'; Uncomment lines in the code block, starting at line 301 of index.js, that are not relevant to your image service. For example, comment out lines 324, 330 and 331 that specify time, mosaic rule and the rendering rule respectively. Hope this helps.
... View more
06-02-2017
12:39 PM
|
0
|
0
|
535
|
BLOG
|
(click here for complete video) We are happy to announce the availability of the HoloLens Terrain Viewer tutorial. This tutorial provides step-by-step instructions for the creation of a HoloLens application that can construct holographic terrains dynamically from voice commands. The tutorial describes how to config the preset list of named locations. The tutorial includes scripts that automate the conversion of AGOL content (imagery and elevation) to Unity terrain objects. GitHub - Esri/hololens-terrain-viewer: Holographic mapping powered by ArcGIS
... View more
05-30-2017
03:03 PM
|
5
|
0
|
1929
|
Title | Kudos | Posted |
---|---|---|
1 | 05-14-2015 03:45 PM | |
4 | 02-06-2018 12:27 PM | |
1 | 03-06-2013 10:18 AM | |
3 | 11-06-2017 01:36 PM | |
6 | 09-07-2017 05:55 PM |
Online Status |
Offline
|
Date Last Visited |
07-06-2022
07:03 PM
|