Coder Social home page Coder Social logo

siose-splitter's People

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

siose-splitter's Issues

Implement a logging strategy

Which is the best strategy for logging tasks performed from a Makefile? Sometimes we need a detailed log, so we can use '@echo's to output the most of the information, but in some tests we need the ability to silent some echoes. This has been implemented in the settings file

# Not echoing echoes when performing an experiment... or log it.
# TODO: Decide if this is necessary
echo := @echo 
#echo := \# 

As far as I know, we need to evaluate the advantages of using make -j and docker-compose --scale, so we need to measure time lapses when a target is created. See this thread. Two approaches are considered:

  1. Recipe based
  2. Overall time

Any other thoughts about this?

SRID issues

There are several issues related to the different SRIDs we are using. I have checked that:

  • the st_fromgeohash(geom) function returns geometries without specifying a SRID
  • the SIOSE dump is in 4258.
SELECT find_srid('public','gh','geom'); -- 0
SELECT find_srid('public','roi','geom'); -- 4326
SELECT find_srid('s2005','t_poli_geo_castellon','geom'); --4258

Because geohashes are meant to be used in 4326, we need to fix this on the pg_geohash_extra extension.

After that, we have to decide whether we choose one of these three options:

  1. Transform backups to 4326
  2. Transform the database at the entry-point
  3. Use a query to solve that on demand (see the following).
SELECT * 
FROM s2005.t_poli_geo_castellon AS pol
WHERE st_intersects(st_transform(st_setsrid(pol.geom,4258),4326),
					st_setsrid(st_geomfromgeohash('ezp6r'),4326));

Working with GPKG

I think that Geopackages are the most interesting format we could use for delivering and analyzing the SIOSE database. We should learn more about this format in order to be able to create a standard Geopackage that resembles the SIOSE relational structure.

Since this commit we are able to "split" SIOSE database in very simple geopackages. However, ogr2ogr doesn't allow the -append -update strategy for adding non-spatial layers (e.g. lookup tables, value tables, etc). Also, only the most recent versions of QGIS (v2.18 and v3) can import and query layers as if we were using SpatiaLite or PostGIS.

I think that we need to compile some good practices before building GPKGs properly. A good use of GPKG extensions can be useful (see this and this).

Add qgis as a new pgclient option

While pgadmin4 and psql can solve many use cases when splitting the SIOSE database, I think that having a QGIS correctly connected to the database can be helpful, specially when visual inspection is needed.

This seems very easy to accomplish by using the kartooza dockerfile.

Permisos de usuario

@benizar
Creo que en este repo tanto Pepe como yo tenemos permiso de lectura únicamente. Todos los miembros de la organización tenemos por defecto permiso de sólo lectura en todos los repos de los que no somos propietarios:

defaultpermissions

No lo he cambiado porque creo que por defecto eso es bueno para evitar accidentes. ¿Nos puedes dar permiso de escritura en el repo siose-innova/siose-splitter?

Test

Buenos días admin, no tengo acceso a este repositorio. Solo lector.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.