How to create location search widgets for JS web apps?

The Search API, custom JavaScript library from the The United States Geological Survey will help coders to create location widgets
03 August 2017   1314

The United States Geological Survey released is a custom JavaScript library - Search API. This is reported by the USGS official website

It can be used for creating a location search widget in a webpage, with connection to a web map. The widget connects to a database created for the API, to find quickly and suggest locations as the user enters text to navigate to areas of interest.

The goal of this solution is to provide a search tool for locations contained in the Geographic Names Information System database, the official United States government registry of places names.

The GNIS contains abundant information about the official names for places, features and areas in the 50 states, District of Columbia and territories and outlying areas of the U.S., such as Puerto Rico, Guam and the U.S. Virgin Islands. It is exciting to see the new USGS Search API leverage these data and provide new opportunities for the public to access GNIS and expand its use into a wide array of web products.

Lou Yost
Executive secretary, U.S. Board on Geographic Names

The Search Api can be also used for a hydrologic applications, excludes commercial locations.

Main features:

  • Framework Independence: The widget can be used in conjunction with Leaflet, ESRI JSAPI or other web-mapping frameworks.
  • Database Richness: Beyond cities and towns, GNIS is the authoritative place name registry for the nation that also includes streams, lakes, dams, basins, parks, bridges, hospitals, schools and much more.
  • Suggestion Organization: Suggestions are grouped by category, making it easier to find what you are looking for.
  • Automatic State Filtering: An entry ending in a two-character U.S. state abbreviation automatically restricts suggestions to that state.
  • Wild Card Support: Wild card matching is performed on entries containing one or more asterisks.
  • Latitude-Longitude Recognition: Entries such as "40.1 -90.2" are automatically identified as geographic coordinates in decimal form.
  • Customizable Behavior: Many options are available for configuring the widget, such as the search area and types of suggestions to include.
  • Customizable Appearance: A structured CSS class system allows flexible customization of widget appearance.

Search API
Search API

API contains about 3.7M location, from different resources including:

  • GNIS Places: Approximately 2.1 million places registered with the Geographic Names Information System.
  • USGS Monitoring Stations: Over 1.4 million USGS surface water, groundwater, spring, atmospheric and other sites in the USGS National Water Information System.
  • Hydrologic Units: Over 120,000 two-, four-, six-, eight-, 10- and 12-digit hydrologic unit codes.
  • Zip Codes: Over 30,000 5-digit postal (zip) codes compiled from the ESRI USA ZIP Code Areas dataset.
  • Area Codes: About 290 three-digit telephone area codes for the nation.
  • U.S. States: The 50 U.S. states plus the District of Columbia, the U.S. Virgin Islands and Puerto Rico.

You can learn more at the official website of USGS.

What's new in IntelliJ IDEA 2018.2?

New version of popular IDE improved Spring and Spring Boot support
18 July 2018   78

The new version of IDE IntelliJ IDEA from JetBrains under the number 2018.2 has introduced several functions for developers using Spring and Spring Boot frameworks. Among the innovations: support for Spring Integration, runtime diagrams, library bin management and many minor fixes and improvements.

New features of IntelliJ IDEA

Now you can visualize the components in the system using the new Spring Integration diagram. All versions above 5.0 are supported.

Spring Integratio Diagram
Spring Integration Diagram

It shows all the gateways, channels and bridges of the application, regardless of whether they are configured using Java or XML annotations.

The IDE also received code completion and navigation for such integration annotations as @BridgeTo/From and @EnablePublisher:

Integration Annotations
Integration Annotations

In the new version of IntelliJ IDEA, you can view the dependencies during the execution of the Spring Boot application as a diagram through the control panel. To do this, go to the "Endpoints" section and enable the "Diagram Mode" function:

Runtime Dependencies
Runtime Dependencies

If there are too many beans in the project, the non-user codes can be disabled using the new "Show / Hide Library Beans" switch:

Show / Hide library beans
Show / Hide library beans

In addition, in 2018.2, you can start, modify, and test the display of HTTP requests in the "Endpoints" tab:

HTTP request
HTTP request

A complete list of improvements and changes is available in the technical update document. According to the developers, a lot of work has been done to improve performance in large projects.