Tumblelog by Soup.io
Newer posts are loading.
You are at the newest post.
Click here to check if anything new just came in.

June 15 2017

10:48

Counting Gray Seals with Google Earth Imagery

We recently came across this article about a scientific study of the populations grey seals in the North Atlantic that used Google Earth imagery to do a census.

One of the locations mentioned in the article is Muskeget Island, Massachusetts. We did manage to find the seals, but were also impressed by how much the sand bars change over time:

.sliderInput{border:0; color:#006FBA; font-weight:bold;background-color: white;padding:0px;box-shadow:none;.slider{width:95%;}]]>

Speed in milliseconds per image:
Moving sandbars at Muskeget Island, Massachusetts.

 

June 14 2017

19:00
Direct your own movies in Toontastic 3D with our new Cars 3 and Fruit Ninja themes!
19:00
Direct your own movies in Toontastic 3D with our new Cars 3 and Fruit Ninja themes!
13:50

Excel to KML Two Way Converter

In January we created a simple KML converter that takes a KML file and produces a csv file that is easily opened with Microsoft Excel. Recently GEB reader David Kettle asked whether it would be possible to go both ways.

So, we have used an open source tool called SheetJS for reading and writing Excel files in JavaScript and have made a two way process.

To use it, simply upload a KML or KMZ file below and it will extract all the placemarks, paths or polygons into an Excel file. You can then edit the data in the Excel file then upload that and it will convert it back to a KML file.

input[type="file"]{padding:4px;color:black}


 

Notes:
All styles, folders etc are lost in the conversion.
It only extracts the outer edge of a polygon. If there are ‘cutouts’ then they will be ignored.
It doesn’t currently extract folder names. We will consider adding that as a feature in the future.
It extracts the longitude/latitude/altitude data in the format used in KML rather than separating them into columns. This was to make it easier to handle both points and polygons.
When we tried it on very large polygons, Excel gave an error – most likely caused by a limit on the amount of text allowed in a single cell.

The intent was not to create a universal converter but to provide a very simply utility, and to give those with some programming knowledge a starting point if they wish to create something more complex. Feel free to use any of the code used in the page. The original KML API can be found here The version used in the page was run through Babel to make it compatible with older browsers.

The post Excel to KML Two Way Converter appeared first on Google Earth Blog.

June 13 2017

18:17

Chrome 60 Beta: Paint Timing API, CSS font-display, and Credential Management API improvements

Unless otherwise noted, changes described below apply to the newest Chrome Beta channel release for Android, Chrome OS, Linux, Mac, and Windows.

Paint Timing API

While no generalized metric perfectly captures when a page is loaded in all cases, First Paint and First Contentful Paint are invaluable numbers to measure critical user moments during loading. To give developers better insight into their site’s loading performance, the new Paint Timing API exposes metrics that capture First Paint and First Contentful Paint.
Screen Shot 2017-06-08 at 8.57.03 AM.png
Stills of a First Paint and First Contentful Paint for Google.com, from “Web Performance: Leveraging the Metrics that Most Affect User Experience” at Google I/O 2017

CSS font-display

Downloadable web fonts are often used to create more visually rich web experiences. Historically, Chrome has delayed rendering text until the specified font is available, to ensure visual correctness. However, downloading a font can take as long as several seconds on a poor connection, significantly delaying the time until a user sees content. Chrome now supports the CSS @font-face descriptor and corresponding font-display property , allowing developers to specify how and when Chrome displays text content while downloading fonts.

Credential Management API improvements

In response to developer feedback and to make the Credential Management API easier to use for all sites, the need for a custom fetch() to access the stored password is now deprecated. Starting in Chrome 60, the user’s password will now be returned directly as part of the PasswordCredential .

In addition, we've made a series of changes to better align with the work being done in the Web Authentication Working Group . This includes the deprecation of requireUserMediation , which has been renamed to preventSilentAccess .

Other features in this release

  • The Payment Request API is now supported on desktop versions of Chrome.
  • Sites can now collect payments through native Android payment apps using the Payment Request API .
  • Object rest & spread properties are now supported, making it simpler to merge and shallow-clone objects and implement various immutable object patterns.
  • The new Web Budget API enables sites with the Push Notification permission to send a limited number of push messages that trigger background work such as syncing data or dismissing notifications the user has handled on another device, without the need to show a user-visible notification.
  • The new Web Push Encryption format is now supported and PushManager.supportedContentEncodings can be used to detect where it can be used.
  • PushSubscription.expirationTime is now available, notifying sites when and if a subscription will expire.
  • To improve performance and predictability,   pointermove and mousemove events are now delivered once per AnimationFrame , matching the current functionality of scroll and TouchEvents .
  • The :focus-within CSS pseudo-class is now available, affecting any element the :focus pseudo-class affects, as well as any element with a descendant affected by :focus .
  • The CSS frames timing function is now available, making it useful for animation loops where the animation should display all frames for exactly the same length, including its first and last frames.
  • To provide an enriched way to capture editing actions, InputEvent now allows user input to be managed by script, enhancing the details provided to editable elements.  
  • To increase security, a BeforeUnload dialog triggered when the user leaves a site will now only be shown if the frame attempting to display it has ever received a user gesture or user interaction, though the BeforeUnloadEvent will still be dispatched regardless.
  • VP9, an open and royalty-free video coding format, can now be used with the MP4 (ISO BMFF) container and requires the new VP9 string format mentioned below.
  • A new VP9 string format is now available and accepted by various media-related APIs , enabling developers to describe the encoding properties that are common in video codecs, but are not yet exposed.

Deprecations and interoperability improvements

  • getElementsByTagName() now accepts qualified names in response to an update to the DOM specification .
  • /deep/ now behaves like the descendant combinator , which is effectively a no-op.
  • To improve user experience , calls to Navigator.vibrate() now immediately return false if the user hasn't explicitly tapped on the frame or any embedded frame, matching existing behavior for cross-origin iframes .
  • WEBKIT_KEYFRAME_RULE and WEBKIT_KEYFRAMES_RULE have been removed in favor of the unprefixed standardized APIs, KEYFRAME_RULE and KEYFRAMES_RULE .
  • Support for non-standard WebKitAnimationEvent and WebKitTransitionEvent has been removed from document.createEvent() .
  • To better align with spec , NodeIterator.filter and TreeWalker.filter no longer wrap JavaScript objects, and .prototype has been removed from window.NodeFilter .
  • RTCPeerConnection.getStreamById() is being removed, and a polyfill is recommended as a replacement.
  • SVGPathElement.getPathSegAtLength() has been deprecated as it has been removed from the SVGPathElement spec.
  • Headers.prototype.getAll() has been removed from the Fetch API in line with its removal from the spec.


Posted by Shubhie Panicker, Paint Timing Promoter
17:00
Is Project Fi right for you?
17:00
Is Project Fi right for you?
15:00
More Levels, and more way to contribute for Local Guides
15:00
More Levels, and more way to contribute for Local Guides
12:30

Bidi Bidi Refugee Settlement in Google Earth

When looking through the latest imagery update in Google Earth, we came across some images in northern Uganda. They were captured by DigitalGlobe as part of their ‘FirstLook’ program and relate to the movement of refugees from South Sudan into Uganda. There is ongoing violence in South Sudan which has in turn created a famine in the region. The combination is causing many people to flee the country. According to Wikipedia, the refugee camp is named Bidi Bidi, and with over 270,000 residents is the largest refugee settlement in the world.

.sliders img{max-width:none; }]]>
before
after

Before and after of one of the Bidi Bidi camps showing that it was not there in 2013.

Unfortunately the DigitalGlobe image does not capture the full extent of the Bidi Bidi camps and only shows the southern edge of one new section that has appeared since

before
after

Before and after of another of the Bidi Bidi camps showing that it appeared between August 30th, 2016 and December 11th, 2016.

So, we downloaded a recent Sentinel-2 image of the region and were able to identify a number of camps that have appeared at various times starting in 2014. We also had a look at this list of the worlds largest refugee camps and were able to locate most of them.

Refugee camps are quite distinctive in satellite imagery. They typically have a large grid pattern of road networks which are not typical of that part of Africa. Small towns in the region typically grow slowly and more organically resulting in a less ordered layout than refugee settlements which are planned and built in short bursts.

Some of the largest refugee camps are a collection of five camps in Kenya near the border with Somalia. The southernmost camp was clearly over-planned with a vast network of streets laid out but only a small portion ever occupied:


One of the refugee camps near Dadaab, Kenya. The whole grid is 5 km x 4 km

To see all the camps we found in Google Earth, download this KML file

You may also find this YouTube video on various conflicts and famines in the region interesting.

10:00
Using data to change the conversation about race in America
10:00
Using data to change the conversation about race in America

June 12 2017

17:45
Finding the Qibla in augmented reality
17:45
Finding the Qibla in augmented reality
17:00
Four signs you’re wasting time at work and how G Suite can help
17:00
Four signs you’re wasting time at work and how G Suite can help
17:00
Four signs you’re wasting time at work and how G Suite can help
17:00
Four signs you’re wasting time at work and how G Suite can help
15:00
Brush up on Gboard’s latest tips and tricks
15:00
Using machine learning to help people make smart decisions about solar energy
Older posts are this way If this message doesn't go away, click anywhere on the page to continue loading posts.
Could not load more posts
Maybe Soup is currently being updated? I'll try again automatically in a few seconds...
Just a second, loading more posts...
You've reached the end.

Don't be the product, buy the product!

Schweinderl