Skip to content

Instantly share code, notes, and snippets.

@epifanio
Created February 19, 2014 06:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save epifanio/9087115 to your computer and use it in GitHub Desktop.
Save epifanio/9087115 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"worksheets": [
{
"cells": [
{
"metadata": {},
"cell_type": "markdown",
"source": "Library import"
},
{
"metadata": {},
"cell_type": "code",
"input": "import pandas as pd\nimport numpy as np\nimport geojson\nfrom geojson import Feature, Point, FeatureCollection \nfrom IPython.core.display import HTML\nfrom OpenLayers2 import makeSingleStyle, makeStyle3, makeQuery3, control3, addWMS",
"prompt_number": 1,
"outputs": [],
"language": "python",
"trusted": true,
"collapsed": false
},
{
"metadata": {},
"cell_type": "heading",
"source": "Read data ",
"level": 2
},
{
"metadata": {},
"cell_type": "markdown",
"source": "* NOAA NMFS NEFSC Bottom Trawl Survey - Fall 2011"
},
{
"metadata": {},
"cell_type": "code",
"input": "data = pd.read_csv('Fall_2011.csv')",
"prompt_number": 2,
"outputs": [],
"language": "python",
"trusted": true,
"collapsed": false
},
{
"metadata": {},
"cell_type": "code",
"input": "data.head()",
"prompt_number": 3,
"outputs": [
{
"text": " SEASON CRUISE6 STATION SVSPP LATITUDE LONGITUDE ABUNDANCE BIOMASS\n0 FALL 201105 6 14 36.977443 -74.63074 228 5.785\n1 FALL 201105 6 15 36.977443 -74.63074 2 0.262\n2 FALL 201105 6 15 36.977443 -74.63074 3 0.331\n3 FALL 201105 6 25 36.977443 -74.63074 2 0.518\n4 FALL 201105 6 63 36.977443 -74.63074 6 0.813\n\n[5 rows x 8 columns]",
"html": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>SEASON</th>\n <th>CRUISE6</th>\n <th>STATION</th>\n <th>SVSPP</th>\n <th>LATITUDE</th>\n <th>LONGITUDE</th>\n <th>ABUNDANCE</th>\n <th>BIOMASS</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td> FALL</td>\n <td> 201105</td>\n <td> 6</td>\n <td> 14</td>\n <td> 36.977443</td>\n <td>-74.63074</td>\n <td> 228</td>\n <td> 5.785</td>\n </tr>\n <tr>\n <th>1</th>\n <td> FALL</td>\n <td> 201105</td>\n <td> 6</td>\n <td> 15</td>\n <td> 36.977443</td>\n <td>-74.63074</td>\n <td> 2</td>\n <td> 0.262</td>\n </tr>\n <tr>\n <th>2</th>\n <td> FALL</td>\n <td> 201105</td>\n <td> 6</td>\n <td> 15</td>\n <td> 36.977443</td>\n <td>-74.63074</td>\n <td> 3</td>\n <td> 0.331</td>\n </tr>\n <tr>\n <th>3</th>\n <td> FALL</td>\n <td> 201105</td>\n <td> 6</td>\n <td> 25</td>\n <td> 36.977443</td>\n <td>-74.63074</td>\n <td> 2</td>\n <td> 0.518</td>\n </tr>\n <tr>\n <th>4</th>\n <td> FALL</td>\n <td> 201105</td>\n <td> 6</td>\n <td> 63</td>\n <td> 36.977443</td>\n <td>-74.63074</td>\n <td> 6</td>\n <td> 0.813</td>\n </tr>\n </tbody>\n</table>\n<p>5 rows × 8 columns</p>\n</div>",
"output_type": "pyout",
"metadata": {},
"prompt_number": 3
}
],
"language": "python",
"trusted": true,
"collapsed": false
},
{
"metadata": {},
"cell_type": "markdown",
"source": "* Species list "
},
{
"metadata": {},
"cell_type": "code",
"input": "xl = pd.ExcelFile(\"svspp_species.xlsx\")\n#xl.sheet_names\nsvspp = xl.parse(\"SpeciesCodes\")\n#newdata = pd.merge(data, svspp, on='SVSPP', how='outer')",
"prompt_number": 4,
"outputs": [],
"language": "python",
"trusted": true,
"collapsed": false
},
{
"metadata": {},
"cell_type": "code",
"input": "svspp.head()",
"prompt_number": 5,
"outputs": [
{
"text": " SVSPP COMNAME SCINAME\n0 0 UNCLASSIFIED FISH UNIDENTIFIED FISH\n1 1 ATLANTIC HAGFISH MYXINE GLUTINOSA\n2 2 SEA LAMPREY PETROMYZON MARINUS\n3 3 DUSKY SHARK CARCHARHINUS OBSCURUS\n4 4 ROUGHTAIL STINGRAY DASYATIS CENTROURA\n\n[5 rows x 3 columns]",
"html": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>SVSPP</th>\n <th>COMNAME</th>\n <th>SCINAME</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td> 0</td>\n <td> UNCLASSIFIED FISH</td>\n <td> UNIDENTIFIED FISH</td>\n </tr>\n <tr>\n <th>1</th>\n <td> 1</td>\n <td> ATLANTIC HAGFISH</td>\n <td> MYXINE GLUTINOSA</td>\n </tr>\n <tr>\n <th>2</th>\n <td> 2</td>\n <td> SEA LAMPREY</td>\n <td> PETROMYZON MARINUS</td>\n </tr>\n <tr>\n <th>3</th>\n <td> 3</td>\n <td> DUSKY SHARK</td>\n <td> CARCHARHINUS OBSCURUS</td>\n </tr>\n <tr>\n <th>4</th>\n <td> 4</td>\n <td> ROUGHTAIL STINGRAY</td>\n <td> DASYATIS CENTROURA</td>\n </tr>\n </tbody>\n</table>\n<p>5 rows × 3 columns</p>\n</div>",
"output_type": "pyout",
"metadata": {},
"prompt_number": 5
}
],
"language": "python",
"trusted": true,
"collapsed": false
},
{
"metadata": {},
"cell_type": "heading",
"source": "Merge the 2 tables in a single dataframe",
"level": 3
},
{
"metadata": {},
"cell_type": "code",
"input": "newdata = pd.merge(data, svspp, on='SVSPP', how='left')\nnewdata = newdata.sort(['STATION','SVSPP']).reset_index()\nnewdata = newdata.drop('index',1)\nnewdata.head()",
"prompt_number": 6,
"outputs": [
{
"text": " SEASON CRUISE6 STATION SVSPP LATITUDE LONGITUDE ABUNDANCE BIOMASS \\\n0 FALL 201105 6 14 36.977443 -74.63074 228 5.785 \n1 FALL 201105 6 15 36.977443 -74.63074 2 0.262 \n2 FALL 201105 6 15 36.977443 -74.63074 3 0.331 \n3 FALL 201105 6 25 36.977443 -74.63074 2 0.518 \n4 FALL 201105 6 63 36.977443 -74.63074 6 0.813 \n\n COMNAME SCINAME \n0 CHAIN DOGFISH SCYLIORHINUS RETIFER \n1 SPINY DOGFISH SQUALUS ACANTHIAS \n2 SPINY DOGFISH SQUALUS ACANTHIAS \n3 ROSETTE SKATE LEUCORAJA GARMANI \n4 CONGER EEL CONGER OCEANICUS \n\n[5 rows x 10 columns]",
"html": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>SEASON</th>\n <th>CRUISE6</th>\n <th>STATION</th>\n <th>SVSPP</th>\n <th>LATITUDE</th>\n <th>LONGITUDE</th>\n <th>ABUNDANCE</th>\n <th>BIOMASS</th>\n <th>COMNAME</th>\n <th>SCINAME</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td> FALL</td>\n <td> 201105</td>\n <td> 6</td>\n <td> 14</td>\n <td> 36.977443</td>\n <td>-74.63074</td>\n <td> 228</td>\n <td> 5.785</td>\n <td> CHAIN DOGFISH</td>\n <td> SCYLIORHINUS RETIFER</td>\n </tr>\n <tr>\n <th>1</th>\n <td> FALL</td>\n <td> 201105</td>\n <td> 6</td>\n <td> 15</td>\n <td> 36.977443</td>\n <td>-74.63074</td>\n <td> 2</td>\n <td> 0.262</td>\n <td> SPINY DOGFISH</td>\n <td> SQUALUS ACANTHIAS</td>\n </tr>\n <tr>\n <th>2</th>\n <td> FALL</td>\n <td> 201105</td>\n <td> 6</td>\n <td> 15</td>\n <td> 36.977443</td>\n <td>-74.63074</td>\n <td> 3</td>\n <td> 0.331</td>\n <td> SPINY DOGFISH</td>\n <td> SQUALUS ACANTHIAS</td>\n </tr>\n <tr>\n <th>3</th>\n <td> FALL</td>\n <td> 201105</td>\n <td> 6</td>\n <td> 25</td>\n <td> 36.977443</td>\n <td>-74.63074</td>\n <td> 2</td>\n <td> 0.518</td>\n <td> ROSETTE SKATE</td>\n <td> LEUCORAJA GARMANI</td>\n </tr>\n <tr>\n <th>4</th>\n <td> FALL</td>\n <td> 201105</td>\n <td> 6</td>\n <td> 63</td>\n <td> 36.977443</td>\n <td>-74.63074</td>\n <td> 6</td>\n <td> 0.813</td>\n <td> CONGER EEL</td>\n <td> CONGER OCEANICUS</td>\n </tr>\n </tbody>\n</table>\n<p>5 rows × 10 columns</p>\n</div>",
"output_type": "pyout",
"metadata": {},
"prompt_number": 6
}
],
"language": "python",
"trusted": true,
"collapsed": false
},
{
"metadata": {},
"cell_type": "heading",
"source": "Add 2 columns for each species (A_ : Abundance, B_ : Biomass) and group the data by station",
"level": 3
},
{
"metadata": {},
"cell_type": "code",
"input": "newcol = []\ndataset = newdata.copy()\nfor i in dataset['COMNAME'].unique():\n abundance = 'A_'+str(i).replace(' ','_')\n biomass = 'B_'+str(i).replace(' ','_')\n newcol.append(abundance)\n newcol.append(biomass)\n dataset[abundance] = pd.Series(np.zeros(len(dataset)), index=dataset.index)\n dataset[biomass] = pd.Series(np.zeros(len(dataset)), index=dataset.index)",
"prompt_number": 7,
"outputs": [],
"language": "python",
"trusted": true,
"collapsed": false
},
{
"metadata": {},
"cell_type": "code",
"input": "for i, v in enumerate(dataset.index):\n abundance='A_'+str(dataset['COMNAME'][i]).replace(' ','_')\n biomass='B_'+str(dataset['COMNAME'][i]).replace(' ','_')\n dataset[biomass][i] = dataset['BIOMASS'][i]\n dataset[abundance][i] = dataset['ABUNDANCE'][i]",
"prompt_number": 8,
"outputs": [],
"language": "python",
"trusted": true,
"collapsed": false
},
{
"metadata": {},
"cell_type": "code",
"input": "df = dataset.groupby(['STATION','SEASON','CRUISE6','LATITUDE','LONGITUDE'])[newcol].sum().reset_index()",
"prompt_number": 9,
"outputs": [],
"language": "python",
"trusted": true,
"collapsed": false
},
{
"metadata": {},
"cell_type": "code",
"input": "try:\n df = df.drop('A_nan',1)\n df = df.drop('B_nan',1)\nexcept:\n print 'no nan found'",
"prompt_number": 10,
"outputs": [],
"language": "python",
"trusted": true,
"collapsed": false
},
{
"metadata": {},
"cell_type": "code",
"input": "df.head()",
"prompt_number": 11,
"outputs": [
{
"text": " STATION SEASON CRUISE6 LATITUDE LONGITUDE A_CHAIN_DOGFISH \\\n0 6 FALL 201105 36.977443 -74.630740 228 \n1 7 FALL 201105 36.955818 -74.920427 0 \n2 8 FALL 201105 36.848960 -75.008222 0 \n3 9 FALL 201105 36.753893 -74.965790 0 \n4 10 FALL 201105 36.804232 -74.701542 5 \n\n B_CHAIN_DOGFISH A_SPINY_DOGFISH B_SPINY_DOGFISH A_ROSETTE_SKATE \\\n0 5.785 5 0.593 2 \n1 0.000 0 0.000 0 \n2 0.000 0 0.000 0 \n3 0.000 0 0.000 0 \n4 1.135 0 0.000 20 \n\n B_ROSETTE_SKATE A_CONGER_EEL B_CONGER_EEL A_SILVER_HAKE B_SILVER_HAKE \\\n0 0.518 6 0.813 3 0.345 \n1 0.000 0 0.000 13 1.552 \n2 0.000 0 0.000 0 0.000 \n3 0.000 0 0.000 0 0.000 \n4 4.402 2 0.832 5 0.944 \n\n A_SPOTTED_HAKE B_SPOTTED_HAKE A_FOURSPOT_FLOUNDER B_FOURSPOT_FLOUNDER \\\n0 190 19.103 6 0.662 \n1 412 24.329 62 5.666 \n2 54 2.916 2 0.184 \n3 130 6.416 0 0.000 \n4 123 10.238 7 0.883 \n\n A_BUCKLER_DORY \n0 7 ... \n1 0 ... \n2 0 ... \n3 0 ... \n4 0 ... \n\n[5 rows x 473 columns]",
"html": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>STATION</th>\n <th>SEASON</th>\n <th>CRUISE6</th>\n <th>LATITUDE</th>\n <th>LONGITUDE</th>\n <th>A_CHAIN_DOGFISH</th>\n <th>B_CHAIN_DOGFISH</th>\n <th>A_SPINY_DOGFISH</th>\n <th>B_SPINY_DOGFISH</th>\n <th>A_ROSETTE_SKATE</th>\n <th>B_ROSETTE_SKATE</th>\n <th>A_CONGER_EEL</th>\n <th>B_CONGER_EEL</th>\n <th>A_SILVER_HAKE</th>\n <th>B_SILVER_HAKE</th>\n <th>A_SPOTTED_HAKE</th>\n <th>B_SPOTTED_HAKE</th>\n <th>A_FOURSPOT_FLOUNDER</th>\n <th>B_FOURSPOT_FLOUNDER</th>\n <th>A_BUCKLER_DORY</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td> 6</td>\n <td> FALL</td>\n <td> 201105</td>\n <td> 36.977443</td>\n <td>-74.630740</td>\n <td> 228</td>\n <td> 5.785</td>\n <td> 5</td>\n <td> 0.593</td>\n <td> 2</td>\n <td> 0.518</td>\n <td> 6</td>\n <td> 0.813</td>\n <td> 3</td>\n <td> 0.345</td>\n <td> 190</td>\n <td> 19.103</td>\n <td> 6</td>\n <td> 0.662</td>\n <td> 7</td>\n <td>...</td>\n </tr>\n <tr>\n <th>1</th>\n <td> 7</td>\n <td> FALL</td>\n <td> 201105</td>\n <td> 36.955818</td>\n <td>-74.920427</td>\n <td> 0</td>\n <td> 0.000</td>\n <td> 0</td>\n <td> 0.000</td>\n <td> 0</td>\n <td> 0.000</td>\n <td> 0</td>\n <td> 0.000</td>\n <td> 13</td>\n <td> 1.552</td>\n <td> 412</td>\n <td> 24.329</td>\n <td> 62</td>\n <td> 5.666</td>\n <td> 0</td>\n <td>...</td>\n </tr>\n <tr>\n <th>2</th>\n <td> 8</td>\n <td> FALL</td>\n <td> 201105</td>\n <td> 36.848960</td>\n <td>-75.008222</td>\n <td> 0</td>\n <td> 0.000</td>\n <td> 0</td>\n <td> 0.000</td>\n <td> 0</td>\n <td> 0.000</td>\n <td> 0</td>\n <td> 0.000</td>\n <td> 0</td>\n <td> 0.000</td>\n <td> 54</td>\n <td> 2.916</td>\n <td> 2</td>\n <td> 0.184</td>\n <td> 0</td>\n <td>...</td>\n </tr>\n <tr>\n <th>3</th>\n <td> 9</td>\n <td> FALL</td>\n <td> 201105</td>\n <td> 36.753893</td>\n <td>-74.965790</td>\n <td> 0</td>\n <td> 0.000</td>\n <td> 0</td>\n <td> 0.000</td>\n <td> 0</td>\n <td> 0.000</td>\n <td> 0</td>\n <td> 0.000</td>\n <td> 0</td>\n <td> 0.000</td>\n <td> 130</td>\n <td> 6.416</td>\n <td> 0</td>\n <td> 0.000</td>\n <td> 0</td>\n <td>...</td>\n </tr>\n <tr>\n <th>4</th>\n <td> 10</td>\n <td> FALL</td>\n <td> 201105</td>\n <td> 36.804232</td>\n <td>-74.701542</td>\n <td> 5</td>\n <td> 1.135</td>\n <td> 0</td>\n <td> 0.000</td>\n <td> 20</td>\n <td> 4.402</td>\n <td> 2</td>\n <td> 0.832</td>\n <td> 5</td>\n <td> 0.944</td>\n <td> 123</td>\n <td> 10.238</td>\n <td> 7</td>\n <td> 0.883</td>\n <td> 0</td>\n <td>...</td>\n </tr>\n </tbody>\n</table>\n<p>5 rows × 473 columns</p>\n</div>",
"output_type": "pyout",
"metadata": {},
"prompt_number": 11
}
],
"language": "python",
"trusted": true,
"collapsed": false
},
{
"metadata": {},
"cell_type": "heading",
"source": "Write the new data to GeoJson",
"level": 3
},
{
"metadata": {},
"cell_type": "code",
"input": "def df2feature(df, lat='LATITUDE',lon='LONGITUDE',prec=5):\n features = []\n try :\n for i, v in enumerate(df): \n properties = {}\n for j, k in enumerate(df.columns): \n if df.columns[j] in [lat, lon]:\n properties[df.columns[j]] = str(df[df.columns[j]][i])[:prec]\n elif df[df.columns[j]][i] > 0:\n properties[df.columns[j]] = str(df[df.columns[j]][i])[:prec] # df[df.columns[j]][i] \n my_feature = Feature(\n geometry=Point((df.values[i][4], df.values[i][3])), \n properties=properties\n )\n features.append(my_feature)\n except:\n print 'done'\n return features",
"prompt_number": 12,
"outputs": [],
"language": "python",
"trusted": true,
"collapsed": false
},
{
"metadata": {},
"cell_type": "code",
"input": "features = df2feature(df=df)",
"prompt_number": 13,
"outputs": [
{
"output_type": "stream",
"text": "done\n",
"stream": "stdout"
}
],
"language": "python",
"trusted": true,
"collapsed": false
},
{
"metadata": {},
"cell_type": "code",
"input": "dump = geojson.dumps(FeatureCollection(features), sort_keys=True) ",
"prompt_number": 14,
"outputs": [],
"language": "python",
"trusted": true,
"collapsed": false
},
{
"metadata": {},
"cell_type": "code",
"input": "f = open('data_points.geojson', 'w')\nf.write(dump)\nf.close()",
"prompt_number": 15,
"outputs": [],
"language": "python",
"trusted": true,
"collapsed": false
},
{
"metadata": {},
"cell_type": "heading",
"source": "display the results on a map widget",
"level": 2
},
{
"metadata": {},
"cell_type": "markdown",
"source": "* Trawl Fall 2011 \n* Ecological Production Unit \n* Clorophyll-a \n* Digital terrain Model"
},
{
"metadata": {},
"cell_type": "code",
"input": "fields = [x for x in df.columns]",
"prompt_number": 16,
"outputs": [],
"language": "python",
"trusted": true,
"collapsed": false
},
{
"metadata": {},
"cell_type": "code",
"input": "# Style for Vector1 \"EPU\" type : Polygon\nstylefields = {\n'GOM' : {'StrokeColor':'(0,0,0)','FillColor': '(0,255,0)', 'Opacity':0.30, 'LineWidth':1.36},\n'MAB' : {'StrokeColor':'(0,0,0)','FillColor': '(0,170,255)', 'Opacity':0.30, 'LineWidth':1.36},\n'SS' : {'StrokeColor':'(0,0,0)','FillColor': '(0,0,255)', 'Opacity':0.30, 'LineWidth':1.36},\n'GB' : {'StrokeColor':'(0,0,0)','FillColor': '(255,0,0)', 'Opacity':0.30, 'LineWidth':1.36}\n}\n# Style for Vector2 \"Fall_2011\" type : Point\nsinglestyle = {\n'singlestyle' : {'pointRadius':2, 'strokeColor': '(255,85,0)', 'strokeOpacity':1.0, 'fillColor':(218,218,0), 'fillOpacity':1.0}\n}\nvector1 = {'name': 'EPU', 'fields': ['ID','LABEL','GRIDCODE'], 'style': stylefields, 'url':'EPU.geojson', 'type': 'polygon'}\nvectorlist1 = [vector1]\nvector2 = {'name': 'Fall_2011', 'fields': fields, 'style': singlestyle, 'url':'data_points.geojson', 'type': 'point'}\nvectorlist2 = [vector2]\nvectorlist = [vector1, vector2]\n",
"prompt_number": 17,
"outputs": [],
"language": "python",
"trusted": true,
"collapsed": false
},
{
"metadata": {},
"cell_type": "code",
"input": "wms1 = addWMS(name='bathy', \n getcapabilities='http://144.76.93.231/cgi-bin/mapserv?map=/home/epinux/LME_NE.map', \n layername='ecbathy', \n title='Bathymetry')\nwms2 = addWMS(name='chl', \n getcapabilities='http://144.76.93.231/cgi-bin/mapserv?map=/home/epinux/LME_NE.map', \n layername='chl', \n title='Clorophill-a')\nwms3 = addWMS(name='ny_gome_contours', \n getcapabilities='http://144.76.93.231/cgi-bin/mapserv?map=/home/epinux/contour.map', \n layername='ny_gome_contours', \n title='Contours 10m')",
"prompt_number": 18,
"outputs": [],
"language": "python",
"trusted": true,
"collapsed": false
},
{
"metadata": {},
"cell_type": "code",
"input": "style = makeStyle3(vectorlist1)\npstyle = makeSingleStyle(vectorlist2)\nquery = makeQuery3(vectorlist)\ncontrol = control3(vectorlist)\nwms = wms1+wms2 #+wms3",
"prompt_number": 19,
"outputs": [],
"language": "python",
"trusted": true,
"collapsed": false
},
{
"metadata": {},
"cell_type": "code",
"input": "def makeMap3(epsg1=4326, epsg2=900913, lon=52.52, lat=13.41, zoom=15, style='', pstyle='', query='', control='', wms=''):\n stringa='''<!DOCTYPE HTML>\n<title>OpenLayers Simplest Example</title>\n<div id=\"demoMap\" style=\"height:650px\"></div>\n<script src=\"http://openlayers.org/dev/OpenLayers.js\"></script>\n<script>\n map = new OpenLayers.Map(\"demoMap\");\n layer2 = new OpenLayers.Layer.WMS( \"Basemap\",\n \"http://vmap0.tiles.osgeo.org/wms/vmap0\", {layers: 'basic'} );\n map.addLayer(layer2);\n layer2.setIsBaseLayer(false);\n %s\n %s\n %s\n %s \n %s\n map.setCenter(new OpenLayers.LonLat(%s, %s), %s);\n map.addControl( new OpenLayers.Control.LayerSwitcher());\n map.addControl(new OpenLayers.Control.MousePosition());\n map.addControl(new OpenLayers.Control.OverviewMap());\n map.addControl(new OpenLayers.Control.KeyboardDefaults());\n </script>''' % (wms, style, pstyle, query, control, lon, lat, zoom)\n return stringa",
"prompt_number": 20,
"outputs": [],
"language": "python",
"trusted": true,
"collapsed": false
},
{
"metadata": {},
"cell_type": "code",
"input": "html = makeMap3(epsg1=4326, \n epsg2=900913, \n lat=42, lon=-68, \n zoom=5, \n style=style, \n pstyle=pstyle,\n query=query, \n wms=wms,\n control=control)\ndisplay(HTML(html), metadata={'isolated' : True})",
"prompt_number": 21,
"outputs": [
{
"html": "<!DOCTYPE HTML>\n<title>OpenLayers Simplest Example</title>\n<div id=\"demoMap\" style=\"height:650px\"></div>\n<script src=\"http://openlayers.org/dev/OpenLayers.js\"></script>\n<script>\n map = new OpenLayers.Map(\"demoMap\");\n layer2 = new OpenLayers.Layer.WMS( \"Basemap\",\n \"http://vmap0.tiles.osgeo.org/wms/vmap0\", {layers: 'basic'} );\n map.addLayer(layer2);\n layer2.setIsBaseLayer(false);\n \n var bathy = new OpenLayers.Layer.WMS( \"Bathymetry\",\n \"http://144.76.93.231/cgi-bin/mapserv?map=/home/epinux/LME_NE.map\",\n {layers: 'ecbathy',\n transparent: true,\n srs: 'EPSG:4326',\n isBaseLayer: false, \n visibility: false\n }\n \n );\n map.addLayer(bathy);\n bathy.setIsBaseLayer(false);\n \n var chl = new OpenLayers.Layer.WMS( \"Clorophill-a\",\n \"http://144.76.93.231/cgi-bin/mapserv?map=/home/epinux/LME_NE.map\",\n {layers: 'chl',\n transparent: true,\n srs: 'EPSG:4326',\n isBaseLayer: false, \n visibility: false\n }\n \n );\n map.addLayer(chl);\n chl.setIsBaseLayer(false);\n \n \n var EPU_style = new OpenLayers.Style(\n OpenLayers.Util.applyDefaults({ \n strokeColor: \"${getStrokeColor}\",\n strokeOpacity: \"${getOpacity}\",\n strokeWidth: \"${getLineWidth}\",\n fillColor: \"${getFillColor}\",\n fillOpacity: \"${getOpacity}\"\n }, OpenLayers.Feature.Vector.style[\"default\"]), {\n context: {\n \n getOpacity: function(feature) {\n \n if (feature.attributes.LABEL==\"GOM\"){\n element=0.3;\n }\n \n else if (feature.attributes.LABEL==\"SS\"){\n element=0.3;\n }\n \n else if (feature.attributes.LABEL==\"MAB\"){\n element=0.3;\n }\n \n else if (feature.attributes.LABEL==\"GB\"){\n element=0.3;\n }\n \n else {\n element=\"NULL\";\n }\n return element;\n },\n \n getStrokeColor: function(feature) {\n \n if (feature.attributes.LABEL==\"GOM\"){\n element=\"rgb(0,0,0)\";\n }\n \n else if (feature.attributes.LABEL==\"SS\"){\n element=\"rgb(0,0,0)\";\n }\n \n else if (feature.attributes.LABEL==\"MAB\"){\n element=\"rgb(0,0,0)\";\n }\n \n else if (feature.attributes.LABEL==\"GB\"){\n element=\"rgb(0,0,0)\";\n }\n \n else {\n element=\"NULL\";\n }\n return element;\n },\n \n getFillColor: function(feature) {\n \n if (feature.attributes.LABEL==\"GOM\"){\n element=\"rgb(0,255,0)\";\n }\n \n else if (feature.attributes.LABEL==\"SS\"){\n element=\"rgb(0,0,255)\";\n }\n \n else if (feature.attributes.LABEL==\"MAB\"){\n element=\"rgb(0,170,255)\";\n }\n \n else if (feature.attributes.LABEL==\"GB\"){\n element=\"rgb(255,0,0)\";\n }\n \n else {\n element=\"NULL\";\n }\n return element;\n },\n \n getLineWidth: function(feature) {\n \n if (feature.attributes.LABEL==\"GOM\"){\n element=1.36;\n }\n \n else if (feature.attributes.LABEL==\"SS\"){\n element=1.36;\n }\n \n else if (feature.attributes.LABEL==\"MAB\"){\n element=1.36;\n }\n \n else if (feature.attributes.LABEL==\"GB\"){\n element=1.36;\n }\n \n else {\n element=\"NULL\";\n }\n return element;\n },\n \n }\n }\n );\n \n var Fall_2011_template = {\n pointRadius: 2,\n strokeColor: \"rgb(255,85,0)\",\n strokeOpacity: 1.0,\n fillColor: \"rgb(218, 218, 0)\",\n fillOpacity: 1.0\n }\n var Fall_2011_style = new OpenLayers.Style(Fall_2011_template)\n \n \n function onPopupCloseEPU(evt) {\n selectControl.unselect(selectedFeature);\n }\n function onFeatureSelectEPU(feature){\n selectedFeature = feature;\n tablevector=\"<html><meta http-equiv='Content-Type' content='text/html; charset=UTF-8'><body><table><tr><td><b>ID:</b></td><td><i>\"+feature.attributes[\"ID\"]+\"</i></td></tr><tr><td><b>LABEL:</b></td><td><i>\"+feature.attributes[\"LABEL\"]+\"</i></td></tr><tr><td><b>GRIDCODE:</b></td><td><i>\"+feature.attributes[\"GRIDCODE\"]+\"</i></td></tr></table></body></html>\";\n popup = new OpenLayers.Popup.FramedCloud(\"chicken\", \n feature.geometry.getBounds().getCenterLonLat(),\n new OpenLayers.Size(1000,500),\n tablevector,\n null,\n true,\n onPopupCloseEPU\n ); \n feature.popup = popup;\n map.addPopup(popup);\n }\n function onFeatureUnselectEPU(feature) {\n map.removePopup(feature.popup);\n feature.popup.destroy();\n feature.popup = null; \n } \n var EPU = new OpenLayers.Layer.Vector(\"EPU\", {\n styleMap: EPU_style,\n projection: \"EPSG:4326\",\n strategies: [new OpenLayers.Strategy.Fixed()],\n protocol: new OpenLayers.Protocol.HTTP({\n url: \"EPU.geojson\",\n format: new OpenLayers.Format.GeoJSON()\n })\n });\n map.addLayer(EPU);\n \n function onPopupCloseFall_2011(evt) {\n selectControl.unselect(selectedFeature);\n }\n function onFeatureSelectFall_2011(feature){\n selectedFeature = feature;\n tablevector=\"<html><meta http-equiv='Content-Type' content='text/html; charset=UTF-8'><body><table><tr><td><b>STATION:</b></td><td><i>\"+feature.attributes[\"STATION\"]+\"</i></td></tr><tr><td><b>SEASON:</b></td><td><i>\"+feature.attributes[\"SEASON\"]+\"</i></td></tr><tr><td><b>CRUISE6:</b></td><td><i>\"+feature.attributes[\"CRUISE6\"]+\"</i></td></tr><tr><td><b>LATITUDE:</b></td><td><i>\"+feature.attributes[\"LATITUDE\"]+\"</i></td></tr><tr><td><b>LONGITUDE:</b></td><td><i>\"+feature.attributes[\"LONGITUDE\"]+\"</i></td></tr><tr><td><b>A_CHAIN_DOGFISH:</b></td><td><i>\"+feature.attributes[\"A_CHAIN_DOGFISH\"]+\"</i></td></tr><tr><td><b>B_CHAIN_DOGFISH:</b></td><td><i>\"+feature.attributes[\"B_CHAIN_DOGFISH\"]+\"</i></td></tr><tr><td><b>A_SPINY_DOGFISH:</b></td><td><i>\"+feature.attributes[\"A_SPINY_DOGFISH\"]+\"</i></td></tr><tr><td><b>B_SPINY_DOGFISH:</b></td><td><i>\"+feature.attributes[\"B_SPINY_DOGFISH\"]+\"</i></td></tr><tr><td><b>A_ROSETTE_SKATE:</b></td><td><i>\"+feature.attributes[\"A_ROSETTE_SKATE\"]+\"</i></td></tr><tr><td><b>B_ROSETTE_SKATE:</b></td><td><i>\"+feature.attributes[\"B_ROSETTE_SKATE\"]+\"</i></td></tr><tr><td><b>A_CONGER_EEL:</b></td><td><i>\"+feature.attributes[\"A_CONGER_EEL\"]+\"</i></td></tr><tr><td><b>B_CONGER_EEL:</b></td><td><i>\"+feature.attributes[\"B_CONGER_EEL\"]+\"</i></td></tr><tr><td><b>A_SILVER_HAKE:</b></td><td><i>\"+feature.attributes[\"A_SILVER_HAKE\"]+\"</i></td></tr><tr><td><b>B_SILVER_HAKE:</b></td><td><i>\"+feature.attributes[\"B_SILVER_HAKE\"]+\"</i></td></tr><tr><td><b>A_SPOTTED_HAKE:</b></td><td><i>\"+feature.attributes[\"A_SPOTTED_HAKE\"]+\"</i></td></tr><tr><td><b>B_SPOTTED_HAKE:</b></td><td><i>\"+feature.attributes[\"B_SPOTTED_HAKE\"]+\"</i></td></tr><tr><td><b>A_FOURSPOT_FLOUNDER:</b></td><td><i>\"+feature.attributes[\"A_FOURSPOT_FLOUNDER\"]+\"</i></td></tr><tr><td><b>B_FOURSPOT_FLOUNDER:</b></td><td><i>\"+feature.attributes[\"B_FOURSPOT_FLOUNDER\"]+\"</i></td></tr><tr><td><b>A_BUCKLER_DORY:</b></td><td><i>\"+feature.attributes[\"A_BUCKLER_DORY\"]+\"</i></td></tr><tr><td><b>B_BUCKLER_DORY:</b></td><td><i>\"+feature.attributes[\"B_BUCKLER_DORY\"]+\"</i></td></tr><tr><td><b>A_BLACKBELLY_ROSEFISH:</b></td><td><i>\"+feature.attributes[\"A_BLACKBELLY_ROSEFISH\"]+\"</i></td></tr><tr><td><b>B_BLACKBELLY_ROSEFISH:</b></td><td><i>\"+feature.attributes[\"B_BLACKBELLY_ROSEFISH\"]+\"</i></td></tr><tr><td><b>A_DEEPBODY_BOARFISH:</b></td><td><i>\"+feature.attributes[\"A_DEEPBODY_BOARFISH\"]+\"</i></td></tr><tr><td><b>B_DEEPBODY_BOARFISH:</b></td><td><i>\"+feature.attributes[\"B_DEEPBODY_BOARFISH\"]+\"</i></td></tr><tr><td><b>A_GOOSEFISH:</b></td><td><i>\"+feature.attributes[\"A_GOOSEFISH\"]+\"</i></td></tr><tr><td><b>B_GOOSEFISH:</b></td><td><i>\"+feature.attributes[\"B_GOOSEFISH\"]+\"</i></td></tr><tr><td><b>A_BEARDFISH:</b></td><td><i>\"+feature.attributes[\"A_BEARDFISH\"]+\"</i></td></tr><tr><td><b>B_BEARDFISH:</b></td><td><i>\"+feature.attributes[\"B_BEARDFISH\"]+\"</i></td></tr><tr><td><b>A_ATLANTIC_ROCK_CRAB:</b></td><td><i>\"+feature.attributes[\"A_ATLANTIC_ROCK_CRAB\"]+\"</i></td></tr><tr><td><b>B_ATLANTIC_ROCK_CRAB:</b></td><td><i>\"+feature.attributes[\"B_ATLANTIC_ROCK_CRAB\"]+\"</i></td></tr><tr><td><b>A_HORSESHOE_CRAB:</b></td><td><i>\"+feature.attributes[\"A_HORSESHOE_CRAB\"]+\"</i></td></tr><tr><td><b>B_HORSESHOE_CRAB:</b></td><td><i>\"+feature.attributes[\"B_HORSESHOE_CRAB\"]+\"</i></td></tr><tr><td><b>A_NORTHERN_SHORTFIN_SQUID:</b></td><td><i>\"+feature.attributes[\"A_NORTHERN_SHORTFIN_SQUID\"]+\"</i></td></tr><tr><td><b>B_NORTHERN_SHORTFIN_SQUID:</b></td><td><i>\"+feature.attributes[\"B_NORTHERN_SHORTFIN_SQUID\"]+\"</i></td></tr><tr><td><b>A_LONGFIN_SQUID:</b></td><td><i>\"+feature.attributes[\"A_LONGFIN_SQUID\"]+\"</i></td></tr><tr><td><b>B_LONGFIN_SQUID:</b></td><td><i>\"+feature.attributes[\"B_LONGFIN_SQUID\"]+\"</i></td></tr><tr><td><b>A_WINDOWPANE:</b></td><td><i>\"+feature.attributes[\"A_WINDOWPANE\"]+\"</i></td></tr><tr><td><b>B_WINDOWPANE:</b></td><td><i>\"+feature.attributes[\"B_WINDOWPANE\"]+\"</i></td></tr><tr><td><b>A_GULF_STREAM_FLOUNDER:</b></td><td><i>\"+feature.attributes[\"A_GULF_STREAM_FLOUNDER\"]+\"</i></td></tr><tr><td><b>B_GULF_STREAM_FLOUNDER:</b></td><td><i>\"+feature.attributes[\"B_GULF_STREAM_FLOUNDER\"]+\"</i></td></tr><tr><td><b>A_BUTTERFISH:</b></td><td><i>\"+feature.attributes[\"A_BUTTERFISH\"]+\"</i></td></tr><tr><td><b>B_BUTTERFISH:</b></td><td><i>\"+feature.attributes[\"B_BUTTERFISH\"]+\"</i></td></tr><tr><td><b>A_NORTHERN_SAND_LANCE:</b></td><td><i>\"+feature.attributes[\"A_NORTHERN_SAND_LANCE\"]+\"</i></td></tr><tr><td><b>B_NORTHERN_SAND_LANCE:</b></td><td><i>\"+feature.attributes[\"B_NORTHERN_SAND_LANCE\"]+\"</i></td></tr><tr><td><b>A_COARSEHAND_LADY_CRAB:</b></td><td><i>\"+feature.attributes[\"A_COARSEHAND_LADY_CRAB\"]+\"</i></td></tr><tr><td><b>B_COARSEHAND_LADY_CRAB:</b></td><td><i>\"+feature.attributes[\"B_COARSEHAND_LADY_CRAB\"]+\"</i></td></tr><tr><td><b>A_SEA_SCALLOP:</b></td><td><i>\"+feature.attributes[\"A_SEA_SCALLOP\"]+\"</i></td></tr><tr><td><b>B_SEA_SCALLOP:</b></td><td><i>\"+feature.attributes[\"B_SEA_SCALLOP\"]+\"</i></td></tr><tr><td><b>A_ROUND_HERRING:</b></td><td><i>\"+feature.attributes[\"A_ROUND_HERRING\"]+\"</i></td></tr><tr><td><b>B_ROUND_HERRING:</b></td><td><i>\"+feature.attributes[\"B_ROUND_HERRING\"]+\"</i></td></tr><tr><td><b>A_NORTHERN_SEAROBIN:</b></td><td><i>\"+feature.attributes[\"A_NORTHERN_SEAROBIN\"]+\"</i></td></tr><tr><td><b>B_NORTHERN_SEAROBIN:</b></td><td><i>\"+feature.attributes[\"B_NORTHERN_SEAROBIN\"]+\"</i></td></tr><tr><td><b>A_CLEARNOSE_SKATE:</b></td><td><i>\"+feature.attributes[\"A_CLEARNOSE_SKATE\"]+\"</i></td></tr><tr><td><b>B_CLEARNOSE_SKATE:</b></td><td><i>\"+feature.attributes[\"B_CLEARNOSE_SKATE\"]+\"</i></td></tr><tr><td><b>A_BLACK_SEA_BASS:</b></td><td><i>\"+feature.attributes[\"A_BLACK_SEA_BASS\"]+\"</i></td></tr><tr><td><b>B_BLACK_SEA_BASS:</b></td><td><i>\"+feature.attributes[\"B_BLACK_SEA_BASS\"]+\"</i></td></tr><tr><td><b>A_STRIPED_SEAROBIN:</b></td><td><i>\"+feature.attributes[\"A_STRIPED_SEAROBIN\"]+\"</i></td></tr><tr><td><b>B_STRIPED_SEAROBIN:</b></td><td><i>\"+feature.attributes[\"B_STRIPED_SEAROBIN\"]+\"</i></td></tr><tr><td><b>A_GRENADIER_UNCL:</b></td><td><i>\"+feature.attributes[\"A_GRENADIER_UNCL\"]+\"</i></td></tr><tr><td><b>B_GRENADIER_UNCL:</b></td><td><i>\"+feature.attributes[\"B_GRENADIER_UNCL\"]+\"</i></td></tr><tr><td><b>A_FAWN_CUSK-EEL:</b></td><td><i>\"+feature.attributes[\"A_FAWN_CUSK-EEL\"]+\"</i></td></tr><tr><td><b>B_FAWN_CUSK-EEL:</b></td><td><i>\"+feature.attributes[\"B_FAWN_CUSK-EEL\"]+\"</i></td></tr><tr><td><b>A_AMERICAN_LOBSTER:</b></td><td><i>\"+feature.attributes[\"A_AMERICAN_LOBSTER\"]+\"</i></td></tr><tr><td><b>B_AMERICAN_LOBSTER:</b></td><td><i>\"+feature.attributes[\"B_AMERICAN_LOBSTER\"]+\"</i></td></tr><tr><td><b>A_JONAH_CRAB:</b></td><td><i>\"+feature.attributes[\"A_JONAH_CRAB\"]+\"</i></td></tr><tr><td><b>B_JONAH_CRAB:</b></td><td><i>\"+feature.attributes[\"B_JONAH_CRAB\"]+\"</i></td></tr><tr><td><b>A_GALATHEID_UNCL:</b></td><td><i>\"+feature.attributes[\"A_GALATHEID_UNCL\"]+\"</i></td></tr><tr><td><b>B_GALATHEID_UNCL:</b></td><td><i>\"+feature.attributes[\"B_GALATHEID_UNCL\"]+\"</i></td></tr><tr><td><b>A_CONGER_EEL_UNCL:</b></td><td><i>\"+feature.attributes[\"A_CONGER_EEL_UNCL\"]+\"</i></td></tr><tr><td><b>B_CONGER_EEL_UNCL:</b></td><td><i>\"+feature.attributes[\"B_CONGER_EEL_UNCL\"]+\"</i></td></tr><tr><td><b>A_ATLANTIC_ARGENTINE:</b></td><td><i>\"+feature.attributes[\"A_ATLANTIC_ARGENTINE\"]+\"</i></td></tr><tr><td><b>B_ATLANTIC_ARGENTINE:</b></td><td><i>\"+feature.attributes[\"B_ATLANTIC_ARGENTINE\"]+\"</i></td></tr><tr><td><b>A_OFFSHORE_HAKE:</b></td><td><i>\"+feature.attributes[\"A_OFFSHORE_HAKE\"]+\"</i></td></tr><tr><td><b>B_OFFSHORE_HAKE:</b></td><td><i>\"+feature.attributes[\"B_OFFSHORE_HAKE\"]+\"</i></td></tr><tr><td><b>A_RED_HAKE:</b></td><td><i>\"+feature.attributes[\"A_RED_HAKE\"]+\"</i></td></tr><tr><td><b>B_RED_HAKE:</b></td><td><i>\"+feature.attributes[\"B_RED_HAKE\"]+\"</i></td></tr><tr><td><b>A_WITCH_FLOUNDER:</b></td><td><i>\"+feature.attributes[\"A_WITCH_FLOUNDER\"]+\"</i></td></tr><tr><td><b>B_WITCH_FLOUNDER:</b></td><td><i>\"+feature.attributes[\"B_WITCH_FLOUNDER\"]+\"</i></td></tr><tr><td><b>A_BLUE_RUNNER:</b></td><td><i>\"+feature.attributes[\"A_BLUE_RUNNER\"]+\"</i></td></tr><tr><td><b>B_BLUE_RUNNER:</b></td><td><i>\"+feature.attributes[\"B_BLUE_RUNNER\"]+\"</i></td></tr><tr><td><b>A_ARMORED_SEAROBIN:</b></td><td><i>\"+feature.attributes[\"A_ARMORED_SEAROBIN\"]+\"</i></td></tr><tr><td><b>B_ARMORED_SEAROBIN:</b></td><td><i>\"+feature.attributes[\"B_ARMORED_SEAROBIN\"]+\"</i></td></tr><tr><td><b>A_TONGUEFISH_UNCL:</b></td><td><i>\"+feature.attributes[\"A_TONGUEFISH_UNCL\"]+\"</i></td></tr><tr><td><b>B_TONGUEFISH_UNCL:</b></td><td><i>\"+feature.attributes[\"B_TONGUEFISH_UNCL\"]+\"</i></td></tr><tr><td><b>A_SHORTNOSE_GREENEYE:</b></td><td><i>\"+feature.attributes[\"A_SHORTNOSE_GREENEYE\"]+\"</i></td></tr><tr><td><b>B_SHORTNOSE_GREENEYE:</b></td><td><i>\"+feature.attributes[\"B_SHORTNOSE_GREENEYE\"]+\"</i></td></tr><tr><td><b>A_LOPHIIFORM_UNCL:</b></td><td><i>\"+feature.attributes[\"A_LOPHIIFORM_UNCL\"]+\"</i></td></tr><tr><td><b>B_LOPHIIFORM_UNCL:</b></td><td><i>\"+feature.attributes[\"B_LOPHIIFORM_UNCL\"]+\"</i></td></tr><tr><td><b>A_ATLANTIC_ANGEL_SHARK:</b></td><td><i>\"+feature.attributes[\"A_ATLANTIC_ANGEL_SHARK\"]+\"</i></td></tr><tr><td><b>B_ATLANTIC_ANGEL_SHARK:</b></td><td><i>\"+feature.attributes[\"B_ATLANTIC_ANGEL_SHARK\"]+\"</i></td></tr><tr><td><b>A_SILVER_RAG:</b></td><td><i>\"+feature.attributes[\"A_SILVER_RAG\"]+\"</i></td></tr><tr><td><b>B_SILVER_RAG:</b></td><td><i>\"+feature.attributes[\"B_SILVER_RAG\"]+\"</i></td></tr><tr><td><b>A_ATLANTIC_TORPEDO:</b></td><td><i>\"+feature.attributes[\"A_ATLANTIC_TORPEDO\"]+\"</i></td></tr><tr><td><b>B_ATLANTIC_TORPEDO:</b></td><td><i>\"+feature.attributes[\"B_ATLANTIC_TORPEDO\"]+\"</i></td></tr><tr><td><b>A_LANTERNFISH_UNCL:</b></td><td><i>\"+feature.attributes[\"A_LANTERNFISH_UNCL\"]+\"</i></td></tr><tr><td><b>B_LANTERNFISH_UNCL:</b></td><td><i>\"+feature.attributes[\"B_LANTERNFISH_UNCL\"]+\"</i></td></tr><tr><td><b>A_LONGSPINE_SNIPEFISH:</b></td><td><i>\"+feature.attributes[\"A_LONGSPINE_SNIPEFISH\"]+\"</i></td></tr><tr><td><b>B_LONGSPINE_SNIPEFISH:</b></td><td><i>\"+feature.attributes[\"B_LONGSPINE_SNIPEFISH\"]+\"</i></td></tr><tr><td><b>A_CONEJO:</b></td><td><i>\"+feature.attributes[\"A_CONEJO\"]+\"</i></td></tr><tr><td><b>B_CONEJO:</b></td><td><i>\"+feature.attributes[\"B_CONEJO\"]+\"</i></td></tr><tr><td><b>A_BATHYAL_SWIMMING_CRAB:</b></td><td><i>\"+feature.attributes[\"A_BATHYAL_SWIMMING_CRAB\"]+\"</i></td></tr><tr><td><b>B_BATHYAL_SWIMMING_CRAB:</b></td><td><i>\"+feature.attributes[\"B_BATHYAL_SWIMMING_CRAB\"]+\"</i></td></tr><tr><td><b>A_SPOTTED_TINSELFISH:</b></td><td><i>\"+feature.attributes[\"A_SPOTTED_TINSELFISH\"]+\"</i></td></tr><tr><td><b>B_SPOTTED_TINSELFISH:</b></td><td><i>\"+feature.attributes[\"B_SPOTTED_TINSELFISH\"]+\"</i></td></tr><tr><td><b>A_SCORPIONFISH_AND_ROCKFISH_UNCL:</b></td><td><i>\"+feature.attributes[\"A_SCORPIONFISH_AND_ROCKFISH_UNCL\"]+\"</i></td></tr><tr><td><b>B_SCORPIONFISH_AND_ROCKFISH_UNCL:</b></td><td><i>\"+feature.attributes[\"B_SCORPIONFISH_AND_ROCKFISH_UNCL\"]+\"</i></td></tr><tr><td><b>A_STRIATED_ARGENTINE:</b></td><td><i>\"+feature.attributes[\"A_STRIATED_ARGENTINE\"]+\"</i></td></tr><tr><td><b>B_STRIATED_ARGENTINE:</b></td><td><i>\"+feature.attributes[\"B_STRIATED_ARGENTINE\"]+\"</i></td></tr><tr><td><b>A_RED_DORY:</b></td><td><i>\"+feature.attributes[\"A_RED_DORY\"]+\"</i></td></tr><tr><td><b>B_RED_DORY:</b></td><td><i>\"+feature.attributes[\"B_RED_DORY\"]+\"</i></td></tr><tr><td><b>A_SPINY_SEAROBIN:</b></td><td><i>\"+feature.attributes[\"A_SPINY_SEAROBIN\"]+\"</i></td></tr><tr><td><b>B_SPINY_SEAROBIN:</b></td><td><i>\"+feature.attributes[\"B_SPINY_SEAROBIN\"]+\"</i></td></tr><tr><td><b>A_BLACKFIN_GOOSEFISH:</b></td><td><i>\"+feature.attributes[\"A_BLACKFIN_GOOSEFISH\"]+\"</i></td></tr><tr><td><b>B_BLACKFIN_GOOSEFISH:</b></td><td><i>\"+feature.attributes[\"B_BLACKFIN_GOOSEFISH\"]+\"</i></td></tr><tr><td><b>A_SLENDER_SNIPE_EEL:</b></td><td><i>\"+feature.attributes[\"A_SLENDER_SNIPE_EEL\"]+\"</i></td></tr><tr><td><b>B_SLENDER_SNIPE_EEL:</b></td><td><i>\"+feature.attributes[\"B_SLENDER_SNIPE_EEL\"]+\"</i></td></tr><tr><td><b>A_BOA_DRAGONFISH:</b></td><td><i>\"+feature.attributes[\"A_BOA_DRAGONFISH\"]+\"</i></td></tr><tr><td><b>B_BOA_DRAGONFISH:</b></td><td><i>\"+feature.attributes[\"B_BOA_DRAGONFISH\"]+\"</i></td></tr><tr><td><b>A_LONGNOSE_GREENEYE:</b></td><td><i>\"+feature.attributes[\"A_LONGNOSE_GREENEYE\"]+\"</i></td></tr><tr><td><b>B_LONGNOSE_GREENEYE:</b></td><td><i>\"+feature.attributes[\"B_LONGNOSE_GREENEYE\"]+\"</i></td></tr><tr><td><b>A_MANTIS_SHRIMP_UNCL:</b></td><td><i>\"+feature.attributes[\"A_MANTIS_SHRIMP_UNCL\"]+\"</i></td></tr><tr><td><b>B_MANTIS_SHRIMP_UNCL:</b></td><td><i>\"+feature.attributes[\"B_MANTIS_SHRIMP_UNCL\"]+\"</i></td></tr><tr><td><b>A_SPOONARM_OCTOPUS:</b></td><td><i>\"+feature.attributes[\"A_SPOONARM_OCTOPUS\"]+\"</i></td></tr><tr><td><b>B_SPOONARM_OCTOPUS:</b></td><td><i>\"+feature.attributes[\"B_SPOONARM_OCTOPUS\"]+\"</i></td></tr><tr><td><b>A_BROADBAND_DOGFISH:</b></td><td><i>\"+feature.attributes[\"A_BROADBAND_DOGFISH\"]+\"</i></td></tr><tr><td><b>B_BROADBAND_DOGFISH:</b></td><td><i>\"+feature.attributes[\"B_BROADBAND_DOGFISH\"]+\"</i></td></tr><tr><td><b>A_BLACKMOUTH_BASS:</b></td><td><i>\"+feature.attributes[\"A_BLACKMOUTH_BASS\"]+\"</i></td></tr><tr><td><b>B_BLACKMOUTH_BASS:</b></td><td><i>\"+feature.attributes[\"B_BLACKMOUTH_BASS\"]+\"</i></td></tr><tr><td><b>A_CHUB_MACKEREL:</b></td><td><i>\"+feature.attributes[\"A_CHUB_MACKEREL\"]+\"</i></td></tr><tr><td><b>B_CHUB_MACKEREL:</b></td><td><i>\"+feature.attributes[\"B_CHUB_MACKEREL\"]+\"</i></td></tr><tr><td><b>A_BLUEFISH:</b></td><td><i>\"+feature.attributes[\"A_BLUEFISH\"]+\"</i></td></tr><tr><td><b>B_BLUEFISH:</b></td><td><i>\"+feature.attributes[\"B_BLUEFISH\"]+\"</i></td></tr><tr><td><b>A_ATLANTIC_CROAKER:</b></td><td><i>\"+feature.attributes[\"A_ATLANTIC_CROAKER\"]+\"</i></td></tr><tr><td><b>B_ATLANTIC_CROAKER:</b></td><td><i>\"+feature.attributes[\"B_ATLANTIC_CROAKER\"]+\"</i></td></tr><tr><td><b>A_SCUP:</b></td><td><i>\"+feature.attributes[\"A_SCUP\"]+\"</i></td></tr><tr><td><b>B_SCUP:</b></td><td><i>\"+feature.attributes[\"B_SCUP\"]+\"</i></td></tr><tr><td><b>A_WEAKFISH:</b></td><td><i>\"+feature.attributes[\"A_WEAKFISH\"]+\"</i></td></tr><tr><td><b>B_WEAKFISH:</b></td><td><i>\"+feature.attributes[\"B_WEAKFISH\"]+\"</i></td></tr><tr><td><b>A_SPOT:</b></td><td><i>\"+feature.attributes[\"A_SPOT\"]+\"</i></td></tr><tr><td><b>B_SPOT:</b></td><td><i>\"+feature.attributes[\"B_SPOT\"]+\"</i></td></tr><tr><td><b>A_SMOOTH_PUFFER:</b></td><td><i>\"+feature.attributes[\"A_SMOOTH_PUFFER\"]+\"</i></td></tr><tr><td><b>B_SMOOTH_PUFFER:</b></td><td><i>\"+feature.attributes[\"B_SMOOTH_PUFFER\"]+\"</i></td></tr><tr><td><b>A_ROUND_SCAD:</b></td><td><i>\"+feature.attributes[\"A_ROUND_SCAD\"]+\"</i></td></tr><tr><td><b>B_ROUND_SCAD:</b></td><td><i>\"+feature.attributes[\"B_ROUND_SCAD\"]+\"</i></td></tr><tr><td><b>A_ROUGH_SCAD:</b></td><td><i>\"+feature.attributes[\"A_ROUGH_SCAD\"]+\"</i></td></tr><tr><td><b>B_ROUGH_SCAD:</b></td><td><i>\"+feature.attributes[\"B_ROUGH_SCAD\"]+\"</i></td></tr><tr><td><b>A_SPINY_BUTTERFLY_RAY:</b></td><td><i>\"+feature.attributes[\"A_SPINY_BUTTERFLY_RAY\"]+\"</i></td></tr><tr><td><b>B_SPINY_BUTTERFLY_RAY:</b></td><td><i>\"+feature.attributes[\"B_SPINY_BUTTERFLY_RAY\"]+\"</i></td></tr><tr><td><b>A_SPANISH_SARDINE:</b></td><td><i>\"+feature.attributes[\"A_SPANISH_SARDINE\"]+\"</i></td></tr><tr><td><b>B_SPANISH_SARDINE:</b></td><td><i>\"+feature.attributes[\"B_SPANISH_SARDINE\"]+\"</i></td></tr><tr><td><b>A_SPINNER_SHARK:</b></td><td><i>\"+feature.attributes[\"A_SPINNER_SHARK\"]+\"</i></td></tr><tr><td><b>B_SPINNER_SHARK:</b></td><td><i>\"+feature.attributes[\"B_SPINNER_SHARK\"]+\"</i></td></tr><tr><td><b>A_ATLANTIC_MOONFISH:</b></td><td><i>\"+feature.attributes[\"A_ATLANTIC_MOONFISH\"]+\"</i></td></tr><tr><td><b>B_ATLANTIC_MOONFISH:</b></td><td><i>\"+feature.attributes[\"B_ATLANTIC_MOONFISH\"]+\"</i></td></tr><tr><td><b>A_PLANEHEAD_FILEFISH:</b></td><td><i>\"+feature.attributes[\"A_PLANEHEAD_FILEFISH\"]+\"</i></td></tr><tr><td><b>B_PLANEHEAD_FILEFISH:</b></td><td><i>\"+feature.attributes[\"B_PLANEHEAD_FILEFISH\"]+\"</i></td></tr><tr><td><b>A_SILVER_ANCHOVY:</b></td><td><i>\"+feature.attributes[\"A_SILVER_ANCHOVY\"]+\"</i></td></tr><tr><td><b>B_SILVER_ANCHOVY:</b></td><td><i>\"+feature.attributes[\"B_SILVER_ANCHOVY\"]+\"</i></td></tr><tr><td><b>A_BROWN_SHRIMP:</b></td><td><i>\"+feature.attributes[\"A_BROWN_SHRIMP\"]+\"</i></td></tr><tr><td><b>B_BROWN_SHRIMP:</b></td><td><i>\"+feature.attributes[\"B_BROWN_SHRIMP\"]+\"</i></td></tr><tr><td><b>A_STRIPED_ANCHOVY:</b></td><td><i>\"+feature.attributes[\"A_STRIPED_ANCHOVY\"]+\"</i></td></tr><tr><td><b>B_STRIPED_ANCHOVY:</b></td><td><i>\"+feature.attributes[\"B_STRIPED_ANCHOVY\"]+\"</i></td></tr><tr><td><b>A_NORTHERN_KINGFISH:</b></td><td><i>\"+feature.attributes[\"A_NORTHERN_KINGFISH\"]+\"</i></td></tr><tr><td><b>B_NORTHERN_KINGFISH:</b></td><td><i>\"+feature.attributes[\"B_NORTHERN_KINGFISH\"]+\"</i></td></tr><tr><td><b>A_SMOOTH_BUTTERFLY_RAY:</b></td><td><i>\"+feature.attributes[\"A_SMOOTH_BUTTERFLY_RAY\"]+\"</i></td></tr><tr><td><b>B_SMOOTH_BUTTERFLY_RAY:</b></td><td><i>\"+feature.attributes[\"B_SMOOTH_BUTTERFLY_RAY\"]+\"</i></td></tr><tr><td><b>A_BLUNTNOSE_STINGRAY:</b></td><td><i>\"+feature.attributes[\"A_BLUNTNOSE_STINGRAY\"]+\"</i></td></tr><tr><td><b>B_BLUNTNOSE_STINGRAY:</b></td><td><i>\"+feature.attributes[\"B_BLUNTNOSE_STINGRAY\"]+\"</i></td></tr><tr><td><b>A_ATLANTIC_CUTLASSFISH:</b></td><td><i>\"+feature.attributes[\"A_ATLANTIC_CUTLASSFISH\"]+\"</i></td></tr><tr><td><b>B_ATLANTIC_CUTLASSFISH:</b></td><td><i>\"+feature.attributes[\"B_ATLANTIC_CUTLASSFISH\"]+\"</i></td></tr><tr><td><b>A_PIGFISH:</b></td><td><i>\"+feature.attributes[\"A_PIGFISH\"]+\"</i></td></tr><tr><td><b>B_PIGFISH:</b></td><td><i>\"+feature.attributes[\"B_PIGFISH\"]+\"</i></td></tr><tr><td><b>A_BROWN_ROCK_SHRIMP:</b></td><td><i>\"+feature.attributes[\"A_BROWN_ROCK_SHRIMP\"]+\"</i></td></tr><tr><td><b>B_BROWN_ROCK_SHRIMP:</b></td><td><i>\"+feature.attributes[\"B_BROWN_ROCK_SHRIMP\"]+\"</i></td></tr><tr><td><b>A_SWIMMING_CRAB_UNCL:</b></td><td><i>\"+feature.attributes[\"A_SWIMMING_CRAB_UNCL\"]+\"</i></td></tr><tr><td><b>B_SWIMMING_CRAB_UNCL:</b></td><td><i>\"+feature.attributes[\"B_SWIMMING_CRAB_UNCL\"]+\"</i></td></tr><tr><td><b>A_ATLANTIC_THREAD_HERRING:</b></td><td><i>\"+feature.attributes[\"A_ATLANTIC_THREAD_HERRING\"]+\"</i></td></tr><tr><td><b>B_ATLANTIC_THREAD_HERRING:</b></td><td><i>\"+feature.attributes[\"B_ATLANTIC_THREAD_HERRING\"]+\"</i></td></tr><tr><td><b>A_ATLANTIC_MIDSHIPMAN:</b></td><td><i>\"+feature.attributes[\"A_ATLANTIC_MIDSHIPMAN\"]+\"</i></td></tr><tr><td><b>B_ATLANTIC_MIDSHIPMAN:</b></td><td><i>\"+feature.attributes[\"B_ATLANTIC_MIDSHIPMAN\"]+\"</i></td></tr><tr><td><b>A_BLOTCHED_SWIMMING_CRAB:</b></td><td><i>\"+feature.attributes[\"A_BLOTCHED_SWIMMING_CRAB\"]+\"</i></td></tr><tr><td><b>B_BLOTCHED_SWIMMING_CRAB:</b></td><td><i>\"+feature.attributes[\"B_BLOTCHED_SWIMMING_CRAB\"]+\"</i></td></tr><tr><td><b>A_SHORT_BIGEYE:</b></td><td><i>\"+feature.attributes[\"A_SHORT_BIGEYE\"]+\"</i></td></tr><tr><td><b>B_SHORT_BIGEYE:</b></td><td><i>\"+feature.attributes[\"B_SHORT_BIGEYE\"]+\"</i></td></tr><tr><td><b>A_TOMTATE:</b></td><td><i>\"+feature.attributes[\"A_TOMTATE\"]+\"</i></td></tr><tr><td><b>B_TOMTATE:</b></td><td><i>\"+feature.attributes[\"B_TOMTATE\"]+\"</i></td></tr><tr><td><b>A_BANDED_DRUM:</b></td><td><i>\"+feature.attributes[\"A_BANDED_DRUM\"]+\"</i></td></tr><tr><td><b>B_BANDED_DRUM:</b></td><td><i>\"+feature.attributes[\"B_BANDED_DRUM\"]+\"</i></td></tr><tr><td><b>A_SOUTHERN_KINGFISH:</b></td><td><i>\"+feature.attributes[\"A_SOUTHERN_KINGFISH\"]+\"</i></td></tr><tr><td><b>B_SOUTHERN_KINGFISH:</b></td><td><i>\"+feature.attributes[\"B_SOUTHERN_KINGFISH\"]+\"</i></td></tr><tr><td><b>A_SPANISH_MACKEREL:</b></td><td><i>\"+feature.attributes[\"A_SPANISH_MACKEREL\"]+\"</i></td></tr><tr><td><b>B_SPANISH_MACKEREL:</b></td><td><i>\"+feature.attributes[\"B_SPANISH_MACKEREL\"]+\"</i></td></tr><tr><td><b>A_HARVESTFISH:</b></td><td><i>\"+feature.attributes[\"A_HARVESTFISH\"]+\"</i></td></tr><tr><td><b>B_HARVESTFISH:</b></td><td><i>\"+feature.attributes[\"B_HARVESTFISH\"]+\"</i></td></tr><tr><td><b>A_BLACKWING_SEAROBIN:</b></td><td><i>\"+feature.attributes[\"A_BLACKWING_SEAROBIN\"]+\"</i></td></tr><tr><td><b>B_BLACKWING_SEAROBIN:</b></td><td><i>\"+feature.attributes[\"B_BLACKWING_SEAROBIN\"]+\"</i></td></tr><tr><td><b>A_ETROPUS_UNCL:</b></td><td><i>\"+feature.attributes[\"A_ETROPUS_UNCL\"]+\"</i></td></tr><tr><td><b>B_ETROPUS_UNCL:</b></td><td><i>\"+feature.attributes[\"B_ETROPUS_UNCL\"]+\"</i></td></tr><tr><td><b>A_WHIFF_UNCL:</b></td><td><i>\"+feature.attributes[\"A_WHIFF_UNCL\"]+\"</i></td></tr><tr><td><b>B_WHIFF_UNCL:</b></td><td><i>\"+feature.attributes[\"B_WHIFF_UNCL\"]+\"</i></td></tr><tr><td><b>A_JACK_POMPANO_UNCL:</b></td><td><i>\"+feature.attributes[\"A_JACK_POMPANO_UNCL\"]+\"</i></td></tr><tr><td><b>B_JACK_POMPANO_UNCL:</b></td><td><i>\"+feature.attributes[\"B_JACK_POMPANO_UNCL\"]+\"</i></td></tr><tr><td><b>A_NORTHERN_PUFFER:</b></td><td><i>\"+feature.attributes[\"A_NORTHERN_PUFFER\"]+\"</i></td></tr><tr><td><b>B_NORTHERN_PUFFER:</b></td><td><i>\"+feature.attributes[\"B_NORTHERN_PUFFER\"]+\"</i></td></tr><tr><td><b>A_BIGEYE_SCAD:</b></td><td><i>\"+feature.attributes[\"A_BIGEYE_SCAD\"]+\"</i></td></tr><tr><td><b>B_BIGEYE_SCAD:</b></td><td><i>\"+feature.attributes[\"B_BIGEYE_SCAD\"]+\"</i></td></tr><tr><td><b>A_ATLANTIC_SHARPNOSE_SHARK:</b></td><td><i>\"+feature.attributes[\"A_ATLANTIC_SHARPNOSE_SHARK\"]+\"</i></td></tr><tr><td><b>B_ATLANTIC_SHARPNOSE_SHARK:</b></td><td><i>\"+feature.attributes[\"B_ATLANTIC_SHARPNOSE_SHARK\"]+\"</i></td></tr><tr><td><b>A_INSHORE_LIZARDFISH:</b></td><td><i>\"+feature.attributes[\"A_INSHORE_LIZARDFISH\"]+\"</i></td></tr><tr><td><b>B_INSHORE_LIZARDFISH:</b></td><td><i>\"+feature.attributes[\"B_INSHORE_LIZARDFISH\"]+\"</i></td></tr><tr><td><b>A_GRAY_FLOUNDER:</b></td><td><i>\"+feature.attributes[\"A_GRAY_FLOUNDER\"]+\"</i></td></tr><tr><td><b>B_GRAY_FLOUNDER:</b></td><td><i>\"+feature.attributes[\"B_GRAY_FLOUNDER\"]+\"</i></td></tr><tr><td><b>A_TRIGGERFISH_FILEFISH_UNCL:</b></td><td><i>\"+feature.attributes[\"A_TRIGGERFISH_FILEFISH_UNCL\"]+\"</i></td></tr><tr><td><b>B_TRIGGERFISH_FILEFISH_UNCL:</b></td><td><i>\"+feature.attributes[\"B_TRIGGERFISH_FILEFISH_UNCL\"]+\"</i></td></tr><tr><td><b>A_STRIPED_CUSK-EEL:</b></td><td><i>\"+feature.attributes[\"A_STRIPED_CUSK-EEL\"]+\"</i></td></tr><tr><td><b>B_STRIPED_CUSK-EEL:</b></td><td><i>\"+feature.attributes[\"B_STRIPED_CUSK-EEL\"]+\"</i></td></tr><tr><td><b>A_SAND_PERCH:</b></td><td><i>\"+feature.attributes[\"A_SAND_PERCH\"]+\"</i></td></tr><tr><td><b>B_SAND_PERCH:</b></td><td><i>\"+feature.attributes[\"B_SAND_PERCH\"]+\"</i></td></tr><tr><td><b>A_ATLANTIC_BUMPER:</b></td><td><i>\"+feature.attributes[\"A_ATLANTIC_BUMPER\"]+\"</i></td></tr><tr><td><b>B_ATLANTIC_BUMPER:</b></td><td><i>\"+feature.attributes[\"B_ATLANTIC_BUMPER\"]+\"</i></td></tr><tr><td><b>A_MOJARRA_UNCL:</b></td><td><i>\"+feature.attributes[\"A_MOJARRA_UNCL\"]+\"</i></td></tr><tr><td><b>B_MOJARRA_UNCL:</b></td><td><i>\"+feature.attributes[\"B_MOJARRA_UNCL\"]+\"</i></td></tr><tr><td><b>A_PINFISH:</b></td><td><i>\"+feature.attributes[\"A_PINFISH\"]+\"</i></td></tr><tr><td><b>B_PINFISH:</b></td><td><i>\"+feature.attributes[\"B_PINFISH\"]+\"</i></td></tr><tr><td><b>A_LEOPARD_SEAROBIN:</b></td><td><i>\"+feature.attributes[\"A_LEOPARD_SEAROBIN\"]+\"</i></td></tr><tr><td><b>B_LEOPARD_SEAROBIN:</b></td><td><i>\"+feature.attributes[\"B_LEOPARD_SEAROBIN\"]+\"</i></td></tr><tr><td><b>A_BIGHEAD_SEAROBIN:</b></td><td><i>\"+feature.attributes[\"A_BIGHEAD_SEAROBIN\"]+\"</i></td></tr><tr><td><b>B_BIGHEAD_SEAROBIN:</b></td><td><i>\"+feature.attributes[\"B_BIGHEAD_SEAROBIN\"]+\"</i></td></tr><tr><td><b>A_LOGGERHEAD_SEATURTLE:</b></td><td><i>\"+feature.attributes[\"A_LOGGERHEAD_SEATURTLE\"]+\"</i></td></tr><tr><td><b>B_LOGGERHEAD_SEATURTLE:</b></td><td><i>\"+feature.attributes[\"B_LOGGERHEAD_SEATURTLE\"]+\"</i></td></tr><tr><td><b>A_ATLANTIC_SPADEFISH:</b></td><td><i>\"+feature.attributes[\"A_ATLANTIC_SPADEFISH\"]+\"</i></td></tr><tr><td><b>B_ATLANTIC_SPADEFISH:</b></td><td><i>\"+feature.attributes[\"B_ATLANTIC_SPADEFISH\"]+\"</i></td></tr><tr><td><b>A_SEAROBIN_UNCL:</b></td><td><i>\"+feature.attributes[\"A_SEAROBIN_UNCL\"]+\"</i></td></tr><tr><td><b>B_SEAROBIN_UNCL:</b></td><td><i>\"+feature.attributes[\"B_SEAROBIN_UNCL\"]+\"</i></td></tr><tr><td><b>A_SPIDER_CRAB_UNCL:</b></td><td><i>\"+feature.attributes[\"A_SPIDER_CRAB_UNCL\"]+\"</i></td></tr><tr><td><b>B_SPIDER_CRAB_UNCL:</b></td><td><i>\"+feature.attributes[\"B_SPIDER_CRAB_UNCL\"]+\"</i></td></tr><tr><td><b>A_SNAKEFISH:</b></td><td><i>\"+feature.attributes[\"A_SNAKEFISH\"]+\"</i></td></tr><tr><td><b>B_SNAKEFISH:</b></td><td><i>\"+feature.attributes[\"B_SNAKEFISH\"]+\"</i></td></tr><tr><td><b>A_RED_CORNETFISH:</b></td><td><i>\"+feature.attributes[\"A_RED_CORNETFISH\"]+\"</i></td></tr><tr><td><b>B_RED_CORNETFISH:</b></td><td><i>\"+feature.attributes[\"B_RED_CORNETFISH\"]+\"</i></td></tr><tr><td><b>A_OCTOPUS_UNCL:</b></td><td><i>\"+feature.attributes[\"A_OCTOPUS_UNCL\"]+\"</i></td></tr><tr><td><b>B_OCTOPUS_UNCL:</b></td><td><i>\"+feature.attributes[\"B_OCTOPUS_UNCL\"]+\"</i></td></tr><tr><td><b>A_SHORTWING_SEAROBIN:</b></td><td><i>\"+feature.attributes[\"A_SHORTWING_SEAROBIN\"]+\"</i></td></tr><tr><td><b>B_SHORTWING_SEAROBIN:</b></td><td><i>\"+feature.attributes[\"B_SHORTWING_SEAROBIN\"]+\"</i></td></tr><tr><td><b>A_SHRIMP_(PINK,BROWN,WHITE):</b></td><td><i>\"+feature.attributes[\"A_SHRIMP_(PINK,BROWN,WHITE)\"]+\"</i></td></tr><tr><td><b>B_SHRIMP_(PINK,BROWN,WHITE):</b></td><td><i>\"+feature.attributes[\"B_SHRIMP_(PINK,BROWN,WHITE)\"]+\"</i></td></tr><tr><td><b>A_SHRIMP_FLOUNDER:</b></td><td><i>\"+feature.attributes[\"A_SHRIMP_FLOUNDER\"]+\"</i></td></tr><tr><td><b>B_SHRIMP_FLOUNDER:</b></td><td><i>\"+feature.attributes[\"B_SHRIMP_FLOUNDER\"]+\"</i></td></tr><tr><td><b>A_DUSKY_FLOUNDER:</b></td><td><i>\"+feature.attributes[\"A_DUSKY_FLOUNDER\"]+\"</i></td></tr><tr><td><b>B_DUSKY_FLOUNDER:</b></td><td><i>\"+feature.attributes[\"B_DUSKY_FLOUNDER\"]+\"</i></td></tr><tr><td><b>A_SPOTTED_DRIFTFISH:</b></td><td><i>\"+feature.attributes[\"A_SPOTTED_DRIFTFISH\"]+\"</i></td></tr><tr><td><b>B_SPOTTED_DRIFTFISH:</b></td><td><i>\"+feature.attributes[\"B_SPOTTED_DRIFTFISH\"]+\"</i></td></tr><tr><td><b>A_BIGEYE:</b></td><td><i>\"+feature.attributes[\"A_BIGEYE\"]+\"</i></td></tr><tr><td><b>B_BIGEYE:</b></td><td><i>\"+feature.attributes[\"B_BIGEYE\"]+\"</i></td></tr><tr><td><b>A_BLACK_DRUM:</b></td><td><i>\"+feature.attributes[\"A_BLACK_DRUM\"]+\"</i></td></tr><tr><td><b>B_BLACK_DRUM:</b></td><td><i>\"+feature.attributes[\"B_BLACK_DRUM\"]+\"</i></td></tr><tr><td><b>A_LONGNOSE_BATFISH:</b></td><td><i>\"+feature.attributes[\"A_LONGNOSE_BATFISH\"]+\"</i></td></tr><tr><td><b>B_LONGNOSE_BATFISH:</b></td><td><i>\"+feature.attributes[\"B_LONGNOSE_BATFISH\"]+\"</i></td></tr><tr><td><b>A_SEA_BASS_UNCL:</b></td><td><i>\"+feature.attributes[\"A_SEA_BASS_UNCL\"]+\"</i></td></tr><tr><td><b>B_SEA_BASS_UNCL:</b></td><td><i>\"+feature.attributes[\"B_SEA_BASS_UNCL\"]+\"</i></td></tr><tr><td><b>A_PARALICHTHYS_UNCL:</b></td><td><i>\"+feature.attributes[\"A_PARALICHTHYS_UNCL\"]+\"</i></td></tr><tr><td><b>B_PARALICHTHYS_UNCL:</b></td><td><i>\"+feature.attributes[\"B_PARALICHTHYS_UNCL\"]+\"</i></td></tr><tr><td><b>A_PANCAKE_BATFISH:</b></td><td><i>\"+feature.attributes[\"A_PANCAKE_BATFISH\"]+\"</i></td></tr><tr><td><b>B_PANCAKE_BATFISH:</b></td><td><i>\"+feature.attributes[\"B_PANCAKE_BATFISH\"]+\"</i></td></tr><tr><td><b>A_SHORTSPINE_BOARFISH:</b></td><td><i>\"+feature.attributes[\"A_SHORTSPINE_BOARFISH\"]+\"</i></td></tr><tr><td><b>B_SHORTSPINE_BOARFISH:</b></td><td><i>\"+feature.attributes[\"B_SHORTSPINE_BOARFISH\"]+\"</i></td></tr><tr><td><b>A_BAY_ANCHOVY:</b></td><td><i>\"+feature.attributes[\"A_BAY_ANCHOVY\"]+\"</i></td></tr><tr><td><b>B_BAY_ANCHOVY:</b></td><td><i>\"+feature.attributes[\"B_BAY_ANCHOVY\"]+\"</i></td></tr><tr><td><b>A_ATLANTIC_BRIEF_SQUID:</b></td><td><i>\"+feature.attributes[\"A_ATLANTIC_BRIEF_SQUID\"]+\"</i></td></tr><tr><td><b>B_ATLANTIC_BRIEF_SQUID:</b></td><td><i>\"+feature.attributes[\"B_ATLANTIC_BRIEF_SQUID\"]+\"</i></td></tr><tr><td><b>A_ROCK_SEA_BASS:</b></td><td><i>\"+feature.attributes[\"A_ROCK_SEA_BASS\"]+\"</i></td></tr><tr><td><b>B_ROCK_SEA_BASS:</b></td><td><i>\"+feature.attributes[\"B_ROCK_SEA_BASS\"]+\"</i></td></tr><tr><td><b>A_NORTHERN_SENNET:</b></td><td><i>\"+feature.attributes[\"A_NORTHERN_SENNET\"]+\"</i></td></tr><tr><td><b>B_NORTHERN_SENNET:</b></td><td><i>\"+feature.attributes[\"B_NORTHERN_SENNET\"]+\"</i></td></tr><tr><td><b>A_SUMMER_FLOUNDER:</b></td><td><i>\"+feature.attributes[\"A_SUMMER_FLOUNDER\"]+\"</i></td></tr><tr><td><b>B_SUMMER_FLOUNDER:</b></td><td><i>\"+feature.attributes[\"B_SUMMER_FLOUNDER\"]+\"</i></td></tr><tr><td><b>A_BAY_SCALLOP:</b></td><td><i>\"+feature.attributes[\"A_BAY_SCALLOP\"]+\"</i></td></tr><tr><td><b>B_BAY_SCALLOP:</b></td><td><i>\"+feature.attributes[\"B_BAY_SCALLOP\"]+\"</i></td></tr><tr><td><b>A_SILVER_PERCH:</b></td><td><i>\"+feature.attributes[\"A_SILVER_PERCH\"]+\"</i></td></tr><tr><td><b>B_SILVER_PERCH:</b></td><td><i>\"+feature.attributes[\"B_SILVER_PERCH\"]+\"</i></td></tr><tr><td><b>A_BULLNOSE_RAY:</b></td><td><i>\"+feature.attributes[\"A_BULLNOSE_RAY\"]+\"</i></td></tr><tr><td><b>B_BULLNOSE_RAY:</b></td><td><i>\"+feature.attributes[\"B_BULLNOSE_RAY\"]+\"</i></td></tr><tr><td><b>A_ATLANTIC_MENHADEN:</b></td><td><i>\"+feature.attributes[\"A_ATLANTIC_MENHADEN\"]+\"</i></td></tr><tr><td><b>B_ATLANTIC_MENHADEN:</b></td><td><i>\"+feature.attributes[\"B_ATLANTIC_MENHADEN\"]+\"</i></td></tr><tr><td><b>A_STRIPED_BURRFISH:</b></td><td><i>\"+feature.attributes[\"A_STRIPED_BURRFISH\"]+\"</i></td></tr><tr><td><b>B_STRIPED_BURRFISH:</b></td><td><i>\"+feature.attributes[\"B_STRIPED_BURRFISH\"]+\"</i></td></tr><tr><td><b>A_BLUE_CRAB:</b></td><td><i>\"+feature.attributes[\"A_BLUE_CRAB\"]+\"</i></td></tr><tr><td><b>B_BLUE_CRAB:</b></td><td><i>\"+feature.attributes[\"B_BLUE_CRAB\"]+\"</i></td></tr><tr><td><b>A_LADY_CRAB:</b></td><td><i>\"+feature.attributes[\"A_LADY_CRAB\"]+\"</i></td></tr><tr><td><b>B_LADY_CRAB:</b></td><td><i>\"+feature.attributes[\"B_LADY_CRAB\"]+\"</i></td></tr><tr><td><b>A_SILVER_SEATROUT:</b></td><td><i>\"+feature.attributes[\"A_SILVER_SEATROUT\"]+\"</i></td></tr><tr><td><b>B_SILVER_SEATROUT:</b></td><td><i>\"+feature.attributes[\"B_SILVER_SEATROUT\"]+\"</i></td></tr><tr><td><b>A_COWNOSE_RAY:</b></td><td><i>\"+feature.attributes[\"A_COWNOSE_RAY\"]+\"</i></td></tr><tr><td><b>B_COWNOSE_RAY:</b></td><td><i>\"+feature.attributes[\"B_COWNOSE_RAY\"]+\"</i></td></tr><tr><td><b>A_SMOOTH_DOGFISH:</b></td><td><i>\"+feature.attributes[\"A_SMOOTH_DOGFISH\"]+\"</i></td></tr><tr><td><b>B_SMOOTH_DOGFISH:</b></td><td><i>\"+feature.attributes[\"B_SMOOTH_DOGFISH\"]+\"</i></td></tr><tr><td><b>A_ROUGHTAIL_STINGRAY:</b></td><td><i>\"+feature.attributes[\"A_ROUGHTAIL_STINGRAY\"]+\"</i></td></tr><tr><td><b>B_ROUGHTAIL_STINGRAY:</b></td><td><i>\"+feature.attributes[\"B_ROUGHTAIL_STINGRAY\"]+\"</i></td></tr><tr><td><b>A_DWARF_GOATFISH:</b></td><td><i>\"+feature.attributes[\"A_DWARF_GOATFISH\"]+\"</i></td></tr><tr><td><b>B_DWARF_GOATFISH:</b></td><td><i>\"+feature.attributes[\"B_DWARF_GOATFISH\"]+\"</i></td></tr><tr><td><b>A_LITTLE_SKATE:</b></td><td><i>\"+feature.attributes[\"A_LITTLE_SKATE\"]+\"</i></td></tr><tr><td><b>B_LITTLE_SKATE:</b></td><td><i>\"+feature.attributes[\"B_LITTLE_SKATE\"]+\"</i></td></tr><tr><td><b>A_ATLANTIC_SURFCLAM:</b></td><td><i>\"+feature.attributes[\"A_ATLANTIC_SURFCLAM\"]+\"</i></td></tr><tr><td><b>B_ATLANTIC_SURFCLAM:</b></td><td><i>\"+feature.attributes[\"B_ATLANTIC_SURFCLAM\"]+\"</i></td></tr><tr><td><b>A_YELLOWTAIL_FLOUNDER:</b></td><td><i>\"+feature.attributes[\"A_YELLOWTAIL_FLOUNDER\"]+\"</i></td></tr><tr><td><b>B_YELLOWTAIL_FLOUNDER:</b></td><td><i>\"+feature.attributes[\"B_YELLOWTAIL_FLOUNDER\"]+\"</i></td></tr><tr><td><b>A_GOBY_FLATHEAD:</b></td><td><i>\"+feature.attributes[\"A_GOBY_FLATHEAD\"]+\"</i></td></tr><tr><td><b>B_GOBY_FLATHEAD:</b></td><td><i>\"+feature.attributes[\"B_GOBY_FLATHEAD\"]+\"</i></td></tr><tr><td><b>A_SPINYCHEEK_SCORPIONFISH:</b></td><td><i>\"+feature.attributes[\"A_SPINYCHEEK_SCORPIONFISH\"]+\"</i></td></tr><tr><td><b>B_SPINYCHEEK_SCORPIONFISH:</b></td><td><i>\"+feature.attributes[\"B_SPINYCHEEK_SCORPIONFISH\"]+\"</i></td></tr><tr><td><b>A_WEITZMANS_PEARLSIDES:</b></td><td><i>\"+feature.attributes[\"A_WEITZMANS_PEARLSIDES\"]+\"</i></td></tr><tr><td><b>B_WEITZMANS_PEARLSIDES:</b></td><td><i>\"+feature.attributes[\"B_WEITZMANS_PEARLSIDES\"]+\"</i></td></tr><tr><td><b>A_HATCHETFISH_UNCL:</b></td><td><i>\"+feature.attributes[\"A_HATCHETFISH_UNCL\"]+\"</i></td></tr><tr><td><b>B_HATCHETFISH_UNCL:</b></td><td><i>\"+feature.attributes[\"B_HATCHETFISH_UNCL\"]+\"</i></td></tr><tr><td><b>A_GLADIATOR_BOX_CRAB:</b></td><td><i>\"+feature.attributes[\"A_GLADIATOR_BOX_CRAB\"]+\"</i></td></tr><tr><td><b>B_GLADIATOR_BOX_CRAB:</b></td><td><i>\"+feature.attributes[\"B_GLADIATOR_BOX_CRAB\"]+\"</i></td></tr><tr><td><b>A_ARROW_SQUID:</b></td><td><i>\"+feature.attributes[\"A_ARROW_SQUID\"]+\"</i></td></tr><tr><td><b>B_ARROW_SQUID:</b></td><td><i>\"+feature.attributes[\"B_ARROW_SQUID\"]+\"</i></td></tr><tr><td><b>A_RED_GOATFISH:</b></td><td><i>\"+feature.attributes[\"A_RED_GOATFISH\"]+\"</i></td></tr><tr><td><b>B_RED_GOATFISH:</b></td><td><i>\"+feature.attributes[\"B_RED_GOATFISH\"]+\"</i></td></tr><tr><td><b>A_HOGCHOKER:</b></td><td><i>\"+feature.attributes[\"A_HOGCHOKER\"]+\"</i></td></tr><tr><td><b>B_HOGCHOKER:</b></td><td><i>\"+feature.attributes[\"B_HOGCHOKER\"]+\"</i></td></tr><tr><td><b>A_ATLANTIC_MACKEREL:</b></td><td><i>\"+feature.attributes[\"A_ATLANTIC_MACKEREL\"]+\"</i></td></tr><tr><td><b>B_ATLANTIC_MACKEREL:</b></td><td><i>\"+feature.attributes[\"B_ATLANTIC_MACKEREL\"]+\"</i></td></tr><tr><td><b>A_SPOTTED_BURRFISH:</b></td><td><i>\"+feature.attributes[\"A_SPOTTED_BURRFISH\"]+\"</i></td></tr><tr><td><b>B_SPOTTED_BURRFISH:</b></td><td><i>\"+feature.attributes[\"B_SPOTTED_BURRFISH\"]+\"</i></td></tr><tr><td><b>A_BARRACUDA_UNCL:</b></td><td><i>\"+feature.attributes[\"A_BARRACUDA_UNCL\"]+\"</i></td></tr><tr><td><b>B_BARRACUDA_UNCL:</b></td><td><i>\"+feature.attributes[\"B_BARRACUDA_UNCL\"]+\"</i></td></tr><tr><td><b>A_SPOTFIN_BUTTERFLYFISH:</b></td><td><i>\"+feature.attributes[\"A_SPOTFIN_BUTTERFLYFISH\"]+\"</i></td></tr><tr><td><b>B_SPOTFIN_BUTTERFLYFISH:</b></td><td><i>\"+feature.attributes[\"B_SPOTFIN_BUTTERFLYFISH\"]+\"</i></td></tr><tr><td><b>A_SEA_RAVEN:</b></td><td><i>\"+feature.attributes[\"A_SEA_RAVEN\"]+\"</i></td></tr><tr><td><b>B_SEA_RAVEN:</b></td><td><i>\"+feature.attributes[\"B_SEA_RAVEN\"]+\"</i></td></tr><tr><td><b>A_GLASSEYE_SNAPPER:</b></td><td><i>\"+feature.attributes[\"A_GLASSEYE_SNAPPER\"]+\"</i></td></tr><tr><td><b>B_GLASSEYE_SNAPPER:</b></td><td><i>\"+feature.attributes[\"B_GLASSEYE_SNAPPER\"]+\"</i></td></tr><tr><td><b>A_CUNNER:</b></td><td><i>\"+feature.attributes[\"A_CUNNER\"]+\"</i></td></tr><tr><td><b>B_CUNNER:</b></td><td><i>\"+feature.attributes[\"B_CUNNER\"]+\"</i></td></tr><tr><td><b>A_HADDOCK:</b></td><td><i>\"+feature.attributes[\"A_HADDOCK\"]+\"</i></td></tr><tr><td><b>B_HADDOCK:</b></td><td><i>\"+feature.attributes[\"B_HADDOCK\"]+\"</i></td></tr><tr><td><b>A_OCEAN_POUT:</b></td><td><i>\"+feature.attributes[\"A_OCEAN_POUT\"]+\"</i></td></tr><tr><td><b>B_OCEAN_POUT:</b></td><td><i>\"+feature.attributes[\"B_OCEAN_POUT\"]+\"</i></td></tr><tr><td><b>A_TILEFISH:</b></td><td><i>\"+feature.attributes[\"A_TILEFISH\"]+\"</i></td></tr><tr><td><b>B_TILEFISH:</b></td><td><i>\"+feature.attributes[\"B_TILEFISH\"]+\"</i></td></tr><tr><td><b>A_CORNETFISH_UNCL:</b></td><td><i>\"+feature.attributes[\"A_CORNETFISH_UNCL\"]+\"</i></td></tr><tr><td><b>B_CORNETFISH_UNCL:</b></td><td><i>\"+feature.attributes[\"B_CORNETFISH_UNCL\"]+\"</i></td></tr><tr><td><b>A_EEL_UNCL:</b></td><td><i>\"+feature.attributes[\"A_EEL_UNCL\"]+\"</i></td></tr><tr><td><b>B_EEL_UNCL:</b></td><td><i>\"+feature.attributes[\"B_EEL_UNCL\"]+\"</i></td></tr><tr><td><b>A_ATLANTIC_HAGFISH:</b></td><td><i>\"+feature.attributes[\"A_ATLANTIC_HAGFISH\"]+\"</i></td></tr><tr><td><b>B_ATLANTIC_HAGFISH:</b></td><td><i>\"+feature.attributes[\"B_ATLANTIC_HAGFISH\"]+\"</i></td></tr><tr><td><b>A_RED_DEEPSEA_CRAB:</b></td><td><i>\"+feature.attributes[\"A_RED_DEEPSEA_CRAB\"]+\"</i></td></tr><tr><td><b>B_RED_DEEPSEA_CRAB:</b></td><td><i>\"+feature.attributes[\"B_RED_DEEPSEA_CRAB\"]+\"</i></td></tr><tr><td><b>A_SHRIMP_UNCL:</b></td><td><i>\"+feature.attributes[\"A_SHRIMP_UNCL\"]+\"</i></td></tr><tr><td><b>B_SHRIMP_UNCL:</b></td><td><i>\"+feature.attributes[\"B_SHRIMP_UNCL\"]+\"</i></td></tr><tr><td><b>A_AMERICAN_SHAD:</b></td><td><i>\"+feature.attributes[\"A_AMERICAN_SHAD\"]+\"</i></td></tr><tr><td><b>B_AMERICAN_SHAD:</b></td><td><i>\"+feature.attributes[\"B_AMERICAN_SHAD\"]+\"</i></td></tr><tr><td><b>A_BOX_CRAB_UNCL:</b></td><td><i>\"+feature.attributes[\"A_BOX_CRAB_UNCL\"]+\"</i></td></tr><tr><td><b>B_BOX_CRAB_UNCL:</b></td><td><i>\"+feature.attributes[\"B_BOX_CRAB_UNCL\"]+\"</i></td></tr><tr><td><b>A_WHITE_HAKE:</b></td><td><i>\"+feature.attributes[\"A_WHITE_HAKE\"]+\"</i></td></tr><tr><td><b>B_WHITE_HAKE:</b></td><td><i>\"+feature.attributes[\"B_WHITE_HAKE\"]+\"</i></td></tr><tr><td><b>A_FOURBEARD_ROCKLING:</b></td><td><i>\"+feature.attributes[\"A_FOURBEARD_ROCKLING\"]+\"</i></td></tr><tr><td><b>B_FOURBEARD_ROCKLING:</b></td><td><i>\"+feature.attributes[\"B_FOURBEARD_ROCKLING\"]+\"</i></td></tr><tr><td><b>A_DEEPWATER_FLOUNDER:</b></td><td><i>\"+feature.attributes[\"A_DEEPWATER_FLOUNDER\"]+\"</i></td></tr><tr><td><b>B_DEEPWATER_FLOUNDER:</b></td><td><i>\"+feature.attributes[\"B_DEEPWATER_FLOUNDER\"]+\"</i></td></tr><tr><td><b>A_LONGSPINE_SCORPIONFISH:</b></td><td><i>\"+feature.attributes[\"A_LONGSPINE_SCORPIONFISH\"]+\"</i></td></tr><tr><td><b>B_LONGSPINE_SCORPIONFISH:</b></td><td><i>\"+feature.attributes[\"B_LONGSPINE_SCORPIONFISH\"]+\"</i></td></tr><tr><td><b>A_BIG_ROUGHY:</b></td><td><i>\"+feature.attributes[\"A_BIG_ROUGHY\"]+\"</i></td></tr><tr><td><b>B_BIG_ROUGHY:</b></td><td><i>\"+feature.attributes[\"B_BIG_ROUGHY\"]+\"</i></td></tr><tr><td><b>A_YELLOWFIN_BASS:</b></td><td><i>\"+feature.attributes[\"A_YELLOWFIN_BASS\"]+\"</i></td></tr><tr><td><b>B_YELLOWFIN_BASS:</b></td><td><i>\"+feature.attributes[\"B_YELLOWFIN_BASS\"]+\"</i></td></tr><tr><td><b>A_STREAMER_BASS:</b></td><td><i>\"+feature.attributes[\"A_STREAMER_BASS\"]+\"</i></td></tr><tr><td><b>B_STREAMER_BASS:</b></td><td><i>\"+feature.attributes[\"B_STREAMER_BASS\"]+\"</i></td></tr><tr><td><b>A_REDEYE_GAPER:</b></td><td><i>\"+feature.attributes[\"A_REDEYE_GAPER\"]+\"</i></td></tr><tr><td><b>B_REDEYE_GAPER:</b></td><td><i>\"+feature.attributes[\"B_REDEYE_GAPER\"]+\"</i></td></tr><tr><td><b>A_BARNDOOR_SKATE:</b></td><td><i>\"+feature.attributes[\"A_BARNDOOR_SKATE\"]+\"</i></td></tr><tr><td><b>B_BARNDOOR_SKATE:</b></td><td><i>\"+feature.attributes[\"B_BARNDOOR_SKATE\"]+\"</i></td></tr><tr><td><b>A_WINTER_SKATE:</b></td><td><i>\"+feature.attributes[\"A_WINTER_SKATE\"]+\"</i></td></tr><tr><td><b>B_WINTER_SKATE:</b></td><td><i>\"+feature.attributes[\"B_WINTER_SKATE\"]+\"</i></td></tr><tr><td><b>A_POLLOCK:</b></td><td><i>\"+feature.attributes[\"A_POLLOCK\"]+\"</i></td></tr><tr><td><b>B_POLLOCK:</b></td><td><i>\"+feature.attributes[\"B_POLLOCK\"]+\"</i></td></tr><tr><td><b>A_WINTER_FLOUNDER:</b></td><td><i>\"+feature.attributes[\"A_WINTER_FLOUNDER\"]+\"</i></td></tr><tr><td><b>B_WINTER_FLOUNDER:</b></td><td><i>\"+feature.attributes[\"B_WINTER_FLOUNDER\"]+\"</i></td></tr><tr><td><b>A_LONGHORN_SCULPIN:</b></td><td><i>\"+feature.attributes[\"A_LONGHORN_SCULPIN\"]+\"</i></td></tr><tr><td><b>B_LONGHORN_SCULPIN:</b></td><td><i>\"+feature.attributes[\"B_LONGHORN_SCULPIN\"]+\"</i></td></tr><tr><td><b>A_ATLANTIC_HERRING:</b></td><td><i>\"+feature.attributes[\"A_ATLANTIC_HERRING\"]+\"</i></td></tr><tr><td><b>B_ATLANTIC_HERRING:</b></td><td><i>\"+feature.attributes[\"B_ATLANTIC_HERRING\"]+\"</i></td></tr><tr><td><b>A_HORNED_WHIFF:</b></td><td><i>\"+feature.attributes[\"A_HORNED_WHIFF\"]+\"</i></td></tr><tr><td><b>B_HORNED_WHIFF:</b></td><td><i>\"+feature.attributes[\"B_HORNED_WHIFF\"]+\"</i></td></tr><tr><td><b>A_SPOTFIN_DRAGONET:</b></td><td><i>\"+feature.attributes[\"A_SPOTFIN_DRAGONET\"]+\"</i></td></tr><tr><td><b>B_SPOTFIN_DRAGONET:</b></td><td><i>\"+feature.attributes[\"B_SPOTFIN_DRAGONET\"]+\"</i></td></tr><tr><td><b>A_BASKING_SHARK:</b></td><td><i>\"+feature.attributes[\"A_BASKING_SHARK\"]+\"</i></td></tr><tr><td><b>B_BASKING_SHARK:</b></td><td><i>\"+feature.attributes[\"B_BASKING_SHARK\"]+\"</i></td></tr><tr><td><b>A_BOBTAIL_UNCL:</b></td><td><i>\"+feature.attributes[\"A_BOBTAIL_UNCL\"]+\"</i></td></tr><tr><td><b>B_BOBTAIL_UNCL:</b></td><td><i>\"+feature.attributes[\"B_BOBTAIL_UNCL\"]+\"</i></td></tr><tr><td><b>A_LONGFIN_HAKE:</b></td><td><i>\"+feature.attributes[\"A_LONGFIN_HAKE\"]+\"</i></td></tr><tr><td><b>B_LONGFIN_HAKE:</b></td><td><i>\"+feature.attributes[\"B_LONGFIN_HAKE\"]+\"</i></td></tr><tr><td><b>A_VIPERFISH:</b></td><td><i>\"+feature.attributes[\"A_VIPERFISH\"]+\"</i></td></tr><tr><td><b>B_VIPERFISH:</b></td><td><i>\"+feature.attributes[\"B_VIPERFISH\"]+\"</i></td></tr><tr><td><b>A_SMALLMOUTH_FLOUNDER:</b></td><td><i>\"+feature.attributes[\"A_SMALLMOUTH_FLOUNDER\"]+\"</i></td></tr><tr><td><b>B_SMALLMOUTH_FLOUNDER:</b></td><td><i>\"+feature.attributes[\"B_SMALLMOUTH_FLOUNDER\"]+\"</i></td></tr><tr><td><b>A_GAG:</b></td><td><i>\"+feature.attributes[\"A_GAG\"]+\"</i></td></tr><tr><td><b>B_GAG:</b></td><td><i>\"+feature.attributes[\"B_GAG\"]+\"</i></td></tr><tr><td><b>A_TAUTOG:</b></td><td><i>\"+feature.attributes[\"A_TAUTOG\"]+\"</i></td></tr><tr><td><b>B_TAUTOG:</b></td><td><i>\"+feature.attributes[\"B_TAUTOG\"]+\"</i></td></tr><tr><td><b>A_PIPEFISH_SEAHORSE_UNCL:</b></td><td><i>\"+feature.attributes[\"A_PIPEFISH_SEAHORSE_UNCL\"]+\"</i></td></tr><tr><td><b>B_PIPEFISH_SEAHORSE_UNCL:</b></td><td><i>\"+feature.attributes[\"B_PIPEFISH_SEAHORSE_UNCL\"]+\"</i></td></tr><tr><td><b>A_STRIPED_BASS:</b></td><td><i>\"+feature.attributes[\"A_STRIPED_BASS\"]+\"</i></td></tr><tr><td><b>B_STRIPED_BASS:</b></td><td><i>\"+feature.attributes[\"B_STRIPED_BASS\"]+\"</i></td></tr><tr><td><b>A_GRAY_TRIGGERFISH:</b></td><td><i>\"+feature.attributes[\"A_GRAY_TRIGGERFISH\"]+\"</i></td></tr><tr><td><b>B_GRAY_TRIGGERFISH:</b></td><td><i>\"+feature.attributes[\"B_GRAY_TRIGGERFISH\"]+\"</i></td></tr><tr><td><b>A_ATLANTIC_SAURY:</b></td><td><i>\"+feature.attributes[\"A_ATLANTIC_SAURY\"]+\"</i></td></tr><tr><td><b>B_ATLANTIC_SAURY:</b></td><td><i>\"+feature.attributes[\"B_ATLANTIC_SAURY\"]+\"</i></td></tr><tr><td><b>A_LEFTEYE_FLOUNDER_UNCL:</b></td><td><i>\"+feature.attributes[\"A_LEFTEYE_FLOUNDER_UNCL\"]+\"</i></td></tr><tr><td><b>B_LEFTEYE_FLOUNDER_UNCL:</b></td><td><i>\"+feature.attributes[\"B_LEFTEYE_FLOUNDER_UNCL\"]+\"</i></td></tr><tr><td><b>A_ALEWIFE:</b></td><td><i>\"+feature.attributes[\"A_ALEWIFE\"]+\"</i></td></tr><tr><td><b>B_ALEWIFE:</b></td><td><i>\"+feature.attributes[\"B_ALEWIFE\"]+\"</i></td></tr><tr><td><b>A_OCEAN_QUAHOG:</b></td><td><i>\"+feature.attributes[\"A_OCEAN_QUAHOG\"]+\"</i></td></tr><tr><td><b>B_OCEAN_QUAHOG:</b></td><td><i>\"+feature.attributes[\"B_OCEAN_QUAHOG\"]+\"</i></td></tr><tr><td><b>A_THORNY_SKATE:</b></td><td><i>\"+feature.attributes[\"A_THORNY_SKATE\"]+\"</i></td></tr><tr><td><b>B_THORNY_SKATE:</b></td><td><i>\"+feature.attributes[\"B_THORNY_SKATE\"]+\"</i></td></tr><tr><td><b>A_SMOOTH_SKATE:</b></td><td><i>\"+feature.attributes[\"A_SMOOTH_SKATE\"]+\"</i></td></tr><tr><td><b>B_SMOOTH_SKATE:</b></td><td><i>\"+feature.attributes[\"B_SMOOTH_SKATE\"]+\"</i></td></tr><tr><td><b>A_AMERICAN_PLAICE:</b></td><td><i>\"+feature.attributes[\"A_AMERICAN_PLAICE\"]+\"</i></td></tr><tr><td><b>B_AMERICAN_PLAICE:</b></td><td><i>\"+feature.attributes[\"B_AMERICAN_PLAICE\"]+\"</i></td></tr><tr><td><b>A_ROYAL_RED_SHRIMP:</b></td><td><i>\"+feature.attributes[\"A_ROYAL_RED_SHRIMP\"]+\"</i></td></tr><tr><td><b>B_ROYAL_RED_SHRIMP:</b></td><td><i>\"+feature.attributes[\"B_ROYAL_RED_SHRIMP\"]+\"</i></td></tr><tr><td><b>A_ATLANTIC_COD:</b></td><td><i>\"+feature.attributes[\"A_ATLANTIC_COD\"]+\"</i></td></tr><tr><td><b>B_ATLANTIC_COD:</b></td><td><i>\"+feature.attributes[\"B_ATLANTIC_COD\"]+\"</i></td></tr><tr><td><b>A_GRUBBY:</b></td><td><i>\"+feature.attributes[\"A_GRUBBY\"]+\"</i></td></tr><tr><td><b>B_GRUBBY:</b></td><td><i>\"+feature.attributes[\"B_GRUBBY\"]+\"</i></td></tr><tr><td><b>A_CUSK:</b></td><td><i>\"+feature.attributes[\"A_CUSK\"]+\"</i></td></tr><tr><td><b>B_CUSK:</b></td><td><i>\"+feature.attributes[\"B_CUSK\"]+\"</i></td></tr><tr><td><b>A_ACADIAN_REDFISH:</b></td><td><i>\"+feature.attributes[\"A_ACADIAN_REDFISH\"]+\"</i></td></tr><tr><td><b>B_ACADIAN_REDFISH:</b></td><td><i>\"+feature.attributes[\"B_ACADIAN_REDFISH\"]+\"</i></td></tr><tr><td><b>A_BARRACUDINA_UNCL:</b></td><td><i>\"+feature.attributes[\"A_BARRACUDINA_UNCL\"]+\"</i></td></tr><tr><td><b>B_BARRACUDINA_UNCL:</b></td><td><i>\"+feature.attributes[\"B_BARRACUDINA_UNCL\"]+\"</i></td></tr><tr><td><b>A_MOUSTACHE_SCULPIN:</b></td><td><i>\"+feature.attributes[\"A_MOUSTACHE_SCULPIN\"]+\"</i></td></tr><tr><td><b>B_MOUSTACHE_SCULPIN:</b></td><td><i>\"+feature.attributes[\"B_MOUSTACHE_SCULPIN\"]+\"</i></td></tr><tr><td><b>A_ATLANTIC_WOLFFISH:</b></td><td><i>\"+feature.attributes[\"A_ATLANTIC_WOLFFISH\"]+\"</i></td></tr><tr><td><b>B_ATLANTIC_WOLFFISH:</b></td><td><i>\"+feature.attributes[\"B_ATLANTIC_WOLFFISH\"]+\"</i></td></tr><tr><td><b>A_ATLANTIC_HALIBUT:</b></td><td><i>\"+feature.attributes[\"A_ATLANTIC_HALIBUT\"]+\"</i></td></tr><tr><td><b>B_ATLANTIC_HALIBUT:</b></td><td><i>\"+feature.attributes[\"B_ATLANTIC_HALIBUT\"]+\"</i></td></tr><tr><td><b>A_ICELAND_SCALLOP:</b></td><td><i>\"+feature.attributes[\"A_ICELAND_SCALLOP\"]+\"</i></td></tr><tr><td><b>B_ICELAND_SCALLOP:</b></td><td><i>\"+feature.attributes[\"B_ICELAND_SCALLOP\"]+\"</i></td></tr><tr><td><b>A_WRYMOUTH:</b></td><td><i>\"+feature.attributes[\"A_WRYMOUTH\"]+\"</i></td></tr><tr><td><b>B_WRYMOUTH:</b></td><td><i>\"+feature.attributes[\"B_WRYMOUTH\"]+\"</i></td></tr><tr><td><b>A_NORTHERN_STONE_CRAB:</b></td><td><i>\"+feature.attributes[\"A_NORTHERN_STONE_CRAB\"]+\"</i></td></tr><tr><td><b>B_NORTHERN_STONE_CRAB:</b></td><td><i>\"+feature.attributes[\"B_NORTHERN_STONE_CRAB\"]+\"</i></td></tr><tr><td><b>A_ATLANTIC_SOFT_POUT:</b></td><td><i>\"+feature.attributes[\"A_ATLANTIC_SOFT_POUT\"]+\"</i></td></tr><tr><td><b>B_ATLANTIC_SOFT_POUT:</b></td><td><i>\"+feature.attributes[\"B_ATLANTIC_SOFT_POUT\"]+\"</i></td></tr><tr><td><b>A_ALLIGATORFISH:</b></td><td><i>\"+feature.attributes[\"A_ALLIGATORFISH\"]+\"</i></td></tr><tr><td><b>B_ALLIGATORFISH:</b></td><td><i>\"+feature.attributes[\"B_ALLIGATORFISH\"]+\"</i></td></tr><tr><td><b>A_BLUEBACK_HERRING:</b></td><td><i>\"+feature.attributes[\"A_BLUEBACK_HERRING\"]+\"</i></td></tr><tr><td><b>B_BLUEBACK_HERRING:</b></td><td><i>\"+feature.attributes[\"B_BLUEBACK_HERRING\"]+\"</i></td></tr><tr><td><b>A_LING_UNCL:</b></td><td><i>\"+feature.attributes[\"A_LING_UNCL\"]+\"</i></td></tr><tr><td><b>B_LING_UNCL:</b></td><td><i>\"+feature.attributes[\"B_LING_UNCL\"]+\"</i></td></tr><tr><td><b>A_SHORTHORN_SCULPIN:</b></td><td><i>\"+feature.attributes[\"A_SHORTHORN_SCULPIN\"]+\"</i></td></tr><tr><td><b>B_SHORTHORN_SCULPIN:</b></td><td><i>\"+feature.attributes[\"B_SHORTHORN_SCULPIN\"]+\"</i></td></tr><tr><td><b>A_ROCK_GUNNEL:</b></td><td><i>\"+feature.attributes[\"A_ROCK_GUNNEL\"]+\"</i></td></tr><tr><td><b>B_ROCK_GUNNEL:</b></td><td><i>\"+feature.attributes[\"B_ROCK_GUNNEL\"]+\"</i></td></tr><tr><td><b>A_WOLF_EELPOUT:</b></td><td><i>\"+feature.attributes[\"A_WOLF_EELPOUT\"]+\"</i></td></tr><tr><td><b>B_WOLF_EELPOUT:</b></td><td><i>\"+feature.attributes[\"B_WOLF_EELPOUT\"]+\"</i></td></tr><tr><td><b>A_SNOW_CRAB:</b></td><td><i>\"+feature.attributes[\"A_SNOW_CRAB\"]+\"</i></td></tr><tr><td><b>B_SNOW_CRAB:</b></td><td><i>\"+feature.attributes[\"B_SNOW_CRAB\"]+\"</i></td></tr><tr><td><b>A_SHIELD_BOBTAIL:</b></td><td><i>\"+feature.attributes[\"A_SHIELD_BOBTAIL\"]+\"</i></td></tr><tr><td><b>B_SHIELD_BOBTAIL:</b></td><td><i>\"+feature.attributes[\"B_SHIELD_BOBTAIL\"]+\"</i></td></tr><tr><td><b>A_RADIATED_SHANNY:</b></td><td><i>\"+feature.attributes[\"A_RADIATED_SHANNY\"]+\"</i></td></tr><tr><td><b>B_RADIATED_SHANNY:</b></td><td><i>\"+feature.attributes[\"B_RADIATED_SHANNY\"]+\"</i></td></tr><tr><td><b>A_LUMPFISH:</b></td><td><i>\"+feature.attributes[\"A_LUMPFISH\"]+\"</i></td></tr><tr><td><b>B_LUMPFISH:</b></td><td><i>\"+feature.attributes[\"B_LUMPFISH\"]+\"</i></td></tr><tr><td><b>A_GREENLAND_HALIBUT:</b></td><td><i>\"+feature.attributes[\"A_GREENLAND_HALIBUT\"]+\"</i></td></tr><tr><td><b>B_GREENLAND_HALIBUT:</b></td><td><i>\"+feature.attributes[\"B_GREENLAND_HALIBUT\"]+\"</i></td></tr><tr><td><b>A_DAUBED_SHANNY:</b></td><td><i>\"+feature.attributes[\"A_DAUBED_SHANNY\"]+\"</i></td></tr><tr><td><b>B_DAUBED_SHANNY:</b></td><td><i>\"+feature.attributes[\"B_DAUBED_SHANNY\"]+\"</i></td></tr></table></body></html>\";\n popup = new OpenLayers.Popup.FramedCloud(\"chicken\", \n feature.geometry.getBounds().getCenterLonLat(),\n new OpenLayers.Size(1000,500),\n tablevector,\n null,\n true,\n onPopupCloseFall_2011\n ); \n feature.popup = popup;\n map.addPopup(popup);\n }\n function onFeatureUnselectFall_2011(feature) {\n map.removePopup(feature.popup);\n feature.popup.destroy();\n feature.popup = null; \n } \n var Fall_2011 = new OpenLayers.Layer.Vector(\"Fall_2011\", {\n styleMap: Fall_2011_style,\n projection: \"EPSG:4326\",\n strategies: [new OpenLayers.Strategy.Fixed()],\n protocol: new OpenLayers.Protocol.HTTP({\n url: \"data_points.geojson\",\n format: new OpenLayers.Format.GeoJSON()\n })\n });\n map.addLayer(Fall_2011);\n \n \nselectControl = new OpenLayers.Control.SelectFeature(\n [EPU,Fall_2011, ],\n {\n clickout: true, toggle: false, \n multiple: false, hover: false, \n toggleKey: \"ctrlKey\", // ctrl key removes from selection\n multipleKey: \"shiftKey\" // shift key adds to selection\n }\n );\n map.addControl(selectControl);\n selectControl.activate();\n \n EPU.events.on({\n \"featureselected\": function(e) {\n onFeatureSelectEPU(e.feature);\n },\n \"featureunselected\": function(e) {\n onFeatureUnselectEPU(e.feature);\n }\n });\n Fall_2011.events.on({\n \"featureselected\": function(e) {\n onFeatureSelectFall_2011(e.feature);\n },\n \"featureunselected\": function(e) {\n onFeatureUnselectFall_2011(e.feature);\n }\n });\n map.setCenter(new OpenLayers.LonLat(-68, 42), 5);\n map.addControl( new OpenLayers.Control.LayerSwitcher());\n map.addControl(new OpenLayers.Control.MousePosition());\n map.addControl(new OpenLayers.Control.OverviewMap());\n map.addControl(new OpenLayers.Control.KeyboardDefaults());\n </script>",
"text": "<IPython.core.display.HTML at 0x7ff8400d89d0>",
"output_type": "display_data",
"metadata": {
"isolated": true
}
}
],
"language": "python",
"trusted": true,
"collapsed": false
},
{
"metadata": {},
"cell_type": "heading",
"source": "Submit data and publish results",
"level": 2
},
{
"metadata": {},
"cell_type": "code",
"input": "!gist -p EPU.geojson",
"prompt_number": 22,
"outputs": [
{
"output_type": "stream",
"text": "https://gist.github.com/2abc9078e7c7bb3de42c\r\n",
"stream": "stdout"
}
],
"language": "python",
"trusted": true,
"collapsed": false
},
{
"metadata": {},
"cell_type": "code",
"input": "!gist -p data_points.geojson",
"prompt_number": 23,
"outputs": [
{
"output_type": "stream",
"text": "https://gist.github.com/2419b22ab2a0657851dc\r\n",
"stream": "stdout"
}
],
"language": "python",
"trusted": true,
"collapsed": false
},
{
"metadata": {},
"cell_type": "code",
"input": "html = html.replace('/nbextensions/openlayers/lib/OpenLayers.js','http://openlayers.org/dev/OpenLayers.js')",
"prompt_number": 24,
"outputs": [],
"language": "python",
"trusted": true,
"collapsed": false
},
{
"metadata": {},
"cell_type": "code",
"input": "f = open('index.html', 'w')\nf.write(html)\nf.close()",
"prompt_number": 25,
"outputs": [],
"language": "python",
"trusted": true,
"collapsed": false
},
{
"metadata": {},
"cell_type": "code",
"input": "#mkdir /var/www/shared/bottom_trawl_fall_2011",
"prompt_number": 26,
"outputs": [],
"language": "python",
"trusted": true,
"collapsed": false
},
{
"metadata": {},
"cell_type": "code",
"input": "rm -rf /var/www/shared/bottom_trawl_fall_2011/*",
"prompt_number": 27,
"outputs": [],
"language": "python",
"trusted": true,
"collapsed": false
},
{
"metadata": {},
"cell_type": "code",
"input": "cp index.html EPU.geojson data_points.geojson /var/www/shared/bottom_trawl_fall_2011/",
"prompt_number": 28,
"outputs": [],
"language": "python",
"trusted": true,
"collapsed": false
},
{
"metadata": {},
"cell_type": "code",
"input": "print 'http://144.76.93.231/shared/bottom_trawl_fall_2011/'",
"prompt_number": 29,
"outputs": [
{
"output_type": "stream",
"text": "http://144.76.93.231/shared/bottom_trawl_fall_2011/\n",
"stream": "stdout"
}
],
"language": "python",
"trusted": true,
"collapsed": false
},
{
"metadata": {},
"cell_type": "code",
"input": "!gist -p index.html",
"prompt_number": 30,
"outputs": [
{
"output_type": "stream",
"text": "https://gist.github.com/34f9fa3792852e7e2f96\r\n",
"stream": "stdout"
}
],
"language": "python",
"trusted": true,
"collapsed": false
},
{
"metadata": {},
"cell_type": "code",
"input": "from IPython.display import HTML\nHTML('<iframe src=\"http://144.76.93.231/shared/bottom_trawl_fall_2011/\" width=700 height=550></iframe>')",
"prompt_number": 31,
"outputs": [
{
"text": "<IPython.core.display.HTML at 0x7ff8400d8610>",
"html": "<iframe src=\"http://144.76.93.231/shared/bottom_trawl_fall_2011/\" width=700 height=550></iframe>",
"output_type": "pyout",
"metadata": {},
"prompt_number": 31
}
],
"language": "python",
"trusted": true,
"collapsed": false
},
{
"metadata": {},
"cell_type": "code",
"input": "",
"prompt_number": 31,
"outputs": [],
"language": "python",
"trusted": true,
"collapsed": false
}
],
"metadata": {}
}
],
"metadata": {
"gist_id": "9087115",
"name": "",
"signature": "sha256:8458e18253002730801b5da1413d686b235fe5be09adf0a5d45e84d0d6205d36"
},
"nbformat": 3
}
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment