1# LibSQLStudio UI for Val Town
2
3
4
5
3This is a lightweight Blob Admin interface to view and debug your Blob data.
4
5
6
7Use this button to install the val:
3View and interact with your Val Town SQLite data. It's based off Steve's excellent [SQLite Admin](https://www.val.town/v/stevekrouse/sqlite_admin?v=46) val, adding the ability to run SQLite queries directly in the interface. This new version has a revised UI and that's heavily inspired by [LibSQL Studio](https://github.com/invisal/libsql-studio) by [invisal](https://github.com/invisal). This is now more an SPA, with tables, queries and results showing up on the same page.
4
5
6
7## Install
3Every weekday at 9am EDT send a message to our team's #engineering Discord channel to start a thread to remind us to do our standup.
4
5
6
7Slack version: @mikker/dailySlackRoundup
3This is a lightweight Blob Admin interface to view and debug your Blob data.
4
5
6
7Use this button to install the val:
16 published_date: number;
17 summary: string;
18 image_url: string;
19 content: null;
20 source_url: string;
5<p align=center>
6<a href="https://maxm-valtownchatgpt.web.val.run/">
7<img width=600 src="https://imagedelivery.net/iHX6Ovru0O7AjmyT5yZRoA/c180aba1-997a-4e40-615a-1ed8456b5a00/public">
8</a>
9</p>
46 {
47 src: "/icon.png",
48 type: "image/png",
49 sizes: "192x192",
50 },
51 {
52 src: "/icon-512.png",
53 type: "image/png",
54 sizes: "512x512",
55 },
13// Load our data tile from url, arraybuffer, or blob, so we can work with it:
14const tiff = await fromUrl("https://www.wpc.ncep.noaa.gov/heatrisk/data/HeatRisk_1_Mercator.tif");
15const image = await tiff.getImage(); // by default, the first image is read.
16
17// Convert a GPS coordinate to a pixel coordinate in our tile:
18
19const bbox = image.getBoundingBox();
20const pixelWidth = image.getWidth();
21const pixelHeight = image.getHeight();
22const bboxWidth = bbox[2] - bbox[0];
23const bboxHeight = bbox[3] - bbox[1];
35
36const window = [xPx, yPx, xPx + 1, yPx + 1];
37const data = await image.readRasters({ window });
38
39console.log(data);
40
41// const rasters = await image.readRasters();
42// const { width, height, [0]: raster } = rasters;
43
668 bio?: string | null;
669 /** @description The url for the user's profile picture */
670 profileImageUrl?: string | null;
671 }) & components["schemas"]["Author"];
672 BaseVal: {