|
174 | 174 | "outputs": [],
|
175 | 175 | "source": [
|
176 | 176 | "%matplotlib inline\n",
|
177 |
| - "# callback for handling results\n", |
178 |
| - "def demoCB(resource, result, index, total):\n", |
179 |
| - " global parms, results\n", |
180 |
| - " print(f'SlideRule processing request... [{index}/{total}] {resource} returned {len(result)} elevations\\r', end=\"\")\n", |
181 |
| - " if len(result) > 0:\n", |
182 |
| - " results.append(result)\n", |
| 177 | + "\n", |
| 178 | + "# callbacks for events and exceptions\n", |
| 179 | + "def demo_logeventrec(rec):\n", |
| 180 | + " print(f'{rec[\"attr\"]} \\r', end=\"\")\n", |
| 181 | + "\n", |
| 182 | + "def demo_exceptrec(rec):\n", |
| 183 | + " print(f'{rec[\"text\"]} \\r', end=\"\")\n", |
183 | 184 | "\n",
|
184 | 185 | "# build and transmit requests to SlideRule\n",
|
185 | 186 | "def runSlideRule():\n",
|
186 | 187 | " global url_textbox, parms, results\n",
|
187 | 188 | " \n",
|
188 | 189 | " # set the url for the sliderule service\n",
|
189 |
| - " if url_textbox.value == 'local':\n", |
190 |
| - " url = 'host.docker.internal'\n", |
191 |
| - " else:\n", |
192 |
| - " url = url_textbox.value\n", |
193 |
| - " icesat2.init(url, loglevel=logging.WARNING, max_resources=1000)\n", |
| 190 | + " icesat2.init(url_textbox.value, loglevel=logging.WARNING, max_resources=1000)\n", |
194 | 191 | "\n",
|
195 | 192 | " # sliderule asset and data release\n",
|
196 | 193 | " asset = SRwidgets.asset.value\n",
|
|
221 | 218 | "\n",
|
222 | 219 | " # clear existing geodataframe\n",
|
223 | 220 | " results = []\n",
|
224 |
| - " rsps = icesat2.__emptyframe()\n", |
| 221 | + " gdf = icesat2.__emptyframe()\n", |
225 | 222 | "\n",
|
226 | 223 | " # for each region of interest\n",
|
227 | 224 | " for poly in m.regions:\n",
|
228 | 225 | " # add polygon from map to sliderule parameters\n",
|
229 | 226 | " parms[\"poly\"] = poly \n",
|
230 | 227 | " # make the request to the SlideRule (ATL06-SR) endpoint\n",
|
231 | 228 | " # and pass it the request parameters to request ATL06 Data\n",
|
232 |
| - " icesat2.atl06p(parms, asset, callback=demoCB)\n", |
233 |
| - "\n", |
234 |
| - " if len(results) > 0:\n", |
235 |
| - " rsps = geopandas.pd.concat(results)\n", |
| 229 | + " gdf = gdf.append(icesat2.atl06p(parms, asset, callbacks={'eventrec': demo_logeventrec, 'exceptrec': demo_exceptrec}))\n", |
236 | 230 | " \n",
|
237 |
| - " return rsps\n", |
| 231 | + " return gdf\n", |
238 | 232 | "\n",
|
239 | 233 | "# run sliderule action\n",
|
240 | 234 | "def on_run_clicked(b):\n",
|
|
292 | 286 | "source": [
|
293 | 287 | "# url input text box\n",
|
294 | 288 | "url_textbox = widgets.Text(\n",
|
295 |
| - " value='local',\n", |
| 289 | + " value='slideruleearth.io',\n", |
296 | 290 | " placeholder='Input box for SlideRule url',\n",
|
297 | 291 | " description='URL:',\n",
|
298 | 292 | " disabled=False\n",
|
|
0 commit comments