Geoprocessing: Difference between revisions

From Wildsong
Jump to navigationJump to search
Brian Wilson (talk | contribs)
Brian Wilson (talk | contribs)
Line 32: Line 32:


The Turf documentation wins though. Go to [http://turfjs.org/getting-started Getting Started]
The Turf documentation wins though. Go to [http://turfjs.org/getting-started Getting Started]
'''Except it fails to mention that all coordinates in Turf have to be in WGS84.''' This is a minor pain.
Note also the default units in "buffer" is '''"kilometers"''' not "meters", what a surprise!


== Server-based geoprocessing ==
== Server-based geoprocessing ==

Revision as of 19:20, 19 April 2019

In this case "Geoprocessing" means doing specialized spatial processing on data as required in my web maps work.

This page used to cover geoprocessing in the ESRI world, and it was mostly about tips for Python+ArcPy. I rewrote it to document WPS (Web Processing Service) first in GeoServer and later on in ArcGIS Enterprise.

I have separate pages on building and using GDAL and PostGIS, see the GIS category.

I built a Docker Compose GeoServer for testing, and I have added plugins to it for WPS. I also have been developing an OpenLayers Javascript client.

Books

Expert GeoServer by Ben Mearns, is a very short book (134 pages) covering primarily WPS and Tile Caching (two unrelated topics, both interesting).

Penn State class

I am walking through this full detailed lesson plan: Open Web Mapping So far, very good!

Boundless tutorial

IGNORE should you run across this Contour Map setup from Boundless Geospatial. In the Boundless docs it's difficult for a beginnto tell what is a tool they provide (such as Composer) and what things are actually part of GeoServer. Theoretically it's all open source but in practice what you find on Github tends to be nonfunctional.

  • Composer supports creating maps using GeoServer, it has a style editor
  • WPS Builder is like Esri Model Builder

Browser-based geoprocessing

A couple options here are jsts and turf. (and Turf wraps JSTS)

JSTS is a Javascript port of the Java Topology Suite (JTS).

The Turf documentation wins though. Go to Getting Started Except it fails to mention that all coordinates in Turf have to be in WGS84. This is a minor pain.

Note also the default units in "buffer" is "kilometers" not "meters", what a surprise!

Server-based geoprocessing

CQL queries

You can create CQL filters and pass them in as part of the REST queries you send to GeoServer. You can also create new layers with CQL filters applied, for example you could create a new taxlots_astoria layer from taxlots with a CQL query of "CITY=Astoria", or in your browser app you could add "cql_filter=CITY=Astoria" to the URL.

WPS servers

WPS Servers include GeoServer. Others are http://zoo-project.org/ and https://pywps.org/ Both of these are OSGEO projects.

GeoServer WPS comes with a slew of predefined JTS tools.

Use case: Select adjacent taxlots

  1. User selects a taxlot in the Javscript client.
  2. This causes adjacent taxlots to be selected.
  3. Information about all selected taxlots appears in a table.

GeoMoose used to use use PHP Mapscript. They are client side only now so not really doing geoprocessing anymore.

The GeoServer demo "WPS Request Builder" feature is useless (probably more learning curve problems!). I seek other examples.