Customizing for the Client: Introducing the New ReverseSearch operation
Customer service excellence is one of Service Objects’ four core values. We are committed to providing the highest level of customer service and one of the ways we achieve this is by listening to the needs of our clients and do all that we can to fulfill them. This has led to adding new features to existing operations, new customized operations, and even completely new services that provide functionality our clients need.
Recently, one of our clients was looking to identify the country from a set of latitude and longitude coordinates, their goal being to help identify fraud by comparing these coordinates to given information about a lead. We did not currently have this functionality but have been actively working on a bigger project to return more detailed information based on a latitude and longitude (such as localities, addresses, streets and points of interest in addition to the country). This new functionality was not ready, but we liked the need and saw a way to help a client, so we sat down to consider if we could streamline this new offering to fit the need and deliver it in a more timely manner.
Introducing a new operation – ReverseSearch
ReverseSearch is a new operation in our newest service: DOTS Address Geocode International. The ReverseSearch operation is currently under active development and ultimately take in latitude and longitude coordinates in decimal or degree minutes formats, a search radius to look in, a country, a max desired results limit, and a search type. SearchType will allow users to limit the level of detail they want returned by the service, be it addresses, streets, localities, points of interest, etc. Many of these data inputs will be more valuable to the finished operation when multiple levels of detail are available.
However, in order to facilitate the quick release of this operation for a client’s need, we focused on limiting the operation to a SearchType of country. For this functionality, the important inputs are latitude and longitude coordinates and a SearchType = “country”. While the future operation will be able to return multiple results, a given point can only be in one country and will only ever return one result based on a country search. Heavy testing showed this operation to be highly accurate at detecting even challenging points along the borders of various countries.
Here are a few examples, illustrating what the service would return. The bolded numbers are latitude and longitude numbers that could be plugged into Google Maps to see the area.
61.076690, 12.687619 – A coordinate in Sweden, feet from the Norwegian border. Pretty straightforward but also very remote. See the picture below:
45.820639, 9.004513 – A location in Switzerland right on the border with Italy. This is a location that is surrounded by Italy from the northwest to the northeast as seen by the picture below:
11.099670, -0.114720 – Here is a location in Togo, Africa just feet from the border with Ghana. However, this one is more interesting because the area is surrounded by different countries and actually separated from the main part of Ghana (there is a thin strip of land that connects it). See the picture below:
In this current iteration, the output is very simple but useful. There is a LocationInfo result that contains the centroid of the location. In this case that would be the centroid of the country represented by the input coordinates. AddressComponents contains the country by name and the country’s ISO2 and ISO3 values.
We were excited to take a project that is likely still a few months out from being completed and spin-off a useful update to quickly meet a client’s needs in just a few weeks.
Our customer-focused development strategy
Service Objects runs an agile development team: we have a roadmap for our normal development plans, but we are also able to pivot quickly as needed.
Month to month, we revisit our roadmap to consider what has changed, what is needed, and what we should continue working on. We are quick to respond to a client’s need – be it a tweak in a current API, or consideration of a new feature that would improve things for them.
So how can we help you? Feel free to reach out to us if you have any questions!