The Bolts parse the message and create and write
SimpleFeatures. In the prepare method of the Bolt class,
we grab the connection parameters that were initialized in the
constructor and get a handle on a FeatureWriter:

The input to the Bolt‘s execute method is a Tuple containing a
String. We split the String on ‘%’ to get individual points. For
each point, we split on commas to extract the attributes. We parse the
latitude and longitude field to set the default geometry of our
SimpleFeature. Note that OSM latitude and longitude values are
stored as integers that must be divided by 107.

Log into GeoServer using your credentials. Click “Stores” in the
left-hand gutter and “Add new Store”. If you do not see the Accumulo
Data Store listed under Vector Data Sources, ensure the plugin and
dependencies are in the right directory and restart GeoServer.

Select the Accumulo(GeoMesa) vector data source and configure it
using the command line arguments you used above. Use geomesa as the
workspace - if you use something different, you will need to modify the
WMS requests below.

Leave all other fields empty or with the default value.

Click “Save” and GeoServer will search your data store for any available
feature types.

GeoServer should find the OSM feature type and present it as a layer
that can be published. Click on the “Publish” link. You will be taken to
the Edit Layer screen.

You can leave most fields as default. In the Data pane, you’ll need to
enter values for the bounding boxes. In this case, you can click on the
links to compute these values from the data. Click “Save”.

Although this quickstart uses a static file for input, Storm excels at
reading real time data. As data comes in, the Storm topology can parse
it and ingest it into GeoMesa for retrieval. Additional analytics can be
run on the data inside the topology to further enhance or inform the
output. For real time visualization, GeoMesa also supports maps powered
by Kafka instead of Accumulo. See the GeoMesa Kafka Quick Start
tutorial for more details.