fabiochiu/medium-articles huggingface dataset:
Ampere’s Shower Power is a Bluetooth speaker that operates on water power
Tags: Home Tech, Chargers, Deals, Surveillance

Ampere’s Shower Power is a Bluetooth speaker that operates on water power Roger Jan 16·2 min read

Shower singers rejoice: There’s a Bluetooth speaker built just for you. The $100 Ampere Shower Power attaches to your showerhead and is powered by the water flowing through it.



Run the water and a small generator inside the speaker fires up and turns the speaker on. The generator simultaneously charges a small battery inside the speaker, allowing the music maker to run for up to 20 hours even if the water is turned off.



[ Further reading: The best Bluetooth speakers ]Conservation-minded singers will also appreciate the materials that go into the Shower Power’s construction: Its housing is fabricated entirely from recycled ocean plastic, further shrinking the product’s environmental footprint.



Ampere The Shower Power Bluetooth speaker can be used with both fixed and handheld showerheads.



Despite its diminutive dimensions—3 x 2 inches (HxW)—Ampere says the Shower Power produces impressive sound. A proprietary amplifier radiates sound evenly in all directions, and you can pair the Shower Power with Ampere’s other waterproof speaker—the Droplet—for a more immersive audio experience.



Ampere says it partnered with audio experts who have worked with well-known Bluetooth speaker manufacturers including Monster and Braven, because the company wanted to focus on audio quality.



The Shower Power will be available in three colors to coordinate with your showerhead: white, matte black, and chrome. Ampere also announced this week that it has an LED-light edition of the speaker in development. The Shower Power Shine produces a light show in sync with your music. That's expected to ship it later in 2021.



If you can’t wait for our review of the Shower Power, Ampere is taking pre-orders for the speaker through its crowd-funding campaign at Indiegogo. The speaker is expected to ship sometime in the first quarter of 2021.



Note: When you purchase something after clicking links in our articles, we may earn a small commission. Read our affiliate link policy for more details.
See you in Minneapolis for State of the Map US
By: Laura Gillen
Tags: Field Mapping, Maps, Openstreetmap, Geospatial, State Of The Map

Marc and Seth are headed to Minneapolis for State of the Map US this weekend. We’re excited to share what we’ve been working on and discuss new innovative approaches to open mapping and the future of OpenStreetMap with the communities in the US and around the world.

Over the years, we have taken to State of the Map US to demonstrate different components of our approach to using OSM-as-infrastructure to solve problems. This year, we’re unboxing our complete stack of open-source tools for setting up mapping workflows at any level:

Teams : collaborative team features for OSM users

collaborative team features for OSM users Observe : cross-platform mobile application for field data collection

cross-platform mobile application for field data collection Scoreboard : providing feedback to mapping teams by visualizing activity and rewarding contributions

providing feedback to mapping teams by visualizing activity and rewarding contributions OSM Seed: containerized ecosystem of OSM tools

These products will upgrade your mapping toolbox from collection to analysis. Our partners collect, validate, store, and analyze geospatial data at different scales. That data sometimes fits into the purpose and schema of public OSM, but occasionally that data must remain private and requires custom presets and features. In other cases, organizations that regularly make public contributions to the map still need a way of directing their members specifically towards institutional priorities and areas of expertise. Marc and Seth will dive into how you can address this both privately and publicly.

The team will be around Thursday through Sunday. Catch Marc talking about OSM Powerups, OSM Teams, and don’t miss Seth’s field mapping workshop using Observe. You can follow along on Twitter and ping Marc and Seth with questions or if you want to say hi over coffee and/or pizza 👋🏻☕️🍕

Minneapolis: September 6–8
I see this effect all the time with a range of methods that objectify what’s going on, which is…
By: Andy De Vale
Tags: Leadership, Culture, Maps

I see this effect all the time with a range of methods that objectify what’s going on, which is our basic approach to working with clients — create key visuals or other artefacts that hold up a mirror to them and the challenge they’re facing — and use that to enable positive change. This can range from the simple “draw the problem, then explain it using the picture” which I urge you to try, often the results are both uncanny and hilarious, to more structured approaches, maybe like various T.O.C. thinking tools or specific things we’ve come up with at WorkVisible.

Having a concrete artefact or key visual that people can point at and talk about both de-personalises the issue (giving a common enemy — the problem) and makes it much harder to talk at cross purposes or ignore the elephant, because it’s staring right back at you! Waffling and talking at cross purposes becomes much more difficult, and trying to hide from what everyone can see and point to is much more uncomfortable.

One of our global customers characterised this effect in two ways:

Key visuals accelerate groups of people getting to conversations that matter. People can just engage directly with the picture (or map). Their anecdotal experience was that instead of it taking about 20 minutes to get to valuable conversations — it was taking about 5 with a good key visual. Multiplied by the number of conversations needed to solve tough problems across an organisation that really adds up. Key visuals result in you having different conversations, better ones that get you to good outcomes, faster. Much as your post relays — people somehow see things that they just wouldn’t see otherwise, they come up with different observations and questions. My take on this is that being being forced into one linear narrative (slides, doc, rambling explanation) forces you to have a conversation based [selective] memory once you’ve read, heard or slept through the story. A key visual lets everyone see the whole problem, situation or challenge at once. Everyone in the room, at the same time can explore and test the idea from different angles. It’s just easier to talk about the same thing.

The impact of this isn’t so much measurable in time as in momentum and humanity. Better conversations and a growing co-created, discovered narrative propel people towards meaningful action. It helps people to work better together to make a difference.

This is a lot better than the observed alternative: stagnating in a soul-sucking infinite loop of tension and slowness by variously motivated variations of entrenched snake oil.

I’ve had a lot of fun with effect this but haven’t been using Wardley Maps — that’s about to change!
Launching OSM Teams
By: Marc Farra
Tags: Development Seed, Tasking Manager, Maps, Openstreetmap, API

Community has always been central to the success of OpenStreetMap. Yet the lack of a social framework in OSM means that finding communities through mapathons, local groups and mailing lists can be a disjointed process. We believe that providing a way for mappers to connect on a deeper and more engaged level across platforms will allow for better, more consistent contributions. Resources like the OSM Community Index, teams in OSMCha and OSM.org wikis are fantastic for local organizing, but are unable to share this information across the suite of available OpenStreetMap tools.

OSM Teams provides an easier way to connect across platforms, find mappers working in a similar domain, manage coordinated campaigns and tasks, and organize around shared goals. As an independent API, Teams is a lightweight “glue” service to create and manage team membership, which developers can integrate into their platforms to provide a unified team experience for users.

The API can be used with global OpenStreetMap or with containerized instances of OpenStreetMap, such as TeachOSM. Team members, ownership and features are respected in tools across the OSM ecosystem, no matter where the team is created.

Our beta launch allows you to:

create a team

add members and basic descriptions

get an API key to connect third party clients

We invite you to provide feedback and get involved at dev.mapping.team to join the beta, or check out our code and contribute to the osm-teams github repo!

We’re working on developing settings around team privacy (public, private, and unlisted teams) and providing options for open and closed teams. The system will soon allow you to search by team and user name, location and hashtags. In the future we’ll explore how to incorporate messaging boards and event services, and include dynamic team creation from a range of campaigns, locations, and hashtags.

For further reading, check out our Diary Entry. Ping me at @kamicut or my colleagues @geohacker @LaneGoodman if you have questions.
How to create a map chart in ReactJS using Highcharts
By: Conall Daly
Tags: Highmaps, Maps, Highcharts, Charts, JavaScript

I recently had to create a map chart using Highcharts. There several small issues that I encountered while doing so. The solutions for each individual issue were quite easy to find but I wanted to provide a single solution to implement maps in react-highcharts-official.

Demo: https://codesandbox.io/s/highcharts-react-simple-chart-ftcz3

Step 1: Install packages

npm install highcharts highcharts-react-official @highcharts/map-collection proj4

Step 2: Import packages into your project



import HighchartsReact from "highcharts-react-official";

import highchartsMap from "highcharts/modules/map";

import proj4 from "proj4";

import mapDataIE from " import Highcharts from "highcharts";import HighchartsReact from "highcharts-react-official";import highchartsMap from "highcharts/modules/map";import proj4 from "proj4";import mapDataIE from " @highcharts/map-collection /countries/ie/ie-all.geo.json";

I used a map of Ireland for my demo hence the importing of mapDataIE from the Highcharts map collection. You can find all of the available map collections here

Step 3: Add proj4

Proj4 is needed to draw bubbles on the map. Without it you will encounter the beautiful Highcharts error #21

if (typeof window !== "undefined") {

window.proj4 = window.proj4 || proj4;

}

Step 4: Create options for map

My chart contained a base map with an outline of Ireland along with some bubbles in random locations for demonstration purposes. There are many more options available in Highcharts, check out the API documentation for more.

const mapOptions = {

chart: {

map: 'countries/ie/ie-all'

},

title: {

text: 'Map Demo'

},

credits: {

enabled: false

},

mapNavigation: {

enabled: true

}, tooltip: {

headerFormat: '',

pointFormat: '<b>{point.freq}</b><br><b>{point.keyword}</b> <br>lat: {point.lat}, lon: {point.lon}'

},

series: [{

// Use the gb-all map with no data as a basemap

name: 'Basemap',

mapData: mapDataIE,

borderColor: '#A0A0A0',

nullColor: 'rgba(200, 200, 200, 0.3)',

showInLegend: false

}, {

// Specify points using lat/lon

type: 'mapbubble',

name: 'Cities',

color: '#4169E1',

data: [{ z: 10, keyword: "Galway", lat: 53.27, lon: -9.25 },

{ z: 4, keyword: "Dublin", lat: 53.27, lon: -6.25 }],

cursor: 'pointer',

point: {

events: {

click: function() {

console.log(this.keyword);

}

}

}

}]

}

Step 5: Initialize the model

I placed this line just below my imports.

highchartsMap(Highcharts);

Step 6: Put it all together

Pass the options to your component and voila you have a map chart.

We pass ‘mapChart’ as the constructor type so that Highmaps is used rather than Highcharts.
Data Visualization using Folium and GeoPandas
By: Rohan Bompally
Tags: Data Visualization, Maps, Geopandas, Folium, Python

To plot the Map with accidents and minor accidents I’m using GeoPandas and Folium. Let us start with GeoPands:

GeoPandas: GeoPandas is a Python package used to produce a tangible, visible output that is directly linked to the real world. First, we need to download the shapefile of the area you are considering. Here, I’m downloading a shapefile of texas.

!pip install descartes

import pandas as pd

import matplotlib.pyplot as plt

import geopandas as gdp

from shapely.geometry import Point, Polygon

%matplotlib inline

import descartes

import pickle

import numpy as np

Assigning the shapeFile:

street_map = gdp.read_file('tl_2015_48_prisecroads.shp')

Below is the shapeFile of Texas:

Now, we need to create points using latitudes and longitudes. A point is a single object that describes latitude and longitude of a data point. Make sure you specify the longitude first.

geometry = [Point(xy) for xy in zip(df['LON'], df['LAT'])

Create a GeoDataFrame to hold the GeoSeries.

df = gdp.GeoDataFrame(df, geometry = geometry)

Display the GeoPandas Map: GeoPands provides different properties for extensive visualizations. Here I’m using a red marker for accidents and a green marker for minor accidents. The marker size is 10.

fig, ax = plt.subplots(figsize = (15, 15))

street_map.plot(ax = ax, alpha = 0.4, color = "grey") df[df['EVENT_TYPE'] == 'accident'].plot(

ax = ax,

markersize = 10,

color = "red",

marker = 'o',

label = "accident"

) df[df['EVENT_TYPE'] == 'minor accident'].plot(

ax = ax,

markersize = 10,

color = "green",

marker = '^',

label = "minor accident"

) plt.legend(prop = {'size' : 15})

The result of GeoPandas:
How to create a simple tooltip in d3.js
By: Mila Frerichs
Tags: Tooltips, D3, Maps

How to hook up the tooltip to your element

Let’s use a circle as an example.

And let our data be ['a','b','c'] .

We use three events to handle the tooltip.

mouseover is used to handle the initial event. This is where we show the tooltip and change the content of the tooltip.

mouseout is used to hide the tooltip once the mouse is out of the Element.

mousemove is used to move the tooltip with the mouse.

d3.select('svg').selectAll('circle').data(data)

.join('circle')

.attr('r', 3)

.on('mouseover', function(e) {

})

.on('mouseout', function(e) {

})

.on('mousemove', function(e) {

})

Let’s look first at the mouseover :

on('mouseover', function(d) {

d3.select('#tooltip').style('opacity', 1).text(d)

})

We’re showing the tooltip element and setting the text to be the text of the data element that we’re hovering over.

In our example, if we hover over the first element the tooltip would have a as its text.

You could even do it more smoothly using transition

on('mouseover', function(d) {

d3.select('#tooltip')

.transition().duration(200)

.style('opacity', 1).text(d)

})

What this will accomplish is, that the tooltip will fade in instead of appear right away.

Next up is the mouseout :

on('mouseout', function() {

d3.select('#tooltip').style('opacity', 0)

})

We’re going to hide the tooltip once we leave that element.

And finally (which is optional) we look at mousemove :

on('mousemove', function() {

d3.select('#tooltip')

.style('left', d3.event.pageX + 'px')

.style('top', d3.event.pageY + 'px')

})

On the mousemove event we change the position of the tooltip to follow the mouse. Sometimes you want this, sometimes you don't. That's why it's optional. I usually add some padding to the position of the tooltip so that the cursor is not within the tooltip and the tooltip does not hide the element we’re looking at.

This is the complete code:
Android OpenStreetMap Offline Map Setup
By: Egemen Özogul
Tags: Android App Development, Offline Maps, Maps, Openstreetmap, Android

OSM Android Offline Map Setup

Hello guys, last month I had to do some research on Android Offline Map usage for my freelance project. I can say map usage is kind a annoying for developers and there are rare documentations about offline map setup. So I decided to publish a offline map library.

After my research I decided to use OSM. In this article I will explain how to download map-tiles and how to use them on any Android app with using OSM and MOBAC.

Lets start!

If you want to use an offline map in your application, the user must download the tile set before using the map. And ready to go tile sets are really large files. If you still want to use ready to go map tiles, you can visit openmaptiles.com.

What should we do, If we do not want to force user to download map tiles ?

First we need to download MOBAC (Mobile Atlas Creator) from here.

(Mobile Atlas Creator) from here. Open MOBAC by clicking start shell script and select Osmdroid SQLite and click OK

Usage of MOBAC is really simple. You can choose any map source from left panel. Select map source (selecting osm is better) and zoom-levels (15–14–13–12 are ideal) as you desire. If you choose all zoom levels, your download size will inrease. I do not recomend it. As you know Google warns you about your application size :)

Next step is selecting a map area. In this picture I selected part of Istanbul for my usage. You can roam on map source with right click. Select your area and press ‘Add selection’ button from left panel.

After selecting desired area, press ‘Create Atlas’. You download will start. I recomend you to check ‘Ignore download error and continue automatically’.

When your download is finished your SQLite map tiles will be ready under Mobile Atlas Creator 2.1.2\atlases folder. You just need to remane it to map.sqlite and that is all. Our offline map source is ready to use :) Lets jump to next step.

Now we can create our Android application. After creating our app, we need to copy our map.sqlite into assets folder.

You will probably ask me to why we are copying sqlite file under assets folder, right ? Let me explain. If you use OSM and there is no internet connection, OSM starts to search any offline data understorage/emulated/osmdroid/tiles direction. Our code will transfer this SQLite file into this direction. This is also explains why program asks storage permissions at first opening :)

We need to add AndroidOfflineMap dependicies into gradle.

And the simple usage is;

Lets run the application.

C’est ça!

Our offline map is ready to use !

You can go to github page from here.

Thanks for reading. If you have any further questions just ask :)
View, Layer and Source in OpenLayers-Part 2
By: Pankaj Kumar
Tags: Openlayers, Web Development, GIS, Maps, JavaScript

For Part-1, Click here

ol.View, ol.layer and ol.source are one of the foundations of OpenLayers application. You can not move ahead without understanding them. Let’s understand them with the help of following code.

ol.View: It is used to set the view of map. At line number 25 in above code snippet, our map object(defined at line number 18) accepts view property. The ol.View set the center and zoom level of map when it is loaded for the first time .

It is used to set the view of map. At line number 25 in above code snippet, our map object(defined at line number 18) accepts view property. The set the center and zoom level of map when it is loaded for the first time ol.layer: It is use to add layers(GIS data) to map. This is always used with ol.source. ol.layer defined at line number 21 under the map property layers. ol.layer has sub types for Raster, Vector, Tiles and other GIS data. For vector layer, we will use ol.layer.Vector, for raster layer, we will use ol.layer.Raster and so on. Here we are using, ol.layer.Tile for tile data. ol.layer is use to render the data on map.

It is use to add layers(GIS data) to map. This is always used with ol.layer defined at line number 21 under the map property layers. has sub types for Raster, Vector, Tiles and other GIS data. For vector layer, we will use for raster layer, we will use and so on. Here we are using, ol.layer.Tile for tile data. ol.layer is use to render the data on map. ol.source: It is use to store layer data. It is always used with ol.layer. Similar to ol.layer, source has also relevant sub types for respective ol.layer. For vector layer, we have ol.source.Vector, For tile layer, we will have ol.source.Tile and so on.

ol.View is use to set the view of map.

ol.source is use to store layer data and ol.layer is use to render the layer data on map which it gets from ol.source. Source and Layer are always used together.
My Favorite ArcGIS JavaScript API CodePens
By: Gavin Rehkemper
Tags: Arcgis, Programming, JavaScript, Maps

Originally posted on gavinr.com.

Here are some of my favorite code samples I’ve collected on my CodePen account over the past few years.

Centered Modal Geolocation Search

This CodePen shows a modal with the Search widget to allow a user to type in their location. When they search, the modal is hidden.

Live-Updating Protobuf Data on the Map

This CodePen gets current bus locations from a Protocol Buffer feed and shows them on the map using a client-side Feature Layer. I wrote more about this technique on a blog post.

3D Smooth Animated Zooming

This CodePen demonstrates the speed and easing options when moving between locations in the map.

Two-Column Map/Widget Layout

This CodePen uses the Split.js JavaScript package to create a draggable-sized sidebar with a widget (in this case, the Directions widget) in it.

Show Feature Popup on Mouse Hover

When the mouse is hovering over a feature, this CodePen shows the Popup — debounced so that it only shows up when the mouse pauses.

“Hold Ctrl to Zoom” When Scrolling Past the Map

Similar to Google Maps, in this CodePen if the user is scrolling past the map on the page it will not zoom, but will also show a message telling the user they can “Use Ctrl + scroll to zoom the map.”

Random Initial Location

This CodePen uses the JavaScript random function to calculate a random initial location for the map each time it loads.

Random Graphics

Using some similar logic from above, this CodePen allows the user to place a bunch of random point locations on the map every time a button is clicked.

Load the ArcGIS API for JavaScript with Import (ES Modules)

This CodePen automatically detects if you are loading an ESM (ES Modules) file on the page, so you can use Esri Loader’s ESM build to load a map into the page — no script tags required!

Add a Feature Layer via URL

This CodePen adds a simple form element where the user can copy/paste their own Feature Layer url and see it on the map.

Custom Widget Management

This CodePen shows how to use the “Container” property of ArcGIS API for JavaScript widgets to place them into the DOM in a specific place.

Add a Header to the Expand Widget

This CodePen adds a header to the Expand Widget, which might be useful for situations in which you want to add instructions of explanatory text in the Expand widget.

Animate Go To Extent
One giant leap for map-kind
Tags: Nga, Apollo 11, Maps, Geoint

How NGA predecessor agencies accomplished the unprecedented task of navigating NASA to the moon

By Jessica Daues, NGA Office of Corporate Communications

Graphics by Sarah Hall, NGA Office of Corporate Communications

Fifty years ago, in a brick ranch house off Lindbergh Boulevard in south St. Louis County, Dave Alspaugh sat quietly in front of his black-and-white TV screen, with his wife and 5-year-old daughter. It was the evening of July 20, 1969, and American Neil Armstrong was about to take his first step on the moon, with the help of machines and equipment designed for the task.

“I remember thinking, ‘I hope all this stuff works,’’’ says Alspaugh, then a cartographer with the Air Force Aeronautical Chart and Information Center. “Those guys had a lot of nerve to do what they did.”

The Apollo 11 astronauts surely did have nerve, but thanks to Alspaugh and his colleagues, they also had confidence in where they were and where they were going. The astronauts’ journey had been mapped intricately with the help of lunar cartographers, photo lab workers, artists and more from NGA predecessor organizations ACIC and the Army Map Service. Their efforts resulted in hundreds of lunar maps, charts and models in support of NASA’s mission to land an American on the moon.

Here’s a look back at some of the products produced by ACIC and AMS in the 1950s, ’60s and ’70s that helped Neil Armstrong — and 11 other Americans — take one small step on one large rock.
Identifying settlements of high risk of floods in Greater Monrovia, Liberia.
By: Ana Gonz
Tags: Climate Change, GIS, Liberia, Disaster Response, Maps

In the last decade, Monrovia has been severely affected by floods. In a city where large part of the population is homeless and most settlements are informal, the impacts of floods multiply the risk of sanitation issues and increase of disease transmission.

Flooding in Monrovia. Source: OPEN DRI

Identifying the settlements in Monrovia with higher risk to be affected by floods can help design and implement projects and policies that will help reduce the vulnerabilities such areas.

Methodology

Collected open access data from Human OpenStreets Map, UNOCHA, and satellite data. Used QGIS to explore three main variables:

Distance from water bodies

Elevation

Population Density

QGIS Map of distance to water bodies.

QGIS Data Elevation Model.

QGIS Population Density Model.

3. I used statistical and geoprocessing tools in QGIS to combine the value of the variables to quantify a normalized scale of risk (Lowest Risk: 0 , Highest Risk: 1).

4. The resultant risk values were mapped using Mapbox and Tableau to create an interactive visualization were we can identify settlements of high risk. (Click link below).
Weather app with Svelte 3
By: Rajitha Gunathilake
Tags: Front End Development, Maps, JavaScript, Svelte, Weather

final weather app

lately there was a little fuss about the svelte , with the rise of svelte 3 , released on April 21 2019.

but what is exactly svelte is? hmmmmmm…………….

“Svelte is a radical new approach to building user interfaces. Whereas traditional frameworks like React and Vue do the bulk of their work in the browser, Svelte shifts that work into a compile step that happens when you build your app.

Instead of using techniques like virtual DOM diffing, Svelte writes code that surgically updates the DOM when the state of your app changes.”

— svelte team.

So to start , svelte is not a UI framework like angular or vue nor a library like UI react.Svelte is a compiler .svelte comes with it’s own style, design pattern.with svelte you write styles markup and instructions . after that when you build the production application , svelte take your code and make a bundle.js file and other instruction files which does not have any extra code that is injected like other react vue or angular do. That bundle.js will be then shipped and execute on runtime. Because of that , svelte code is really small in size compared to others like react vue or angular.svelte have some interesting features that other competitors doesn't have.

bundle size is very small highly optimized code really fast in execution

So that’s it about svelte , now let’s explore svelte by making a simple weather app using svelte .

before we start , here is our road map —

create svelte app install axios for handle HTTP requests get API keys from our API providers wire everything up

Install nodejs if you don't have it.

Hello World

make a new folder and open it with your favorite code editor.

go to that folder with bash for linux , or cmd in windows

then run, it will get the svelte app cloned.

npx degit sveltejs/template svelteDemo

then a folder named svelteDemo will be created , go to that folder

cd svelteDemo

then run npm install to install the required dependencies
Last week a map made me cry
By: Linda Sandvik
Tags: Mapping, Sapmi, Indigenous People, Maps

letter written in Suortá, Viestterálas, July 15th

Last week I broke down in tears during class. Luckily, due to covid, the class was taking place digitally, so no one could see me. It was a map that caused it. I’m sure you’re all aware that maps can be political. This map hit me like a punch in the stomach. Has a map ever made you feel sick?

It was during a class entitled “Indigenous Peoples and land use governance issues”, which was part of ‘A Changing Arctic’ a master-level class hosted (digitally) by the University of Oslo International Summer School.

To the international students in my class, the map probably seems pretty innocent. It’s a top-down view of the arctic regions, with colourful blobs overlaid over Indigenous regions. Except there was a glaring mistake. The coast of Norway showed no coloured areas. The coloured blob depicting Sámi people stopped well before the coastal areas, indicating Sámi people belonging to Sweden, and small parts of Norway along the border to Sweden.

An entire Indigenous people, the sea-Sámi, completely wiped out. Removed from the discussion. The blob depicting Sámi people was obviously just meant as reindeer herding people, but even so, traditional summer pastures of reindeer herding Sámis stretched all the way to the coastline.

Perhaps what made it hurt so much, is that this was being presented by an expert in the field. A professor that teaches this to masters degree students. At the University of Oslo.

The professor did not make the map, but she did choose to use it. She chose this particular map for a slide meant to show where indigenous people come from.

In 1609 Dano-Norwegian lord Hartvig Bille wrote a letter where he claimed there were no Sámi people in all of Vesterålen. He also instituted a ban on Sámi clothing, in an attempt to hide the Sámi people there, and people who refused to dress “Norwegian” were forcibly removed. Similar forced displacements of people also took place in other places along the coast, like Senja.

To me, the map used in class is a lot like the letter from Bille. A total denial of sea-Sámi existence. Like we’re not there. Like we were never there.

Sea Sámi people exist. Sea Sámi people have lived on the coast of Norway for thousands of years. When Ottar visited England around the year 890, he told King Alfred about the sea Sámi. This is the first written source specifically mentioning sea Sámi, people who lived by hunting, fishing and making boats that were traded with Norwegians.

Despite many attempts by the Dano-Norwegian state and later the Norwegian state to erase us, sea Sámi people still exist. Maps of indigenous people in the arctic should reflect that.

In the poem “special rights that Norwegians’ have” by Ánde Somby, we find this line:

You don’t have to doubt that the extermination attempt that was made against your culture is over.

And I guess this is what I find so upsetting. Norwegianization is over. The government is no longer trying to erase us.

But still, we keep being erased:
Pre-Pinning Google Maps
By: Brent Bushnell
Tags: Fun, Los Angeles, Entertainment, Maps, Satellite

When we took over the site of our micro-amusement park in downtown Los Angeles, we couldn’t get over the size of the building. We wanted to fill it to the brim with experiences inside and out and the question kept coming up of what to do with the roof?! It’s the length of the city block so we had some serious space to work with. A garden for the kitchen? A deck for headquarters? Then it dawned on us. Paint a Google Maps pin big enough that it might just pre-pin everyone’s map when they update the satellite imagery. The Downtown LA Arts District is gathering some real momentum and we loved the idea of helping folks find where it is. So we got to work. Finished result and details of the process below.

UPDATE March 31, 2021: After 18 months, Google Maps updated their satellite imagery and we’re live!

Thank you!

Huge thanks to the team at Montage Paint for believing in this project from the beginning. They have an incredible company upcycling unused paint and refurbishing it for new uses.

Incredible artist/creative Grant Delgatty led the charge and saw it all the way through. Thank you Grant!

It could not have happened without the incredible volunteer “pin pals” that toiled all day on a Saturday. Thank you Kristina Boudreau, Sonia Castro, Katherine Lu, Joshua Ishihara, Dustin Rael, Joel Turner, Jill Smolin, Claire Nguyen, Erin Dean, Allison Lyons, Will Kistler, Julian Basurto, Salman Shah, Joshua Ishihara, Hunter Weiss, Leah Hanes and Mya Stark!

Behind the Scenes

Thank you Hunter Weiss for the time lapse and coverage

For this trick to work, we needed to angle the pin and the words to be angled perfectly north/south. Because our building isn’t perfectly N/S we needed a little math to get the offset just right so that when satellites update the images, it appears like a normal pin.

The original rendering created by our creative director Hector Alvarez

Updated rendering mindful of all the new A/C units we had to add to the park.

The empty building just as we started power washing all the buildup

The building was gridded into 10'x10' squares so we could estimate the proper placement of each element

Chalk lines for the grid

Painting begins!

By lunchtime we had a finished pin

But the color wasn’t quite right.

So we live re-mixed the paint on the roof, pouring black and red into orange until it was as close as can be

The new color once it dried happened to match Two Bit’s brand colors!

Much better
Book Map Update
By: Tess Stevens
Tags: Coding, Critical Making, Maps

Critical Making Class

Book Map Update

Photo by Syd Wachs on Unsplash

Over the next couple weeks I will be diving back into my book map project. As of now, my project proposal is remaining basically the same as detailed here. My further work experimenting with Mapbox and Strapi is detailed here.

What is it?

A website with the ability to search for recommended, location specific literature.

What problem am I solving?

People want to broaden their world views, but often don’t know where to start. Literature from other countries is a great way to learn about a new culture or area of the world.

What will it do?

You will be able to search the site to find books from certain areas.

How will it work?

I will use Strapi to structure my data and export the data using JSON, which I will then incorporate into the map functionality on the site

What challenges do you anticipate?

I anticipate all kinds of challenges! But especially figuring out how to use Strapi and Mapbox in tandem, and figuring out how to transfer my design ideas into code.

Where do you feel you are lacking in skill and need assistance?

Every part of this project is new territory to me, but I am planning to do a lot of online learning and ask for help when I need it.

In what ways will it relate to your other work in Entrepreneurial Design, Design Leadership, and UX Design?

I’m going to be incorporating a lot of the techniques we’ve learned in UX Design class (like how to create a design system, and how to map out my content model and content strategy). My overall idea relates to what we’ve been talking about in Design Leadership, to do with accepting our own vulnerabilities and learning to expand our perspectives beyond our own story. The skills we’ve been developing in Entrepreneurial Design will be useful as I adapt the project to mold to my own abilities and receive feedback and support from others.

What resources, skills, and technologies are needed to realize it?

Javascript, JSON, Strapi, Mapbox, HTML, CSS, other APIs (maybe)

What “materials” do you need to use?

My trusty computer!

What kind of fidelity do you want to achieve?

I’d like to create a functional site where you can input something in the search bar and get an output of data from my CMS. The UI will probably be fairly simplistic since my coding skills are very basic/nonexistent.

What I’ve done so far

I’ve been keeping a spreadsheet of book ideas which I’ve been updating with my own ideas and recommendations from other people. I’ve also created a Strapi account and begun to set up the data structure. And I’ve begun learning how to incorporate the Mapbox API into my code.

Next steps
The Commodore Floor Plan
By: Krispin Tsuda
Tags: Map, Condominiums, Floor, Commodore 64, Plan

The Commodore Developer The Commodore is developed by J BE Holdings Pte. Ltd. With over 17 years of experience, the renowned developer has developed an extensive portfolio of local residential and mixed-use developments, enriching the lives of homeowners through sustainable and quality home concepts. The attractive prices for The Commodore is bound to excite the future owners of this condominium.

The Commodore Location Map The Commodore is located along Canberra Drive in District 27, a short 2 minutes stroll to Canberra MRT. A plethora of leisure activities, good schools and shopping malls are within the vicinity. Drivers residing in The Commodore Floor Plan Condo Singapore will find convenience with the upcoming North-South Corridor nearby. You will find a myriad of amenities within proximity with the The Commodore Location Map.

The Commodore Sales Gallery Due to the recent social distancing measures, kindly arrange for an exclusive appointment here to receive Direct Developer Prices or call us at 61009684 to schedule an appointment to view The Commodore Condo Sales Gallery. No commission is required. Interested purchasers in The Commodore can book an appointment here to receive direct developer prices.

The Commodore is a new launch condominium situated at a prime location along Canberra Drive, comprising a total of 219 units ranging from 1 to S bedroom layouts, within a mere 2 minutes stroll to Canberra MRT. Several amenities and renowned schools can be reached within the vicinity of The Commodore.

You may read more about The Commodore here: The Commodore -The Pride Of Canberra.

Be updated with the latest information such as the The Commodore Floor Plans and The Commodore E-Brochure by registering your interest on The Commodore.
KML viewer and converter
By: Khyati Rathod
Tags: Csv, Kmz, Kml, Maps, Converter

KML file creates trouble. When KML file are shown people are worried about how to convert it into a compatible file format. If you want to convert KML file into KMZ, TopoJSON, GeoJSON, CSV, and GPX then in a market many of tool is available to convert a KML file. Now you can convert your KML file smartly and effortless.

There are one of the Apps are available in a play store and also the app store. One of the tools in an App store or play store is KML viewer and converter, that converts your KML file into KMZ, TopoJSON, GeoJSON, CSV, and GPX format this App is free available in the app store or play store.

What is KML?

KML stands for keyhole markup language this is an XML based file format and that is store geographical data to store and accurate content and is an Open Geographical Consortium (OGC) standard. KML file has a .KML file extension. That can include line, polygon, images. It is used to identify label location, find a camera angle, overlay texture and add HTML tag.

How to convert KML file with KML viewer and converter

KML viewer and converter are available on App store and play store free tool to convert your KML file. Here are some simple steps to convert your KML file into KMZ, TopoJSON, GeoJSON, CSV, and GPX. follow these simple steps and convert your KML file effortless.

Steps to convert the KML file

In KML viewer and converter you have to do the following steps and then you can convert your KML file easily by the use of KML viewer and converter tool.

Import your KML file from Dropbox or else in your google drive. In this step, many of your KML file and here you choose any one KML file When you choose your file here you can see your instant preview that how it shows look like. To convert the file choose your format KML to KMZ, GPX, Geojson, Topojson, CSV, KML choose any one format. Now click on share and you have done.

Those simple five steps are done and your KML ( keyhole markup language )file converted into your compatible file format. This is an easy way to convert your KML file. So what are you waiting for download it and try it for free.
San Francisco is for lovers
Tags: Tutorial, Movies, Mapping, Valentines Day, Maps

San Francisco’s iconic Victorian architecture, historic trolley cars, and bustling streets make it a desirable spot for romcoms. What better place to fall in love, lose it, and somehow get it back all in an hour and a half? I wanted to see just how often San Francisco was the backdrop for romance movies, so using data from SFdata and FilmSF I mapped film locations of films ranging from classic romcom to mystery. It turns out, if you’ve got a go-to romance movie you’re planning on watching this Valentine’s day, it probably has at least one scene shot in San Francisco.

Styling the map

A lot of movies on the list are light-hearted romcoms, so I started with a Monochrome map style of a soft pink to keep the airy feeling. I added green and blue back into the map using the color palette to keep track of the map’s simplicity. Distinguishing every landuse would have been too busy for this map style and distracted from the iconography.

To keep the focus on the movie location icons, I removed points of interest icons and highway shields and exit signs. For any data visualization basemap, it’s best to strike a balance between a simple canvas and providing just enough contextual information for the user to understand the significance of the data.

Since the map is lightly colored and the text halos are white, I increased text legibility by changing the halo blur to 0 and slightly increasing the halo-width. This creates a crisper edge around the text.

Creating the icons

There are many ways to represent data: graduated circles, iconography, clusters, and so on. Because this dataset is relatively small and thematic, I decided to represent the data using iconography that matches the movies or genres themselves.
COG Talk 4bis — Montreal LIDAR dataset
By: Vincent Sarago
Tags: Satellite Imagery, Raster, Earth Observation, Cog, Maps

COG Talk 4bis — Montreal LIDAR dataset

Earlier this week in COG Talk 4 we shared how to do large scale processing using Cloud Optimized GeoTIFF and mosaicJSON. Here is another example of how to create simple visualization tools when you store the data as Cloud Optimized GeoTIFF.

Montreal LIDAR dataset

Ref: http://donnees.ville.montreal.qc.ca/dataset/lidar-aerien-2015

Format: .LAZ (Point Cloud)

Coverage of the Montreal opendata LIDAR dataset.

The dataset is formed of 684 different COG created from .LAZ file using a modified version of our cogeo-watchbot-light stack. Each COG has a 25cm pixel resolution and two bands (Min and Max, see PDAL docs).

See it live: https://cogeo.xyz/projects/MTLidar/index.html

We can visualize the mosaicJSON using cogeo-mosaic-tiler stack.

Using rio-tiler-mvt, introduced in COG Talk part 3, we can also create Vector Tiles from the COGs directly.

.LAZ → COG → MosaicJSON

Here are the steps we took to translate the .LAZ to COG and create the mosaicJSON:
Coronavirus maps and charts: A visual guide to the outbreak
By: Mark Tang
Tags: Data, Visualization, Virus, Maps

The Novel coronavirus now named Covid-19 by the WHO, originating in china has now spread more than 77 countries. Including china now every country is at an alarming stage across the world. A total of 93,200 confirmed cases of Coronavirus reported including 3204 death cases from various other corners of the globe including Italy, South Korea, Japan, US, France, Spain, Australia, Taiwan, Iran, etc, so far.

What are the symptoms of this noble coronavirus?

This virus can cause pneumonia at its first stage. Coughs, fever, and breathing difficulties are the main symptoms of the coronavirus. Organ failure is also reported in some severe cases. The normal antibiotics drugs we use found not effective against this virus. The recovery of the patient completely depends upon his strength of the immune system and the people who died with this virus are with the weak immune system and were already in poor health condition.

The vast majority of cases are reported are in china, but now the virus is spreading all across the globe. Here are the maps and highchart interactive dashboards that will you understand what’s going on around.

Cases outside China continue to grow:

Till now more than 80,000 people have been affected by the coronavirus is China and the number is being rapidly growing with each passing day. Outside china other countries are also at high alert including South Korea where 5,000 cases, Iran- 3,000 and in Italy more than 2,000 were reported so far. The cases in the UK also jumped, daily confirmed cases of coronavirus in the UK are between 30 to 35.

At the same time, the Caribbean, and Latin America many cases have been reported in Mexico, Argentina, Chile, Ecuador, Brazil, and the Dominican Republic. Many US states and cities have declared states of emergency with or high-level alert in preparation for a greater outbreak. The countries with no confirmed cases are also not taking any chance.
The Sopranos episode review — 1.5 — College
By: Patrick J Mullen
Tags: The Sopranos, HBO, Television, Drama, TV

Original air date: February 7, 1999

Director: Allen Coulter

Writers: James Manos, Jr. and David Chase

Rating: 10/10

This episode is fantastic stuff. I’ve seen this on lists of all time best episodes of The Sopranos, and I can see why, though it’s probably my second favorite so far.

Tony takes his daughter to go look at colleges, and she confronts him over his criminal activities. He “comes clean” by saying that some of his income has come from illegal gambling, but he insists that’s the full extent of it.

However, even after he’s done that, he recognizes someone who might want to kill him, so he’s trying to deal with that, and deal with it in a way that his daughter doesn’t learn anything. It’s incredibly compelling.

Meanwhile, with Carmela not feeling well, she has Father Phil over. She gets a phone call from Dr. Melfi, and is incredibly upset that Tony wasn’t honest with her about his therapist being a woman, which she thinks means he’s having an affair with her. All the while, she nearly has an affair with the priest.

Though technically nothing happenes, we’re clearly in very unethical territory here, though she comes clean to Tony about it.

This is a fantastic episode for sure, with the Tony stuff being the more compelling plot, but not by much.
Freddy’s Nightmares episode review — 2.6 — Lucky Stiff
By: Patrick J Mullen
Tags: Horror, Television, 1980s, Freddy Krueger, TV

Original air date: November 6, 1989

Director: William Malone

Writer: David Braff

Rating: 5/10

Lenny Nordhoff (David L. Lander) is an unemployed man with dreams of winning the lottery, who’s married to Greta (Mary Crosby), who’s cheating on him.

Things aren’t going well, of course, and while she’s cheating on him, she finds out that he’s dead. She later finds out that the latest winning lottery numbers were his winning numbers, meaning that he was buried with the winning lottery ticket. She and her new husband break in to the crypt to take it.

There’s the obligatory “oh shit he’s still alive” moment, which is just a dream.

Anyways, after Greta gets the ticket, she locks her new husband inside the coffin, having no intent to share her winnings.

In the next story, we continue to follow her, as she lives luxuriously until she starts getting harassed by someone claiming to be her husband.

So while it’s nice to have two stories that fit so well together, neither one is all that compelling. This is a fairly weak episode, and I’m not quite sure why. The dream sequences seem a bit uninspired, for one.