See Geo Data Viewer πΊοΈ vscode extension for advanced Geo Data Analytics with kepler.gl
Leaflet Map πΊοΈ Notebook π cell β output renderer uses Leaflet πΏ JavaScript library for interactive preview of Geo datasets loaded in VSCode Notebooks π
- View Location data from
CSV
,XML
,JSON
, andGeoJSON
Notebook π cell β data output on the Leaflet πΏ map πΊοΈ with clustered markers, location information popups and hover tooltips - View Point, LineString, MultiLineString, Polygon, and MultiPolygon
GeoJSON
features with interactive point, lines, regions, andproperties
info display on geometry hover and click - REST Book π TypeScript Notebook π .NET Interactive Notebook π and Pyolite π Notebook Examples π
- View
JSON
,CSV
, andXML
data without Geo Location information inJSON
format in a scrollable text container withcode pre-wrap
for a quick copy/paste to other places:
Leaflet πΏ Map πΊοΈ Notebook π cell β data output Renderer supports loading Location data from the following output formats:
Data Mime Type | Location Data | Geo Location Processing Description |
---|---|---|
application/geo+json |
Point, LineString, MultiLineString, Polygon, MultiPolygon | GeoJSON Location Point coordinates are displyaed as clustered markers using leaflet.markercluster JavaScript library with custom marker cluster icons and config. Lines and polygons are added to the map and displayed via Leaflet πΏ GeoJSON Layer. See our leafletMap.js for more info about that setup. |
application/json |
Objects that contain geo location property pairs ending with: latitude /longitude , lat/lng , or lat/lng |
Flat JSON data objects and arrays are processed by our custom GeoConverter to extract Location information and covert loaded dataset to GeoJSON for display on the map. |
text/csv |
CSV data with column names in the 1st header row and columns ending with: latitude /longitude , lat/lng , or lat/lng |
CSV data is parsed with d3-dsv JavaScript library and converted to flat JSON data array and then to GeoJSON with our GeoConverter to display locations on the map. |
application/xml or text/xml |
XML data with root node children that contain attributes ending with: latitude /longitude , lat/lng , or lat/lng |
XML data is parsed with fast-xml-parser to load it into JSON data objects array and then processed with our GeoConverter to display locations on the map. XML data support is very alpha and experimental at this point, and might be removed later. |
application/ vnd.code.notebook.stdout or text/plain |
Location data as string in CSV , XML , JSON or GeoJSON data format as described above |
Text data typically comes from display and console.log() instructions in vscode notebooks. We try to parse text as JSON with JSON.parse() , as CSV with d3-dsv.csvParse(), and as XML with fast-xml-parser. If those parse methods fail, or provided notebook cell text output contains no location data we can extract, we display text output in a custom scrollable text container with code pre-wrap for a quick copy/paste to other places. Otherwise, loaded data is converted to GeoJSON with our GeoConverter for locations display on the map. |
Install and use Data Table πΈ for Notebooks π built-in Notebook π Examples to view Leaflet Map πΊοΈ with provided sample Geo datasets. You can access built-in Data Table πΈ Notebook π Examples via Data Table: Notebook Examples
command from View -> Command Palette...
-
Install .NET Install Tool for Extension Authors vscode extension
-
Install .NET Interactive Notebooks π vscode extension
-
Load USA Airports .NET Interactive Notebook π
-
Run All cells β:
-
Install TypeScript Notebooks π vscode extension
-
Download USA State Capitals
GeoJSON
data file -
Load USA State Capitals TypeScript Notebook π
-
Run All cells β to view that
GeoJSON
data output in a Leaflet πΏ Map πΊοΈ:
-
Install REST Book π vscode extension
-
Load World Cities REST Book π
-
Run All cells β
-
Click on
...
in the gutter ofGET
data output and change it to Leaflet Map πΊοΈ renderer:
Also try World Countries REST Book π example:
Or USA States REST Book π example:
-
Install Pyolite π vscode extension
-
Load Chicago Red Light Cameras Pyolite Notebook π
-
Run Python code cell and click on
...
->Choose Output Mimetype
->text/plain
Leaflet Map to view red light camera locations on the map πΊοΈ:
Recommended extensions for working with Interactive Notebooks π data πΈ charts π and geo πΊοΈ data formats in VSCode:
Extension | Description |
---|---|
REST Book | Notebook extension for running REST queries |
TypeScript Notebooks | TypeScript with Jupyter Notebooks π |
.NET Interactive Notebooks | .NET Interactive Jupyter Notebooks π |
Pyolite π | Pyodide π kernel for JupyterLite Notebooks π |
Observable JS | Observable JS compiler with Observable js and md code outline and previews. |
JS Notebook π Inspector π΅οΈ | Provides Interactive Preview of Observable JS Notebooks π, Notebook π nodes β & cells β source code |
Data Preivew πΈ | Data Preview πΈ extension for importing π€ viewing π slicing πͺ dicing π² charting π & exporting π₯ large JSON array/config, YAML, Apache Arrow, Avro & Excel data files |
Geo Data Viewer πΊοΈ | kepler.gl Geo Data Analytics tool to gen. some snazzy πΊοΈs w/0 Py π pyWidgets βοΈ pandas πΌ or react βοΈ |
Vega Viewer π | Provides Interactive Preview of Vega & Vega-Lite maps πΊοΈ & graphs π |
DeltaXML XPath Notebook π | XPath 3.1 Notebook for Visual Studio Code |
GeoJSON Snippets | Create geospatial objects using GeoJSON snippets |
Data Table πΈ | Data Table πΈ for Notebook π cell β data outputs |
See #LeafletMapView πΊοΈ tag on Twitter for the latest and greatest updates on this vscode extension and what's in store next.
$ git clone https://github.com/RandomFractals/vscode-leaflet
$ cd vscode-leaflet
$ npm install
$ npm run compile
$ code .
F5
to launch Leaflet Map πΊοΈ extension vscode debug session.
||
vscode-leaflet>vsce package
to generate VSIX
Leaflet Map πΊοΈ extension package with vsce from our latest for local dev install in vscode.
Any and all test, code or feedback contributions are welcome.
Open an issue or create a pull request to make this Leaflet Map πΊοΈ vscode extension work better for all.