Integrating Stripe with BigQuery

One of the projects that I mentioned in my post a couple of weeks ago was the migration of our billing system to Stripe. Stripe is widely used for billing on the internet, in both SaaS and non-SaaS use cases. A while back, I wrote about the general limitations of IPaaS platforms in terms of flexibility and Stripe exposes a lot of these.

One particular product did not expose all of the object type we needed to extract from Stripe. Another simply did not sync all of the object types it claimed to be syncing. A third had a clear bug in which it wrote the current date/time into all date fields. In each of these cases, we were left to file support tickets and wait. I moved on.

Read more

BigQuery and Koop

As I continued my experimentation with BigQuery, I found myself wanting to more easily use it with my regular GIS tool set. BigQuery has a lot of powerful analytic capability, but the SQL console is intimidating for the casual user and the GeoViewer tool is fairly limited. As I began digging deeper in my previous … Read more

Routing with BigQuery and ArcGIS Platform APIs

This post is a continuation of last month’s post about analyzing location change with BigQuery. At the end of that post, I was already thinking of ways to extend the analysis and visualization. I decided to take the opportunity to explore Esri’s recently-announced ArcGIS Platform APIs. These APIs are the same that have been available via an AGOL subscription or an ELA, but they are now presented in a consumption-based model, similar to Google or Mapbox APIs, that allow you to make use of them without having to make a larger up-front commitment to the rest of the ArcGIS stack. Esri’s basemaps and their location services have always been high-quality, so it’s nice to see them available under a more accessible model.

Decided to use the Esri routing API to visualize possible routes between the various locations of the “Sample Asset” from my last post. I chose to build a very simple Node API to access the BigQuery data and use that API from a simple page that calls the Esri API and displays the output on a Leaflet map. The first thing I needed to do was add a little extra SQL in BigQuery to return coordinates in a format consumable by the Esri API. The raw API expects coordinates delimited as such:

-76.519989228,38.303696474000006;-76.695443826137989,38.376038894414251;-76.635015354340467,38.29745667728772;-76.519989228,38.303696474000006;-76.695443826137989,38.376038894414251;-76.635015354340467,38.29745667728772;-76.519989228,38.303696474000006;-76.495959193,38.236694621

Read more

Watching COVID-19 Data for Your County with PostgreSQL and Node

I have addressed the topic of triggered notifications a couple of times on this blog previously. I’ve taken the opportunity to apply the technique to a current use case – the ability to get notifications whenever the confirmed count of COVID-19 cases changes in my county or surrounding ones.

I am basing this workflow on the Johns Hopkins University county-level data available as an ArcGIS feature service here: https://services1.arcgis.com/0MSEUqKaxRlEPj5g/arcgis/rest/services/ncov_cases_US/FeatureServer

Using the “f=geojson” parameter, it is possible to download the data in a format (GeoJSON) that is readily consumable by OGR. As a result, I was able to initiate a core workflow using the following steps.

Read more

A Perhaps-Premature Recap of My Year

The calendar is inching up on the nine-year anniversary of this blog and it’s starting to feel like it’s been that long since I’ve actually written anything. It’s been an interesting year and the last couple of months have been no exception. It’s probably a bit early for a year-end recap but I feel the need to clear my mind so I can focus on what comes next.

I started the year splitting my time between two projects: one was implementing a geospatial data publication workflow for a US federal civilian agency. I was part of a large team and my role was to work out the ingest, registration, publication of all data types. That project got me elbow-deep in Node, PostGIS, GeoServer, and also gave me some exposure to the Voyager search API. I found the whole experience pretty exciting as we had a really strong implementation team. As a result, I learned a lot and , hopefully, was able to teach a few things along the way. It was the kind of experience you hope every project can be. My involvement wound down toward the middle of the year.

dollins_st2

Read more

Working with Node and the GeoServer REST Configuration API

I’ve been working with a mix of technologies lately that includes Node and GeoServer. I’ve recently begun integrating the two by using Node to manipulate GeoServer’s configuration through the REST API it provides for that purpose. One task I’ve been working on automating is the registration of vector layers stored in PostGIS with GeoServer to make them available via WMS, WFS, and the various other services provided by GeoServer.

geoserver_admin

Read more

Getting Reacquainted With GeoServer

Over the past few weeks, I’ve had the opportunity to get back in touch with GeoServer. It used to figure more prominently in my toolbox but I got away from it because it simply didn’t factor into most of my project work. Time being a limited resource, it had to go on a shelf.

I’m working with GeoServer 2.6.1 this time around. I always found it to be easy to set up but it think the initial installation borders on trivial now. I was setting it up on an Ubuntu EC2 instance so the entire process was conducted from the command line. From start to finish, it took me about ten minutes, half of which was Tomcat configuration.

Read more