[HN Gopher] PostGIS at 20, the Beginning
___________________________________________________________________
PostGIS at 20, the Beginning
Author : jkatz05
Score : 234 points
Date : 2021-05-31 14:53 UTC (8 hours ago)
(HTM) web link (blog.cleverelephant.ca)
(TXT) w3m dump (blog.cleverelephant.ca)
| mooneater wrote:
| I migrated my LAMP stack app to postgres+postgis in 2005, and met
| with Refractions folks in Victoria for advice, I have nothing but
| glowing reviews and its only gotten better since.
|
| Now I need something like that but in N dimensions...
| lukeqsee wrote:
| Much of the interesting work I've been able to do in the last
| five years is entirely due to the hard work put into PostGIS to
| make it an _excellent_ open-source GIS platform.
|
| Kudos to all involved, and especially Paul for his work
| spearheading and maintaining it for so many years!
| CA0DA wrote:
| Great historical background - thanks Paul!
| joppy wrote:
| Agreed - what a great story!
| catillac wrote:
| I recently had to start working with GIS data and also didn't
| want to be bound to anything ESRI related. I picked up PostGIS
| (along with the SQLite one Spacialite) and it's really a dream to
| use. This history bite is really cool!
| billfruit wrote:
| PostGIS is popular and fine, but is there a front end framework
| available designed to work with it, so that one can fully avoid
| the proprietary ESRI stack?
| wiredfool wrote:
| QGIS or Geoserver, or GDAL for lower level stuff.
| _joel wrote:
| There's https://www.qgis.org/en/site/ but when I've worked with
| web based projects we've used Django and made a custom UI for
| it. It depends on what type of data you want to display though,
| for us it was map data so we just used https://leafletjs.com/
| benboughton1 wrote:
| PostGIS can write to GeoJSON so you can have a simple flask or
| bottlepy webserver to query the db. Then use leaflet GeoJSON
| layer to pull down the data and render it on map.
|
| There is of course the newer vector tiles which is a better
| solution in many situations but a bit more complicated to get
| going. Crunchy Data have made some good examples and a nice
| tile server for this.
| mistrial9 wrote:
| there are plural resources, not one winner-take-all right?
| pramsey wrote:
| PostGIS is now basically the "industry standard", so most third
| party tools work with it, even Esri! Here's some open source
| parts:
|
| Desktop: https://qgis.org
|
| Middleware: https://mapserver.org, https://geoserver.org,
| https://mapnik.org, https://github.com/crunchydata/pg_tileserv,
| https://github.com/crunchydata/pg_featureserv
|
| Web UI: https://openlayers.org, https://leaflet.org,
| https://www.mapbox.com/mapbox-gljs
| jerrysievert wrote:
| much to some grumpiness from the home office, we even used
| postgis at esri's Portland R&D center.
|
| it was a pleasure to use, and pramsey is definitely a stand
| up person.
| murphy214 wrote:
| Mapbox is the probably the best GL based mapping client but it
| is no longer free on the latest version. Although, its not
| designed to work with PostGIS explicitly you definitely can.
| (i.e. querying mvts, map tiles, through PostGIS)
|
| Leaflet as others have said is another good option, but is
| really made for old slipply map tiles.
|
| Most of the ESRI based web clients I think look and feel
| terrible IMO. Rendering just looks off. What features are you
| looking for in a mapping client?
| flurben wrote:
| Esri's JavaScript API 3 has poor performance, but I've been
| very happy with version 4.
| mch82 wrote:
| I recently built a prototype with GeoDjango & it seems
| productive.
|
| Queries & plots are relatively straightforward. Creating custom
| forms to edit map data is harder to figure out. The tutorials I
| found focus on the Django admin, but don't explain how to
| create user-facing forms for site visitors.
|
| Anyone know of good GeoDjango tutorials (or well documented
| examples) for forms?
|
| - update the location of a point with drag and drop
|
| - add waypoints to a line
| ZeroCool2u wrote:
| For quick stuff at work our default is geopandas + Plotly.
| jessedhillon wrote:
| If you are doing analysis and exploration, or creating offline
| reports, QGIS is worth learning. It can connect to and query a
| PostGIS backend directly, and doesn't need to do any sort of
| intermediate translation and storage that I've seen other
| packages require. It's scriptable, and extremely flexible --
| I've used it to create reports and artifacts to share
| externally. Overall a solid example of spectacular open source
| software.
| billfruit wrote:
| While QGIS is ok, for many applications including analysis
| and making reports. It is not particularly suited if you want
| to embed a map view in another application, or to build a
| full custom front end to render map views.
| rubyn00bie wrote:
| PostGIS is one of those tools (along with Postgres as a whole,
| Redis also comes to mind) that has been a fucking pleasure to use
| and depend on. It works, brilliantly, is performant and fairly
| (relative to complexity) easy to use. If it wasn't for PostGIS
| I'd have been so far up shit creek at one point, I'd have needed
| climbing gear to go back down.
|
| Big thanks to all the folks who have spent their time on it.
| You've created something truly fucking helpful <3
| jokoon wrote:
| I have to admit I was quite happy to use sqlite/spatialite and
| load actual map data into it, it was not easy but manageable.
|
| I'm really looking forward making explorable a 3D world and
| cities from GIS data, it seems like it's quite ambitious and
| there are people already doing it, but for gaming it would mean
| having a very large world and require less 3D artists.
| benboughton1 wrote:
| I love PostGIS. I have used it in many projects.
|
| PostGIS raster is really interesting to me but the general
| sentiment is that it's a bit slow and only use it if you need to.
| It just seems so powerful to combine raster and vector with SQL.
| What would the alternative be for raster query vertical and
| horizontal combined with vector? GRASSGIS Timeseries tools look
| interesting but I've not tried those. Any other ideas?
| pramsey wrote:
| I remain pretty leery of raster in the database, for the
| reasons you list, but the power of GDAL to reach out over
| networks for raster access makes me a little more excited about
| some raster/vector use cases. It's not a panacea, but it's
| something.
|
| https://blog.crunchydata.com/postgis-raster-and-crunchy-brid...
| benboughton1 wrote:
| I read that blog post. Such a good example. But there is even
| a comment in there warning about raster via database. I am
| going to try it out as well with some MODIS data. I wonder
| what needs to be done to make raster more performant in
| POSTGIS?
| benboughton1 wrote:
| I just realised you are the author, so thankyou!
| pramsey wrote:
| There's some work to be done to make all functions
| parallelizeable. After that it gets harder. For large scale
| raster analysis, moving the processing closer to the data
| becomes paramount. I feel like purpose-built raster
| processing will always be better. Maybe something with FDW
| or other client/service architecture, where the database
| sends off the request and the bulk processing happens close
| to the data. Also, the row-based model of SQL sort of
| breaks down against raster where the model expects much
| much larger objects and presenting the tiled-up model to
| users just adds complexity without getting back performance
| or flexibility in return.
| aidos wrote:
| I always love these little snippets of the history of how these
| projects come about. When you use something as established as
| PostGIS these days it's easy to forget those few individuals that
| planted the seeds from which it formed.
|
| It's an absolutely wonderful project - hat tip to everyone who
| has made it was it is.
| wiredfool wrote:
| ```When Dave had a working prototype, we hooked it up to our
| little applet and the thing sang. It was wonderfully quick,```
|
| This is the thing that I most love about programming. Given a
| little time, making something just fly that wasn't possible
| before.
___________________________________________________________________
(page generated 2021-05-31 23:00 UTC)