{"id":122191,"date":"2012-02-15T01:58:55","date_gmt":"2012-02-15T01:58:55","guid":{"rendered":"http:\/\/www.esri.com\/arcgis-blog\/products\/product\/uncategorized\/drag-and-drop-part-2-making-pop-up-window-information-neater-and-more-presentable\/"},"modified":"2012-02-15T01:58:55","modified_gmt":"2012-02-15T01:58:55","slug":"drag-and-drop-part-2-making-pop-up-window-information-neater-and-more-presentable","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/product\/water\/drag-and-drop-part-2-making-pop-up-window-information-neater-and-more-presentable","title":{"rendered":"Drag and Drop Part 2 \u2013 Making Pop-up Window Information Neater and More Presentable"},"author":4911,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[23051],"tags":[39071,39081,39091,39101,24981,39111,39121,39131],"industry":[],"product":[],"class_list":["post-122191","blog","type-blog","status-publish","format-standard","hentry","category-water","tag-aquatic-biology","tag-drag-and-drop","tag-fish","tag-fishnet","tag-hydro","tag-museum-records","tag-speckled-dace","tag-vertnet"],"acf":{"short_description":"Prepare the Data\n\nIn part 1 of this blog, we showed you how to take species observation data such as museum records with an x, y coordina...","flexible_content":[{"acf_fc_layout":"content","content":"<p><span style=\"text-decoration: underline\"><strong>Prepare the Data<\/strong><\/span><\/p>\n<p>In <strong><a title=\"Making a Web Map From Museaum Records - Just Drag and Drop\" href=\"http:\/\/blogs.esri.com\/Dev\/blogs\/hydro\/archive\/2011\/11\/23\/Making-a-Web-Map-From-Museum-Records-_1320_-Just-Drag-And-Drop.aspx\" target=\"_blank\">part 1<\/a><\/strong> of this blog, we showed you how to take species observation data such as museum records with an x, y coordinate pair and drag and drop it into ArcGIS.com map to make a web map. We used data we downloaded from the <strong><a title=\"FishNet2\" href=\"http:\/\/fishnet2.net\/\" target=\"_blank\">Fishnet<\/a><\/strong> website to make a web mapping application showing records for <strong><a title=\"Speckled Dace Web Map\" href=\"http:\/\/www.arcgis.com\/apps\/OnePane\/basicviewer\/index.html?appid=0c4a4a3f7ca04f4b8ae89745524622a1\" target=\"_blank\">Speckled Dace<\/a><\/strong>. <!--more--><\/p>\n<p>Let&#8217;s say you click on a point in this map, what do you see? You see a simple list of attributes. It&#8217;s a start. But you have to scroll way down to see the important things like the collection date and the collector. Other values could use some clean up on the database side to make the map more presentable. For example, values for counties include &#8220;Benton County&#8221;, &#8220;Catron&#8221;, \u201cDOUGLAS\u201d and \u201cKittitas Co.\u201d while other records have no value for county at all.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/downloads.esri.com\/blogs\/hydro\/FishWebMap2\/Fig1.jpg\" alt=\"The original pop-up window from our Speckled Dace map. \" width=\"417\" height=\"452\" \/>\u00a0<\/p>\n<p><em>Figure 1: The original pop-up window from our Speckled Dace map.<\/em><\/p>\n<p>In <strong><a title=\"Speckled Dace Web Map 2\" href=\"http:\/\/www.arcgis.com\/apps\/OnePane\/basicviewer\/index.html?appid=2e0946bbb6834366a31044c05e3201d4\" target=\"_blank\">version 2.0<\/a><\/strong> of our Speckled Dace map we used the field calculator in ArcMap to format the data a bit first before it goes into a pop-up window. To build this new map we downloaded the most recent version of the <strong><a title=\"FishNet2\" href=\"http:\/\/fishnet2.net\/\" target=\"_blank\">Fishnet<\/a><\/strong> query for Rhinichthys osculus and deleted records without coordinates. These data records sometimes contain commas in their fields, so we chose to download the tab-delimited format, *.txt. We imported the table to a geodatabase and added it to a new ArcMap document for editing.<br \/>\n<span style=\"text-decoration: underline\"><strong>Specimen<\/strong><\/span><\/p>\n<p>The catalog number and museum code are used to refer to a particular specimen held by a specific institution in scientific publications. The catalog number is the key value that unlocks all sorts of information about a specimen, including notes kept by the collector and other related information.<\/p>\n<p>The original pop-up displayed the institution and catalog number separately because they are in two different fields. We think our map reader would like to see them together because they make more sense to our audience when read together like this:<\/p>\n<p><strong><a title=\"Ichthyology at the Burke\" href=\"http:\/\/www.burkemuseum.org\/ichthyology\" target=\"_blank\">UWFC<\/a><\/strong> 029568<\/p>\n<p>The CatalogNumber field in the Speckled Dace dataset contains a variety of data: numbers, text plus numbers, and combinations of text, numbers and special characters. A second field, InstitutionCode, is relatively straightforward. InstitutionCode provides the standard code used to identify the museum that owns the specimen. This field is fully populated and needs no modification.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/downloads.esri.com\/blogs\/hydro\/FishWebMap2\/Fig2.jpg\" alt=\"Data in the CatalogNumber field are in different formats and need to be standardized for the pop-up.\" width=\"164\" height=\"327\" \/>\u00a0<\/p>\n<p><em>Figure 2: Data in the CatalogNumber field are in different formats and need to be standardized for the pop-up.<\/em><\/p>\n<p>To standardize the catalog number we first added a new field, CatNum, to the table as text format field and set its length to 20.<\/p>\n<p>As we mentioned the CatalogNumber field has data formatted different ways, including some records with their museum codes still attached. To remove the museum codes from the catalog numbers first right-click the CatNum field and then select field calculator.\u00a0 Then we use a simple Python function to split the CatalogNumber field and populate the CatNum field with the museum code removed.<br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/downloads.esri.com\/blogs\/hydro\/FishWebMap2\/Fig3.jpg\" alt=\"Screen shot of the field calculator with Split_CatalogNumber.cal calculation file loaded.\" width=\"464\" height=\"560\" \/>\u00a0<\/p>\n<p><em>Figure 3: Screen shot of the field calculator with Split_CatalogNumber.cal calculation file loaded.<\/em><\/p>\n<p>Note that the python parser radio button has been selected and there are two windows into which to place code, the pre-logic script code window, and the window below it where the field calculation is defined. Be sure when you do your calculation to check the Show Codeblock box, otherwise you will not see the pre-logic script code window.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/downloads.esri.com\/blogs\/hydro\/FishWebMap2\/Fig4.jpg\" alt=\"The data table after performing the calculation using the Split_CatalogNumber.cal calculation file.\" width=\"288\" height=\"229\" \/>\u00a0<\/p>\n<p><em>Figure 4: The data table after performing the calculation using the Split_CatalogNumber.cal calculation file.<\/em><\/p>\n<p>CatNum is now populated with the catalog number of each specimen and its museum code removed.<\/p>\n<p>We would like to provide a link from each record to the web page of the institution that provided the data. We can do that by joining a table of with hyperlinks in it to our original table. To add links we made a new table with fields that will contain the museum codes and hyperlinks.<\/p>\n<p><em><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/downloads.esri.com\/blogs\/hydro\/FishWebMap2\/Fig10.jpg\" alt=\"Figure 5: Lookup table for adding links to museum web pages.\" width=\"477\" height=\"262\" \/><\/em><\/p>\n<p><em>Figure 5: Lookup table for adding links to museum web pages.<\/em><\/p>\n<p>Join the museum links table to the fishnet records using InstitutionCode field from the original table and MuseumCode from the museum link table.\u00a0 Next, export the joined table to make the join permanent. The extra MuseumCode and OBJECTID_1 fields may be deleted from the new table.<\/p>\n<p>We then made a new text field, Specimen, and set its length to 200. To create this field we will use field calculator (Specimen_html.cal) to merge the InstitutionCode, CatNum, and Link fields and add a hyperlink.<\/p>\n<p>The Specimen_html.cal calculation file does not use a python function so it only has the following code in the field calculation window:<\/p>\n<p>&#8220;&lt;a href=&#8221;&#8221; + !Link! + &#8220;&#8221;&gt; &#8221; + !InstitutionCode! + &#8220;&lt;\/a&gt; &#8221; + !CatNum!<\/p>\n<p>This concatenates the InstitutionCode, CatNum, and Link fields and adds a hyperlink with an HTML link tag.<\/p>\n<p>The new Specimen field is populated with values that look like this:<\/p>\n<p>&lt;a href=&#8221;http:\/\/www.museum.tulane.edu\/&#8221;&gt; TU&lt;\/a&gt; 93821<\/p>\n<p>Because ArcGIS.com understands the meaning of the HTML link tag, the field will display in the pop-up like this:<\/p>\n<p><strong><a title=\"Tulane University Museum of Natural History\" href=\"http:\/\/www.museum.tulane.edu\/\" target=\"_blank\">TU<\/a><\/strong> 93821<\/p>\n<p>The museum code is now linked to the museum\u2019s webpage! The specimen field is now ready for the web map. Once this is all working properly you can place hyperlinks in your arcgis.com map pop-ups and have all kinds of information available to your map viewer without the needless clutter of dumping things unformatted into the pop-up window.<\/p>\n<p><span style=\"text-decoration: underline\"><strong>Locality<\/strong><\/span><\/p>\n<p>In the original version of the Speckled Dace map, information about location of the record was split amongst three fields, StateProvince, County, and Locality.<\/p>\n<p>Raw values in the StateProvince field are both capitalized and un-capitalized. We could run a simple capitalization script, however some states such as North Dakota and New Mexico have two words in their names that need to be capitalized, so we recommend using a script to calculate this field so that everything comes out the way it should.\u00a0 This script is called State_caps.cal and is the following:<\/p>\n<p>State_caps.cal<\/p>\n<p>Pre-logic Script Code:<\/p>\n<p>\u00a0\u00a0\u00a0 def function(State):\u00a0\u00a0\u00a0<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 final = &#8220;&#8221;\u00a0<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 split =\u00a0 State.split()<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 for word in split:<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 caps = word.capitalize()<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 final += caps + &#8221; &#8221;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 final = final.strip()<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 return final<\/p>\n<p>Field Calculation:<br \/>\n\u00a0\u00a0\u00a0 StateProvince = function(!StateProvince!)<\/p>\n<p>To run the calculation script we right-clicked the StateProvince field, selected field calculator, loaded and then ran the State_caps.cal script.<\/p>\n<p>Counties are even more complicated, some values end in \u201cCo.\u201d while others end in \u201ccounty\u201d.\u00a0 Still others are in Canada where the county field is not populated.\u00a0 The following County_Cleanup.cal script traps all these cases and standardizes the field:<\/p>\n<p>County_Cleanup.cal<br \/>\n\u00a0<br \/>\nPre-logic Script Code:<br \/>\n\u00a0\u00a0\u00a0 def function(county, state):<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 if county[-3:] == &#8220;Co.&#8221;:<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 return county[:-3] + &#8221; County&#8221;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 else:<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 if county.find(&#8220;County&#8221;) == -1 and state != &#8220;British Columbia&#8221;:<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 return county + &#8221; County&#8221;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 else:<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 return county<\/p>\n<p>Field Calculation:<br \/>\n\u00a0\u00a0\u00a0 County = function(!County!, !StateProvince!)<br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/downloads.esri.com\/blogs\/hydro\/FishWebMap2\/Fig6.jpg\" alt=\"The County field before and after running the County_Cleanup.cal script. Note that the counties still have irregular capitalization.\" width=\"414\" height=\"356\" \/>\u00a0<\/p>\n<p><em>Figure 6: The County field before and after running the County_Cleanup.cal script. Note that the counties still have irregular capitalization.<\/em><\/p>\n<p>The last step for preparing the counties is to standardize capitalization. To do this we ran the County_caps.cal script which is very similar to the State_caps.cal script.<\/p>\n<p>County_caps.cal<\/p>\n<p>Pre-Logic Script Code:<br \/>\n\u00a0\u00a0\u00a0 def function(CountyCap):\u00a0\u00a0\u00a0<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 final = &#8220;&#8221;\u00a0<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 split =\u00a0 CountyCap.split()<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 for word in split:<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 caps = word.capitalize()<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 final += caps + &#8221; &#8221;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 final = final.strip()<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 return final<\/p>\n<p>Field Calculation:<br \/>\n\u00a0\u00a0\u00a0 County = function( !County! )<\/p>\n<p>To standardize the capitalization we used a second script (County_caps.cal) that is similar to the one used to fix the capitalization of the StateProvince field.<br \/>\n\u00a0<\/p>\n<p><em><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/downloads.esri.com\/blogs\/hydro\/FishWebMap2\/Fig9.jpg\" alt=\"Figure 7: Final County field ready for use in web map.\" width=\"189\" height=\"359\" \/><\/em><\/p>\n<p><em>Figure 7: Final County field ready for use in web map.<\/em><\/p>\n<p>To organize the locality information contained in the StateProvince, County, and Locality fields into a single field we first need to tackle the case of records with no locality data. First we sorted the table so the fields with NULL values in their locality field are all in a row. Then we highlighted these records and used field calculator to populate them with the value \u201cx\u201d which a later script will change into \u201cNo locality information reported.\u201d<\/p>\n<p>We then cleared the selection and added a text field LocHTML and set its length to 250. We ran a field calculator script (Locality.cal) to assemble the three fields for the web map.<\/p>\n<p>Locality.cal<\/p>\n<p>Pre-logic Script Code:<br \/>\n\u00a0\u00a0\u00a0 def function(loc):<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 length = len(loc)<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 if length &gt; 200:<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 loc = loc[:200] + &#8220;&#8230;&#8221;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 else:<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 if loc[-1:] != &#8220;.&#8221;:<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 loc = loc + &#8220;.&#8221;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 return loc<\/p>\n<p>\u00a0\u00a0\u00a0 def countyFunction(county):<br \/>\n\u00a0\u00a0 \u00a0 \u00a0\u00a0 if county == &#8220;x&#8221;:<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 county = &#8221; &#8221;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 else:<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 county = &#8221; &#8221; + county + &#8220;, &#8221;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 return county<\/p>\n<p>Field Calculation:<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 function( !Locality! ) + countyFunction(!County!) + ( !StateProvince!) + &#8220;.&#8221;<\/p>\n<p>Because fields in a dbf file cannot be longer than 254 characters, the Locality.cal script trims Locality values greater than 200 characters, leaving space for the county and state. If the locality is clipped an ellipsis is added (\u201c\u2026\u201d) to indicate that more information is associated with the original record. Next if the Locality does not end in a period one is added. If the County field is = \u201cx\u201d a space is added to the end of the locality string otherwise a space followed by the County value then a comma and space are appended to the locality string. Lastly the state and a period are added yielding values that look like this:<\/p>\n<p>\u00a0\u00a0\u00a0 New Fork River 1.5 mi. W of Pinedale, US Hwy. 187. Sublette County, Wyoming.<\/p>\n<p>\u00a0\u00a0\u00a0 No locality information reported. Idaho.<\/p>\n<p>\u00a0\u00a0\u00a0 North Fork John Day River. Oregon.<br \/>\n<span style=\"text-decoration: underline\"><strong>Collection Date<\/strong><\/span><\/p>\n<p>In our original map the collection date is displayed in three rows, in a number format.\u00a0 Because using a number for the month can be confusing to international audiences, we wanted to convert the MonthCollected field to a text field instead of a number field.<\/p>\n<p>First we made a lookup table which contains the name of each month and the number of each month in two fields. We are going to concatenate some of these fields together, so we need to limit the lengths of each of the fields for right now. The Month field should be an integer, and the MonthText field should be a text field with a length of 40.<br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/downloads.esri.com\/blogs\/hydro\/FishWebMap2\/Fig8.jpg\" alt=\"Lookup table used to convert MonthCollected values from number to text.\" width=\"293\" height=\"350\" \/>\u00a0<\/p>\n<p><em>Figure 8: Lookup table used to convert MonthCollected values from number to text.<\/em><\/p>\n<p>We then joined the new table\u2019s Month field to the original tables MonthCollected field. We exported the joined table to make the join permanent and then deleted the Month and OBJECTID_1 fields. We sorted the new table on the MonthText field and select null values. We used the field calculator to set the null values to &#8220;Collection date not provided&#8221; (this is why we made the field length = 40).<br \/>\nWe then added a new text field named Full_Date to the table and set its length to 40. We used the field calculator script Date.cal to assemble the month, day, and year for the web map.<br \/>\nDate.cal<\/p>\n<p>Pre-logic Script Code:<br \/>\n\u00a0\u00a0\u00a0 def function(month, day, year):<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 if month == &#8220;None&#8221;:<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 date = &#8220;Collection date not provided&#8221;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 else:<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 date = month + &#8221; &#8221; +\u00a0 str(day) + &#8220;, &#8221; + str(year)<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 return date<\/p>\n<p>Field Calculation:<br \/>\n\u00a0\u00a0\u00a0 function( !MonthText! , !DayCollected! , !YearCollected! )<br \/>\n<span style=\"text-decoration: underline\"><strong>Collector<\/strong><\/span><\/p>\n<p>We sorted the Collector field and selected the null values. We then used the field calculator to set the null values to \u201cUnknown\u201d.<\/p>\n<p>Now the data are ready for use in our web map. Right click the table in ArcMap and export the table to a text file (*.txt).<br \/>\n<span style=\"text-decoration: underline\"><strong>Next week<\/strong><\/span><\/p>\n<p>Next week we will show you how to configure a custom pop-up format that we used to make our new <strong><a title=\"Speckled Dace Web Map 2\" href=\"http:\/\/www.arcgis.com\/apps\/OnePane\/basicviewer\/index.html?appid=2e0946bbb6834366a31044c05e3201d4\" target=\"_blank\">speckled dace web application<\/a><\/strong>.<\/p>\n<p><span style=\"text-decoration: underline\"><strong>Download the Field Calculator Scripts<\/strong><\/span><\/p>\n<p>We posted the <strong><a title=\"Calculate Scripts\" href=\"http:\/\/downloads.esri.com\/blogs\/hydro\/FishWebMap2\/Calc_Scripts_For_DaceBlog.zip\" target=\"_blank\">field calculation scripts<\/a><\/strong> on the ArcGIS Hydro Resource Center for you to download, use, and modify.<\/p>\n<p>County_caps.cal<br \/>\nCounty_Cleanup.cal<br \/>\nDate.cal<br \/>\nLocality.cal<br \/>\nSpecimen_html.cal<br \/>\nSplit_CatalogNumber.cal<br \/>\nState_caps.cal<br \/>\n<span style=\"text-decoration: underline\"><strong>Special Thanks to: <\/strong><\/span><\/p>\n<p>The <strong><a title=\"FishNet2\" href=\"http:\/\/fishnet2.net\/\" target=\"_blank\">Fishnet data portal<\/a><\/strong> data portal and the following institutions for providing the data used in this application:<\/p>\n<ul>\n<li><strong><a title=\"Smithsonian\" href=\"http:\/\/www.mnh.si.edu\/\" target=\"_blank\">US National Museum of Natural History<\/a><\/strong><\/li>\n<li><strong><a title=\"NCSM\" href=\"http:\/\/collections.naturalsciences.org\/\" target=\"_blank\">North Carolina Museum of Natural Sciences<\/a><\/strong><\/li>\n<li><strong><a title=\"KU Natural History Museum\" href=\"http:\/\/naturalhistory.ku.edu\/\" target=\"_blank\">University of Kansas Natural History Museum<\/a><\/strong><\/li>\n<li><strong><a title=\"Canadian Museum of Nature\" href=\"http:\/\/www.nature.ca\/\" target=\"_blank\">Canadian Museum of Nature<\/a><\/strong><\/li>\n<li><strong><a title=\"Harvard Museum of Comparative Zoology\" href=\"http:\/\/www.mcz.harvard.edu\/\" target=\"_blank\">Harvard University Museum of Comparative Zoology<\/a><\/strong><\/li>\n<li><strong><a title=\"University of Washington Fish Collection\" href=\"http:\/\/www.burkemuseum.org\/ichthyology\" target=\"_blank\">University of Washington Fish Collection<\/a><\/strong><\/li>\n<li><span style=\"text-decoration: underline\"><strong><a title=\"Natural History Museum Los Angeles County\" href=\"http:\/\/www.nhm.org\/site\/\" target=\"_blank\">Natural History Museum Los Angeles County<\/a><\/strong><\/span><\/li>\n<li><span style=\"text-decoration: underline\"><strong><a title=\"Royal Ontario Museum\" href=\"http:\/\/www.rom.on.ca\/\" target=\"_blank\">Royal Ontario Museum<\/a><\/strong><\/span><\/li>\n<li><span style=\"text-decoration: underline\"><strong><a title=\"Tulane University Museum of Natural History\" href=\"http:\/\/www.museum.tulane.edu\/\" target=\"_blank\">Tulane University Museum of Natural History<\/a><\/strong><\/span><\/li>\n<li><span style=\"text-decoration: underline\"><strong><a title=\"University of Michigan Museum of Zoology\" href=\"http:\/\/www.ummz.lsa.umich.edu\/\" target=\"_blank\">University of Michigan Museum of Zoology<\/a><\/strong><\/span><\/li>\n<\/ul>\n<p><em><strong>And to Rich Nauman and Michael Dangermond for providing the post. For more information on using biodiversity data in ArcGIS.com web maps and applications contact Richard Nauman (rnauman@esri.com).<\/strong><\/em><\/p>\n"}],"authors":[{"ID":4911,"user_firstname":"Caitlin","user_lastname":"Scopel","nickname":"Caitlin Scopel","user_nicename":"coscopel","display_name":"Caitlin Scopel","user_email":"CScopel@esri.com","user_url":"","user_registered":"2018-03-02 00:16:31","user_description":"Senior Project Manager for the ArcGIS Living Atlas of the World Environment Team. Caitlin works on projects that utilize environmental data from local, state, national and global institutions.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/04\/G68235_CaitlinScopel_22-150x150.jpg' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"}]},"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>Drag and Drop Part 2 \u2013 Making Pop-up Window Information Neater and More Presentable<\/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\/product\/water\/drag-and-drop-part-2-making-pop-up-window-information-neater-and-more-presentable\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Drag and Drop Part 2 \u2013 Making Pop-up Window Information Neater and More Presentable\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/product\/water\/drag-and-drop-part-2-making-pop-up-window-information-neater-and-more-presentable\" \/>\n<meta property=\"og:site_name\" content=\"ArcGIS Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/esrigis\/\" \/>\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\/product\/water\/drag-and-drop-part-2-making-pop-up-window-information-neater-and-more-presentable#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/product\/water\/drag-and-drop-part-2-making-pop-up-window-information-neater-and-more-presentable\"},\"author\":{\"name\":\"Caitlin Scopel\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/df83e200f29054bdeb52d458b15ba2c0\"},\"headline\":\"Drag and Drop Part 2 \u2013 Making Pop-up Window Information Neater and More Presentable\",\"datePublished\":\"2012-02-15T01:58:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/product\/water\/drag-and-drop-part-2-making-pop-up-window-information-neater-and-more-presentable\"},\"wordCount\":12,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"Aquatic Biology\",\"Drag-and-drop\",\"fish\",\"FishNet\",\"hydro\",\"Museum records\",\"Speckled Dace\",\"VertNet\"],\"articleSection\":[\"Water\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/product\/water\/drag-and-drop-part-2-making-pop-up-window-information-neater-and-more-presentable#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/product\/water\/drag-and-drop-part-2-making-pop-up-window-information-neater-and-more-presentable\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/product\/water\/drag-and-drop-part-2-making-pop-up-window-information-neater-and-more-presentable\",\"name\":\"Drag and Drop Part 2 \u2013 Making Pop-up Window Information Neater and More Presentable\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2012-02-15T01:58:55+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/product\/water\/drag-and-drop-part-2-making-pop-up-window-information-neater-and-more-presentable#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/product\/water\/drag-and-drop-part-2-making-pop-up-window-information-neater-and-more-presentable\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/product\/water\/drag-and-drop-part-2-making-pop-up-window-information-neater-and-more-presentable#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Drag and Drop Part 2 \u2013 Making Pop-up Window Information Neater and More Presentable\"}]},{\"@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\/df83e200f29054bdeb52d458b15ba2c0\",\"name\":\"Caitlin Scopel\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/04\/G68235_CaitlinScopel_22-150x150.jpg\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/04\/G68235_CaitlinScopel_22-150x150.jpg\",\"caption\":\"Caitlin Scopel\"},\"description\":\"Senior Project Manager for the ArcGIS Living Atlas of the World Environment Team. Caitlin works on projects that utilize environmental data from local, state, national and global institutions.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/caitlin-scopel-gisp-a7b8383\/\"],\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/author\/coscopel\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Drag and Drop Part 2 \u2013 Making Pop-up Window Information Neater and More Presentable","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\/product\/water\/drag-and-drop-part-2-making-pop-up-window-information-neater-and-more-presentable","og_locale":"en_US","og_type":"article","og_title":"Drag and Drop Part 2 \u2013 Making Pop-up Window Information Neater and More Presentable","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/product\/water\/drag-and-drop-part-2-making-pop-up-window-information-neater-and-more-presentable","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","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\/product\/water\/drag-and-drop-part-2-making-pop-up-window-information-neater-and-more-presentable#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/product\/water\/drag-and-drop-part-2-making-pop-up-window-information-neater-and-more-presentable"},"author":{"name":"Caitlin Scopel","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/df83e200f29054bdeb52d458b15ba2c0"},"headline":"Drag and Drop Part 2 \u2013 Making Pop-up Window Information Neater and More Presentable","datePublished":"2012-02-15T01:58:55+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/product\/water\/drag-and-drop-part-2-making-pop-up-window-information-neater-and-more-presentable"},"wordCount":12,"commentCount":0,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["Aquatic Biology","Drag-and-drop","fish","FishNet","hydro","Museum records","Speckled Dace","VertNet"],"articleSection":["Water"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/product\/water\/drag-and-drop-part-2-making-pop-up-window-information-neater-and-more-presentable#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/product\/water\/drag-and-drop-part-2-making-pop-up-window-information-neater-and-more-presentable","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/product\/water\/drag-and-drop-part-2-making-pop-up-window-information-neater-and-more-presentable","name":"Drag and Drop Part 2 \u2013 Making Pop-up Window Information Neater and More Presentable","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2012-02-15T01:58:55+00:00","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/product\/water\/drag-and-drop-part-2-making-pop-up-window-information-neater-and-more-presentable#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/product\/water\/drag-and-drop-part-2-making-pop-up-window-information-neater-and-more-presentable"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/product\/water\/drag-and-drop-part-2-making-pop-up-window-information-neater-and-more-presentable#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"Drag and Drop Part 2 \u2013 Making Pop-up Window Information Neater and More Presentable"}]},{"@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\/df83e200f29054bdeb52d458b15ba2c0","name":"Caitlin Scopel","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/04\/G68235_CaitlinScopel_22-150x150.jpg","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/04\/G68235_CaitlinScopel_22-150x150.jpg","caption":"Caitlin Scopel"},"description":"Senior Project Manager for the ArcGIS Living Atlas of the World Environment Team. Caitlin works on projects that utilize environmental data from local, state, national and global institutions.","sameAs":["https:\/\/www.linkedin.com\/in\/caitlin-scopel-gisp-a7b8383\/"],"url":"https:\/\/www.esri.com\/arcgis-blog\/author\/coscopel"}]}},"text_date":"February 15, 2012","author_name":"Caitlin Scopel","author_page":"https:\/\/www.esri.com\/arcgis-blog\/author\/coscopel","custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/08\/Newsroom-Keyart-Wide-1920-x-1080.jpg","primary_product":false,"tag_data":[{"term_id":39071,"name":"Aquatic Biology","slug":"aquatic-biology","term_group":0,"term_taxonomy_id":39071,"taxonomy":"post_tag","description":"","parent":0,"count":3,"filter":"raw"},{"term_id":39081,"name":"Drag-and-drop","slug":"drag-and-drop","term_group":0,"term_taxonomy_id":39081,"taxonomy":"post_tag","description":"","parent":0,"count":4,"filter":"raw"},{"term_id":39091,"name":"fish","slug":"fish","term_group":0,"term_taxonomy_id":39091,"taxonomy":"post_tag","description":"","parent":0,"count":3,"filter":"raw"},{"term_id":39101,"name":"FishNet","slug":"fishnet","term_group":0,"term_taxonomy_id":39101,"taxonomy":"post_tag","description":"","parent":0,"count":3,"filter":"raw"},{"term_id":24981,"name":"hydro","slug":"hydro","term_group":0,"term_taxonomy_id":24981,"taxonomy":"post_tag","description":"","parent":0,"count":204,"filter":"raw"},{"term_id":39111,"name":"Museum records","slug":"museum-records","term_group":0,"term_taxonomy_id":39111,"taxonomy":"post_tag","description":"","parent":0,"count":3,"filter":"raw"},{"term_id":39121,"name":"Speckled Dace","slug":"speckled-dace","term_group":0,"term_taxonomy_id":39121,"taxonomy":"post_tag","description":"","parent":0,"count":3,"filter":"raw"},{"term_id":39131,"name":"VertNet","slug":"vertnet","term_group":0,"term_taxonomy_id":39131,"taxonomy":"post_tag","description":"","parent":0,"count":3,"filter":"raw"}],"category_data":[{"term_id":23051,"name":"Water","slug":"water","term_group":0,"term_taxonomy_id":23051,"taxonomy":"category","description":"","parent":0,"count":463,"filter":"raw"}],"product_data":[],"primary_product_link":"https:\/\/www.esri.com\/arcgis-blog\/","_links":{"self":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/122191","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\/4911"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=122191"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/122191\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=122191"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=122191"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=122191"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=122191"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=122191"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}