{"id":175671,"date":"2011-07-21T20:23:45","date_gmt":"2011-07-21T20:23:45","guid":{"rendered":"http:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=175671"},"modified":"2018-12-18T10:52:35","modified_gmt":"2018-12-18T18:52:35","slug":"visualizing-time-aware-data-in-a-web-map","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-enterprise\/administration\/visualizing-time-aware-data-in-a-web-map","title":{"rendered":"Visualizing time-aware data in a web map"},"author":4781,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[37501],"tags":[23591,28621,26501,28041],"industry":[],"product":[36571],"class_list":["post-175671","blog","type-blog","status-publish","format-standard","hentry","category-administration","tag-arcgis-server","tag-feature-layers","tag-services","tag-time","product-arcgis-enterprise"],"acf":{"short_description":"You may have heard that ArcGIS 10 is \u201ctime-aware\u201d. This simply means that you can designate one or more fields in your data","flexible_content":[{"acf_fc_layout":"content","content":"<p>You may have heard that ArcGIS 10 is \u201ctime-aware\u201d. This simply means that you can designate one or more fields in your data as containing date\/time values, and then ArcGIS can play back the temporal progression of that data using a \u201ctime slider\u201d bar. There are time sliders built into ArcMap and ArcGIS Online, but you can also add them to web apps that you build with JavaScript, Flex, or Silverlight. Showing the temporal progression of data like this was technically possible before ArcGIS 10, but it required a lot more coding.<\/p>\n<p>To demonstrate one way that time-aware GIS data can be put in a web app, I created\u00a0<a title=\"Daily Fish Migration at Northwest US Dams\" href=\"http:\/\/servicesbeta.esri.com\/demos\/fish\/fish.html\" target=\"_blank\" rel=\"noopener\">this JavaScript map<\/a>\u00a0of fish migration up the Columbia and Snake Rivers earlier this year. The dams along the river have fish ladders, where each fish is counted as it swims up the river. Visualizing the daily fish counts over time\u00a0is an excellent way to see migration patterns. Take a few seconds to give the app a try.<\/p>\n<p><a title=\"Daily Fish Migration at Northwest US Dams\" href=\"http:\/\/servicesbeta.esri.com\/demos\/fish\/fish.html\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/downloads.esri.com\/blogs\/arcgisserver\/images\/time_web_app.png\" alt=\"Daily Fish Migration at Northwest US Dams\" width=\"338\" height=\"243\" \/><\/a><\/p>\n<p>In this post I\u2019ll explain a little about how I built this app and where you can get the code.<\/p>\n<h3>Getting the data and making it time-aware<\/h3>\n<p>The raw fish count data came from the Fish Passage Center website,\u00a0<a href=\"http:\/\/www.fpc.org\/\">www.fpc.org<\/a>. Here I was able to download comma-separated value (CSV) files showing fish counts for each dam in 2011. These CSV files are similar to what you might be able to export from Microsoft Excel. To make this data work on a map, I also had to have the dam locations, so I created a point feature class and heads-up digitized each dam.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/downloads.esri.com\/blogs\/arcgisserver\/images\/time_raw_data.png\" alt=\"Digitized dams\" width=\"271\" height=\"217\" \/><\/p>\n<p>Sometimes time-aware datasets are structured differently from traditional datasets you might use for a paper map. What I really needed for this web app was not one record for each dam, but rather, one record for each dam\u00a0<i>for each day<\/i>. Thus, what looks like a simple dataset with only a handful of points, really contains over 800 records.<\/p>\n<p>With a little bit of Python, I was able to read the fish counts out of the CSV files and write them as attributes for each dam for each day. Here\u2019s a portion of\u00a0the final table:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/downloads.esri.com\/blogs\/arcgisserver\/images\/time_attribute_table.png\" alt=\"Attribute table of dams dataset\" width=\"567\" height=\"294\" \/><\/p>\n<p>In order to make this type of data time-aware in ArcGIS, you have to add it to ArcMap. Then open the Layer Properties and click the Time tab. Here is where you tell ArcGIS about your dataset and how its time fields should be interpreted.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/downloads.esri.com\/blogs\/arcgisserver\/images\/time_layer_properties.png\" alt=\"Time tab of Layer Properties dialog box\" width=\"530\" height=\"416\" \/><\/p>\n<p>One of the first settings you need to choose is whether the layer has a single time field, or\u00a0both start and end time fields. Some phenomena, like fish counts, are taken at one point in time and just have one field. Other things might have a field recording both the start and end time of an event, such as a wildfire that begins on June 9 and ends on June 13.<\/p>\n<p>You can also indicate which field holds the time values, as well as the time extent and intervals that should be displayed in the time slider.<\/p>\n<p>In my particular map, I wanted the same service to expose data about four fish types. So I made four copies of the layer, symbolized them with proportional symbols, and made them all time aware. Below is what the final map looked like. (It\u2019s okay that all layers are turned on and overlap, because my app only requests one layer at a time from the map service.)<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/downloads.esri.com\/blogs\/arcgisserver\/images\/time_arcmap.png\" alt=\"Map of dams in ArcMap before publishing\" width=\"537\" height=\"445\" \/><\/p>\n<h3>Exposing time-aware layers through a web service<\/h3>\n<p>At this point I was ready to publish the map as a service. I saved a map service definition (MSD) file (yes, these support time-aware layers) and published it to ArcGIS Server in the usual way. All of the time information saved in the map is accessible through the map service. You can verify this by looking at a layer in the Services Directory:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/downloads.esri.com\/blogs\/arcgisserver\/images\/time_services_directory.png\" alt=\"Time-aware properties viewed in the Services Directory\" width=\"492\" height=\"308\" \/><\/p>\n<p>One easy way to view a time-aware map service is to add it to the ArcGIS.com map viewer (go to\u00a0<a href=\"http:\/\/www.arcgis.com\/\">www.ArcGIS.com<\/a>\u00a0and click\u00a0<strong>Map<\/strong>\u00a0to get to this viewer). The viewer recognizes any time-aware services you add and automatically gives you a time slider. In my case, I wanted to go a little further and make my own web app with a time slider. I chose the ArcGIS API for JavaScript because I had a bit of previous experience with it, and my adjacent co-workers happen to know this API very well. (I can\u2019t deny asking for the occasional hint!)<\/p>\n<h3>Building a time-aware web map with JavaScript<\/h3>\n<p>When you\u2019re starting out with the ArcGIS web APIs, a good strategy is to find some of the online samples that do the things you want to do, combine them into an app, and then modify the result to fit your requirements. I decided I wanted to use elements from these two samples:<\/p>\n<ul>\n<li><a title=\"Overview map\" href=\"http:\/\/help.arcgis.com\/en\/webapi\/javascript\/arcgis\/help\/jssamples_start.htm#jssamples\/layout_styledmap.html\">Overview map<\/a>\u00a0sample from the Layouts book. You\u2019ll see this is where I got the overview map, color scheme, styling, and partitioning of the window.<\/li>\n<li><a title=\"Layer Definition\" href=\"http:\/\/help.arcgis.com\/en\/webapi\/javascript\/arcgis\/help\/jssamples_start.htm#jssamples\/time_slider_layerDef.html\">Layer Definition<\/a>\u00a0sample from the Time book. This is where I got the time slider and the legend.<\/li>\n<\/ul>\n<p>The fish counts update very quickly because the app uses client-side graphics to display them. In other words, the browser makes a request to the map service saying essentially: \u201cGive me all the point vertices for the dams from April 17 \u2013 June 30, and their attributes. I\u2019ll do the work of drawing them.\u201d After the server sends the response, the browser can draw the points and their symbols without ever having to go back to the server for more information. Because I\u2019m dealing with fewer than 1000 records, I don\u2019t have to worry about hitting the map service\u2019s default limit for how many features it will return, but at the same time I am not requesting an\u00a0<a href=\"http:\/\/blogs.esri.com\/Dev\/blogs\/arcgisserver\/archive\/2011\/06\/23\/Determining-limits-for-map-graphics.aspx\">unreasonable<\/a>\u00a0number of points for the browser to display.<\/p>\n<p>The key to displaying the graphics this easily is to use the FeatureLayer class. Here\u2019s where I create it in my code:<\/p>\n<pre>var fishLayer = new esri.layers.FeatureLayer(initialFishLayerUrl, {\r\n  mode: esri.layers.FeatureLayer.MODE_SNAPSHOT,\r\n  outFields: [\"*\"]\r\n});<\/pre>\n<p>When you connect a FeatureLayer to a TimeSlider, the time slider does all the work for you of requesting and displaying the appropriate features for the currently displayed time slice.<\/p>\n<p>The time slider is a widget included with the ArcGIS API for JavaScript. To use it, I had to put the following at the top of my code:<\/p>\n<pre>dojo.require(\"esri.dijit.TimeSlider\");<\/pre>\n<p>Then, I had to create the time slider and set some properties on it, such as the thumb moving rate (how fast the slider plays) and whether the time slider should replay itself when it gets to the end (accomplished with the setLoop method).<\/p>\n<pre>\/\/ Create and configure the time slider\r\nvar timeSlider = new esri.dijit.TimeSlider({\r\n}, dojo.byId(\"timeSliderDiv\"));\r\nmap.setTimeSlider(timeSlider);\r\ntimeSlider.setThumbCount(1);\r\nvar layerTimeExtent = results[0].layer.timeInfo.timeExtent;\r\ntimeSlider.createTimeStopsByTimeInterval(layerTimeExtent, 1, 'esriTimeUnitsDays');\r\ntimeSlider.setThumbMovingRate(350);\r\ntimeSlider.singleThumbAsTimeInstant(true);\r\ntimeSlider.setLoop(false);\r\ntimeSlider.startup();<\/pre>\n<p>If you use the time slider in the ArcGIS API s for Flex or Silverlight, you\u2019ll see similar properties.<\/p>\n<p>You can handle events on the time slider to control what happens when the \u201cthumb\u201d on the slider moves. The drawing of the fish counts is handled automatically, but I did add some code to change the date label that appears directly below the slider.<\/p>\n<pre>\/\/ Report the date whenever the time slider moves\r\ndojo.connect(timeSlider, \"onTimeExtentChange\", function(timeExtent){\r\n  map.infoWindow.hide();\r\n  dojo.byId(\"timeSliderLabel\").innerHTML = dojo.string.substitute(\"&lt;b&gt;${startTime}, 2011&lt;\/b&gt;\", timeExtent, function(val) {\r\n\r\n      return dojo.date.locale.format(dojo.date.add(val, \"hour\", hourOffset), {\r\n      selector: 'date',\r\n      datePattern: 'MMM dd' \/\/ http:\/\/www.unicode.org\/reports\/tr35\/tr35-4.html#Date_Format_Patterns\r\n    });\r\n  });\r\n});<\/pre>\n<p>The above code results in a label that changes as the slider moves:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/downloads.esri.com\/blogs\/arcgisserver\/images\/time_label.png\" alt=\"Label that changes with the time slider\" width=\"138\" height=\"62\" \/><\/p>\n<h3>Conclusion and download link<\/h3>\n<p>This post has shown how you can start with raw tabular data and ultimately display it in a time-aware web application. The coding part is optional and can be eliminated if you want to use the time slider in ArcMap or in ArcGIS Online. However, because many of you may have to write similar types of web apps, I\u2019ve made the complete application and a readme file available for download at\u00a0<a href=\"http:\/\/esriurl.com\/fish\">http:\/\/esriurl.com\/fish<\/a>.<\/p>\n<p><i>Contributed by Sterling Quinn of the ArcGIS Server software development team<\/i><\/p>\n"}],"authors":[{"ID":4781,"user_firstname":"","user_lastname":"","nickname":"sterlingdq","user_nicename":"sterlingdq","display_name":"ArcGIS Server Development Team","user_email":"squinn@esri.com","user_url":"","user_registered":"2018-03-02 00:16:25","user_description":"","user_avatar":"<img alt='' src='https:\/\/secure.gravatar.com\/avatar\/ddafe5cd459e188305f7aa49a19793b8e89621b99b1a99c9979eb3f2073a7603?s=96&#038;d=blank&#038;r=g' srcset='https:\/\/secure.gravatar.com\/avatar\/ddafe5cd459e188305f7aa49a19793b8e89621b99b1a99c9979eb3f2073a7603?s=192&#038;d=blank&#038;r=g 2x' class='avatar avatar-96 photo' height='96' width='96' loading='lazy' decoding='async'\/>"}],"related_articles":"","card_image":false,"wide_image":false},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Visualizing time-aware data in a web map<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-enterprise\/administration\/visualizing-time-aware-data-in-a-web-map\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Visualizing time-aware data in a web map\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-enterprise\/administration\/visualizing-time-aware-data-in-a-web-map\" \/>\n<meta property=\"og:site_name\" content=\"ArcGIS Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/esrigis\/\" \/>\n<meta property=\"article:modified_time\" content=\"2018-12-18T18:52:35+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ESRI\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-enterprise\/administration\/visualizing-time-aware-data-in-a-web-map#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-enterprise\/administration\/visualizing-time-aware-data-in-a-web-map\"},\"author\":{\"name\":\"ArcGIS Server Development Team\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/073e71df29bffd1221469a9a683443df\"},\"headline\":\"Visualizing time-aware data in a web map\",\"datePublished\":\"2011-07-21T20:23:45+00:00\",\"dateModified\":\"2018-12-18T18:52:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-enterprise\/administration\/visualizing-time-aware-data-in-a-web-map\"},\"wordCount\":7,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"ArcGIS Server\",\"feature layers\",\"services\",\"Time\"],\"articleSection\":[\"Administration\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-enterprise\/administration\/visualizing-time-aware-data-in-a-web-map\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-enterprise\/administration\/visualizing-time-aware-data-in-a-web-map\",\"name\":\"Visualizing time-aware data in a web map\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2011-07-21T20:23:45+00:00\",\"dateModified\":\"2018-12-18T18:52:35+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-enterprise\/administration\/visualizing-time-aware-data-in-a-web-map#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-enterprise\/administration\/visualizing-time-aware-data-in-a-web-map\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-enterprise\/administration\/visualizing-time-aware-data-in-a-web-map#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Visualizing time-aware data in a web map\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"name\":\"ArcGIS Blog\",\"description\":\"Get insider info from Esri product teams\",\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\",\"name\":\"Esri\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"width\":400,\"height\":400,\"caption\":\"Esri\"},\"image\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/esrigis\/\",\"https:\/\/x.com\/ESRI\",\"https:\/\/www.linkedin.com\/company\/5311\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/073e71df29bffd1221469a9a683443df\",\"name\":\"ArcGIS Server Development Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ddafe5cd459e188305f7aa49a19793b8e89621b99b1a99c9979eb3f2073a7603?s=96&d=blank&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ddafe5cd459e188305f7aa49a19793b8e89621b99b1a99c9979eb3f2073a7603?s=96&d=blank&r=g\",\"caption\":\"ArcGIS Server Development Team\"},\"url\":\"\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Visualizing time-aware data in a web map","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-enterprise\/administration\/visualizing-time-aware-data-in-a-web-map","og_locale":"en_US","og_type":"article","og_title":"Visualizing time-aware data in a web map","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-enterprise\/administration\/visualizing-time-aware-data-in-a-web-map","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2018-12-18T18:52:35+00:00","twitter_card":"summary_large_image","twitter_site":"@ESRI","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-enterprise\/administration\/visualizing-time-aware-data-in-a-web-map#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-enterprise\/administration\/visualizing-time-aware-data-in-a-web-map"},"author":{"name":"ArcGIS Server Development Team","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/073e71df29bffd1221469a9a683443df"},"headline":"Visualizing time-aware data in a web map","datePublished":"2011-07-21T20:23:45+00:00","dateModified":"2018-12-18T18:52:35+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-enterprise\/administration\/visualizing-time-aware-data-in-a-web-map"},"wordCount":7,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["ArcGIS Server","feature layers","services","Time"],"articleSection":["Administration"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-enterprise\/administration\/visualizing-time-aware-data-in-a-web-map","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-enterprise\/administration\/visualizing-time-aware-data-in-a-web-map","name":"Visualizing time-aware data in a web map","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2011-07-21T20:23:45+00:00","dateModified":"2018-12-18T18:52:35+00:00","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-enterprise\/administration\/visualizing-time-aware-data-in-a-web-map#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-enterprise\/administration\/visualizing-time-aware-data-in-a-web-map"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-enterprise\/administration\/visualizing-time-aware-data-in-a-web-map#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"Visualizing time-aware data in a web map"}]},{"@type":"WebSite","@id":"https:\/\/www.esri.com\/arcgis-blog\/#website","url":"https:\/\/www.esri.com\/arcgis-blog\/","name":"ArcGIS Blog","description":"Get insider info from Esri product teams","publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization","name":"Esri","url":"https:\/\/www.esri.com\/arcgis-blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","width":400,"height":400,"caption":"Esri"},"image":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/esrigis\/","https:\/\/x.com\/ESRI","https:\/\/www.linkedin.com\/company\/5311\/"]},{"@type":"Person","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/073e71df29bffd1221469a9a683443df","name":"ArcGIS Server Development Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ddafe5cd459e188305f7aa49a19793b8e89621b99b1a99c9979eb3f2073a7603?s=96&d=blank&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ddafe5cd459e188305f7aa49a19793b8e89621b99b1a99c9979eb3f2073a7603?s=96&d=blank&r=g","caption":"ArcGIS Server Development Team"},"url":""}]}},"text_date":"July 21, 2011","author_name":"ArcGIS Server Development Team","author_page":false,"custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/08\/Newsroom-Keyart-Wide-1920-x-1080.jpg","primary_product":"ArcGIS Enterprise","tag_data":[{"term_id":23591,"name":"ArcGIS Server","slug":"arcgis-server","term_group":0,"term_taxonomy_id":23591,"taxonomy":"post_tag","description":"","parent":0,"count":53,"filter":"raw"},{"term_id":28621,"name":"feature layers","slug":"feature-layers","term_group":0,"term_taxonomy_id":28621,"taxonomy":"post_tag","description":"","parent":0,"count":21,"filter":"raw"},{"term_id":26501,"name":"services","slug":"services","term_group":0,"term_taxonomy_id":26501,"taxonomy":"post_tag","description":"","parent":0,"count":20,"filter":"raw"},{"term_id":28041,"name":"Time","slug":"time","term_group":0,"term_taxonomy_id":28041,"taxonomy":"post_tag","description":"","parent":0,"count":25,"filter":"raw"}],"category_data":[{"term_id":37501,"name":"Administration","slug":"administration","term_group":0,"term_taxonomy_id":37501,"taxonomy":"category","description":"","parent":0,"count":427,"filter":"raw"}],"product_data":[{"term_id":36571,"name":"ArcGIS Enterprise","slug":"arcgis-enterprise","term_group":0,"term_taxonomy_id":36571,"taxonomy":"product","description":"","parent":0,"count":979,"filter":"raw"}],"primary_product_link":"https:\/\/www.esri.com\/arcgis-blog\/?s=#&products=arcgis-enterprise","_links":{"self":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/175671","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/users\/4781"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=175671"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/175671\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=175671"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=175671"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=175671"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=175671"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=175671"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}