More

PostGIS ST_GeomFromGML donnant un résultat étrange


I'm currently running Postgres 9.1 with PostGIS 2.0.

I am trying to create a polygon geometry from the following GML:

     51.018333435058594 14.270000457763672 51.016666412353516 14.399999618530273 51.003334045410156 14.566666603088379 50.95805740356445 14.574999809265137 50.90277862548828 14.38611125946045 50.9183349609375 14.398333549499512 50.94166564941406 14.396666526794434 50.95000076293945 14.300000190734863 51.018333435058594 14.270000457763672

Je lance donc la commande suivante :

INSERT INTO test (polygone) VALUES ( (SELECT ST_GeomFromGML( 'gml') ) )

Cela s'exécute correctement et produit une géométrie dans la table. Cependant, lorsque je consulte la géométrie dans Quantum GIS, il y a clairement un problème et lorsque je récupère le GML via PostGIS, j'obtiens ce qui suit :

SELECT ST_AsGML( polygone ) du test où id=1;     14.270000457763672,51.018333435058594 14.399999618530273,51.016666412353516 14.566666603088379,51.003334045410156 14.574999809265137,50.958057403564453 14.386111259460449,50.902778625488281 14.398333549499512,50.9183349609375 14.396666526794434,50.941665649414062 14.300000190734863,50.950000762939453 14.270000457763672,51.018333435058594 14.399999618530273,51.016666412353516 14.566666603088379,51.003334045410156 14.574999809265137,50.958057403564453 14.386111259460449,50.902778625488281 14.398333549499512,50.9183349609375 14.396666526794434,50.941665649414062 14.300000190734863,50.950000762939453 14.270000457763672,51.018333435058594 14.566666603088379,51.003334045410156 14.574999809265137,50.958057403564453 14.386111259460449,50.902778625488281 14.398333549499512,50.9183349609375 14.396666526794434,50.941665649414062 14.300000190734863,50.950000762939453 14.270000457763672,51.018333435058594 14.574999809265137,50.958057403564453 14.386111259460449,50.902778625488281 14.398333549499512,50.9183349609375 14.396666526794434,50.941665649414062 14.300000190734863,50.950000762939453 14.270000457763672,51.018333435058594 14.386111259460449,50.902778625488281 14.398333549499512,50.9183349609375 14.396666526794434,50.941665649414062 14.300000190734863,50.950000762939453 14.270000457763672,51.018333435058594 14.398333549499512,50.9183349609375 14.396666526794434,50.941665649414062 14.300000190734863,50.950000762939453 14.270000457763672,51.018333435058594 14.396666526794434,50.941665649414062 14.300000190734863,50.950000762939453 14.270000457763672,51.018333435058594 14.300000190734863,50.950000762939453 14.270000457763672,51.018333435058594 14.270000457763672,51.018333435058594 

Je suis légèrement préoccupé par le fait que les points Lat/long ont été inversés dans la sortie, mais pour le moment, mon principal problème est que les neuf points d'origine sont répétés et qu'à chaque répétition, un point est supprimé, ce qui rend le rendu de la géométrie inutile et provoque il sera inutile pour d'autres calculs.

Quelqu'un peut-il me donner une idée de ce que je fais mal s'il vous plaît.


Je peux répéter votre problème avec votre GML. Il semble que PostGIS ne l'aime pas. Je ne peux pas dire s'il y a quelque chose qui ne va pas dans le GML ou un bogue dans PostGIS ou s'il manque simplement la prise en charge de cette version GML, mais je pourrais insérer une géométrie similaire comme suit :

CREATE TABLE gml_test (id entier, géométrie géométrie);

Insérer la géométrie en tant que GML3 :

insérer dans gml_test values(4, st_geomfromgml('    51.018333435058594 14.270000457763672 51.016666412353516 14.399999618530273 51.003334045410156 14.566666603088379 50.958057403564453 14.574999809265137 50.902778625488281 14.386111259460449 50.9183349609375 14.398333549499512 50.941665649414062 14.396666526794434 50.950000762939453 14.300000190734863 51.018333435058594 14.270000457763672 '));

L'ordre des coordonnées est OK. PostGIS utilise en interne l'ordre longitude-latitude, mais il sait que "urn:ogc:def:crs:EPSG::4326" qui a été utilisé en entrée signifie que les coordonnées sont présentées en latitude-longitude.

Où avez-vous obtenu votre GML ? S'il est valide, je suggérerais de demander pourquoi il ne se comporte pas bien à partir de la liste de diffusion postgis-users.


Après la mise à niveau vers postgres 9.4 et PostGIS 2.1, le problème est résolu. Après avoir recherché dans les tickets PostGIS, il semble que ce soit le problème d'origine et qu'il ait été résolu dans la version 2.1.4.

http://trac.osgeo.org/postgis/ticket/2704#comment:2


Fusionner deux listes d'objets différents

j'utilise des requêtes API qui renvoient une liste. -la première requête API renvoie une liste d'objets qui contient (user_id,content,date,title) -la deuxième réponse renvoie également une liste d'objets qui contient (user_id,user_name).

Je souhaite fusionner les deux listes pour les afficher dans une seule vue de recyclage, mais conserver le nom d'utilisateur au lieu de user_id. Cette image décompose clairement ce que je veux.

j'apprécie toute aide, je suis vraiment coincé là-dedans et j'en ai besoin ty.


Résolution étrange sur Ubuntu 21.04

Je viens d'installer Ubuntu 21.04 sur mon Asus UX370UAF (double démarrage avec Windows 10) et sa résolution native a été automatiquement réglée sur 1920x1080 (16:9). Comme la taille de l'écran est de 13,3'', tout est un peu "petit", en particulier les polices, les textes, les étiquettes, etc. J'ai essayé de changer l'échelle en la définissant sur 125% et 150%, mais le résultat est un peu flou et un peu "hors de mise au point". J'ai également essayé d'utiliser l'option "Grands caractères" dans l'onglet Paramètres d'accès universel, mais là encore, cela semble un peu petit de toute façon.

Je pense que la meilleure option est de le laisser avec sa résolution native, mais c'est comme si Ubuntu pensait que mon écran était bien plus grand qu'il ne l'est en réalité. Est-ce que quelqu'un sait comment réparer ceci?


A.4. Version 2.4.3

Il s'agit d'une version de correction de bogue et d'amélioration des performances.

Corrections de bugs et améliorations

#3713, Prise en charge des encodages qui produisent un caractère ''

#3827, Définir la configuration par défaut pour ne pas interrompre les tests, provoquait de faux négatifs pour de nombreuses personnes. (Regina Obe) révisé pour être conforme aux normes en #3988 (Greg Troxel)

#3930, Problèmes de cercle de délimitation minimum sur les plates-formes 32 bits

#3965, ST_ClusterKMeans perdait certains clusters à l'initialisation (Darafei Praliaskouski)

#3956, l'objet de classe d'opération Brin ne se met pas à niveau correctement (Sandro Santilli)

#3982, ST_AsEncodedPolyline prend en charge LINESTRING EMPTY et MULTIPOINT EMPTY (Darafei Praliaskouski)

#3975, ST_Transform exécute une requête sur spatial_ref_sys sans qualification de schéma. Provoquait des problèmes de restauration. (Paul Ramsey)


Si vous compilez avec PostgreSQL+JIT, LLVM >= 6 est requis

Les versions PostgreSQL prises en charge pour cette version sont : PostgreSQL 9.4 - PostgreSQL 12 (en développement) GEOS >= 3.5

Nouvelles fonctionnalités

#1847, support spgist 2d et 3d pour PG 11+ (Esteban Zimányi et Arthur Lesuisse de l'Université Libre de Bruxelles (ULB), Darafei Praliaskouski)

#4056, ST_FilterByM (Nicklas Avén)

#4050, ST_ChaikinSmoothing (Nicklas Avén)

#3989, option ST_Buffer simple face (Stephen Knox)

#3876, fonction ST_Angle (Rémi Cura)

#3564, ST_LineInterpolatePoints (Dan Baston)

#3896, PostGIS_Extensions_Upgrade() (Regina Obe)

#3913, Mise à niveau lors de la création d'une extension à partir d'un package (Sandro Santilli)

#2256, _postgis_index_extent() pour l'étendue de l'index (Paul Ramsey)

#3176, Ajouter une enveloppe orientée ST (Dan Baston)

#4029, Ajouter ST_QuantizeCoordinates (Dan Baston)

#4063, Faux point d'origine facultatif pour ST_Scale (Paul Ramsey)

#4082, ajouter ST_BandFileSize et ST_BandFileTimestamp, étendre ST_BandMetadata (Même Rouault)

#2597, Ajouter ST_Niveaux de gris (Bborie Park)

#4007, Ajouter ST_SetBandPath (Bborie Park)

#4008, Ajouter ST_SetBandIndex (Bborie Park)

Changements marquants

Les scripts de mise à niveau de plusieurs anciennes versions sont désormais tous des liens symboliques vers un seul script de mise à niveau (Sandro Santilli)

#3944, Mise à jour du registre EPSG v9.2 (Even Rouault)

#3927, Implémentation parallèle de ST_AsMVT

#3925, Simplifier la géométrie à l'aide de la taille des cellules de la grille de la carte avant de générer MVT

#3899, l'ordre de tri BTree est désormais défini sur les collections de géométries VIDE et de même préfixe (Darafei Praliaskouski)

#3864, Amélioration des performances pour le tri des géométries POINT (Darafei Praliaskouski)

#3900, avertissements GCC corrigés, make -j fonctionne maintenant (Darafei Praliaskouski) - Améliorations de la robustesse de TopoGeo_addLinestring (Sandro Santilli) #1855, #1946, #3718, #3838

#3234, Ne pas accepter les points VIDE comme nœuds de topologie (Sandro Santilli)

#1014, Géométrie hachable, permettant une utilisation directe dans les signatures CTE (Paul Ramsey)

#3097, autorise vraiment les lames MULTILINESTRING dans ST_Split() (Paul Ramsey)

#3942, geojson : ne pas inclure l'en-tête privé pour json-c >= 0,13 (Björn Esser)

#3954, ST_GeometricMedian prend désormais en charge les poids ponctuels (Darafei Praliaskouski)

#3965, #3971, #3977, #4071 ST_ClusterKMeans réécrit : meilleure initialisation, convergence plus rapide, K=2 encore plus rapide (Darafei Praliaskouski)

#3982, ST_AsEncodedPolyline prend en charge LINESTRING EMPTY et MULTIPOINT EMPTY (Darafei Praliaskouski)

#3986, ST_AsText a maintenant un deuxième argument pour limiter les chiffres décimaux (Marc Ducobu, Darafei Praliaskouski)

# 4020, La coulée de box3d vers la géométrie renvoie désormais une PolyhedralSurface correctement connectée (Matthias Bay)

#2508, ST_OffsetCurve fonctionne désormais avec les collections (Darafei Praliaskouski)

#4006, ST_GeomFromGeoJSON support pour json et jsonb en entrée (Paul Ramsey, Regina Obe)

#4038, ST_Subdivide sélectionne maintenant le pivot pour la division de la géométrie qui réutilise les sommets d'entrée. (Darafei Praliaskouski)

#4025, #4032 Correction d'un problème de précision dans ST_ClosestPointOfApproach, ST_DistanceCPA et ST_CPAWithin (Paul Ramsey, Darafei Praliaskouski)

#4076, Réduire l'utilisation de GEOS dans l'implémentation de la topologie (Björn Harrtell)

# 4080, Ajouter un index de bande raster externe à ST_BandMetaData - Ajouter une section Astuces raster à la documentation pour plus d'informations sur le comportement Raster (par exemple, performances Out-DB, nombre maximal de fichiers ouverts)

#4084 : Correction d'un commentaire de code erroné concernant le recto/verso de BOX3D (Matthias Bay)

#4060, #4094, Prise en charge de PostgreSQL JIT (Raúl Marín, Laurenz Albe)

#3960, ST_Centroid utilise désormais lwgeom_centroid (Darafei Praliaskouski)

#4027, Supprimer le code dupliqué dans lwgeom_geos (Darafei Praliaskouski, Daniel Baston)

#4115, Correction d'un bug qui créait des MVT avec des valeurs de propriété incorrectes sous des plans parallèles (Raúl Marín).

#4120, ST_AsMVTGeom : Découpez à l'aide des coordonnées de la tuile (Raúl Marín).

#4132, ST_Intersection sur Raster fonctionne désormais sans lancer TopologyException (Vinícius A.B. Schmidt, Darafei Praliaskouski)

#4177, #4180 Prise en charge de la branche de développement PostgreSQL 12 (Laurenz Albe, Raúl Marín)

#4156, ST_ChaikinSmoothing : également lisser le point de départ/fin du polygone par défaut (Darafei Praliaskouski)


Watch the video: CartoDB: PostgreSQL + PostGIS en la nube - Sebastián Scarano - PgDay Argentina 2013 (Octobre 2021).