Closed mdouchin closed 2 years ago
Quelques éléments de réponse:
Sur l'erreur indiquée dans la copie d'écran, il semble que le problème vienne du test de conformité entre le code du département et de la direction renseignés dans la boîte de dialogue d'import et celui inscrit dans les fichiers MAJIC. Avez vous essayé avec code département = 97 et code direction = 3 ?
Au sujet des grosses communes, le souci est-il reproductible avec l'import des données EDIGEO seules ? Si oui, pourriez vous svp m'envoyer un lien pour télécharger ces données ? Si je me souviens bien, les géométries de certaines communes étaient tellement grosses (de très nombreux noeuds) que l'import s'arrêtait ?
Au sujet du millésime 2019, le plugin 1.7.1 ne le supporte pas (comme le montre l'absence de l'année dans les listes déroulantes de la boîte de dialogue, ainsi que l'aide)
En test unitaire en local et dans QGIS bureautique, l'import se passe bien pour la commune de Rémire Montjoly https://github.com/3liz/QgisCadastrePlugin/blob/master/cadastre/tests/test_import_data.py#L34..L47
En testant l'import EDIGeo commune par commune (je n'ai pas encore testé toutes les communes):
Pour 973303 IRACOUBO, l'erreur survient lors de la création de la table parcelle_info: ERREUR: entier en dehors des limites
BEGIN;SET search_path = "cadastre_guyane", public, pg_catalog;
-- Création de la table parcelle_info
DROP TABLE IF EXISTS "cadastre_guyane".parcelle_info;
CREATE TABLE "cadastre_guyane".parcelle_info
(
ogc_fid integer,
geo_parcelle text,
idu text,
tex text,
geo_section text,
nomcommune text,
codecommune text,
surface_geo bigint,
contenance bigint,
lot text
);
SELECT AddGeometryColumn ( current_schema::text, 'parcelle_info', 'geom', 2972 , 'MULTIPOLYGON', 2 );
INSERT INTO "cadastre_guyane".parcelle_info
SELECT gp.ogc_fid AS ogc_fid, geo_parcelle, gp.idu AS idu, gp.tex AS tex, gp.geo_section AS geo_section,
c.tex2 AS nomcommune, c.idu AS codecommune, Cast(ST_Area(gp.geom) AS integer) AS surface_geo, gp.supf AS contenance,
gp.lot AS lot,
gp.geom AS geom
FROM "cadastre_guyane".geo_parcelle gp
INNER JOIN "cadastre_guyane".geo_commune c
ON c.geo_commune = SUBSTRING(gp.geo_parcelle,1,6)
;
ALTER TABLE "cadastre_guyane".parcelle_info ADD CONSTRAINT parcelle_info_pk PRIMARY KEY (ogc_fid);
CREATE INDEX parcelle_info_geom_idx ON "cadastre_guyane".parcelle_info USING gist (geom);
CREATE INDEX parcelle_info_geo_section_idx ON "cadastre_guyane".parcelle_info (geo_section);
CREATE INDEX parcelle_info_codecommune_idx ON "cadastre_guyane".parcelle_info (codecommune );
CREATE INDEX parcelle_info_geo_parcelle_idx ON "cadastre_guyane".parcelle_info (geo_parcelle );
COMMENT ON TABLE "cadastre_guyane".parcelle_info IS 'Table de parcelles consolidées, proposant les géométries et les informations MAJIC principales, dont les propriétaires';
COMMENT ON COLUMN parcelle_info.ogc_fid IS 'Identifiant unique (base de données)';
COMMENT ON COLUMN parcelle_info.geo_parcelle IS 'Identifiant de la parcelle : année + département + direction + idu';
COMMENT ON COLUMN parcelle_info.idu IS 'Identifiant de la parcelle (unique par département et direction seulement)';
COMMENT ON COLUMN parcelle_info.tex IS 'Etiquette (code à 3 chiffres)';
COMMENT ON COLUMN parcelle_info.geo_section IS 'Code de la section (lien vers table geo_section.geo_section)';
COMMENT ON COLUMN parcelle_info.nomcommune IS 'Nom de la commune';
COMMENT ON COLUMN parcelle_info.codecommune IS 'Code de la commune à 3 chiffres';
COMMENT ON COLUMN parcelle_info.surface_geo IS 'Surface de la parcelle, calculée spatialement';
COMMENT ON COLUMN parcelle_info.contenance IS 'Surface cadastrale de la parcelle';
COMMENT ON COLUMN parcelle_info.lot IS 'Lot utilisé pendant l''import';
COMMIT;
L'erreur vient de cette expression: Cast(ST_Area(gp.geom) AS integer) AS surface_geo
En fait le problème vient de parcelle dont la surface est supérieur à 2147483647 qui est la valeur maximale pour le type INTEGER. Il faut faire Cast(ST_Area(gp.geom) AS bigint) AS surface_geo
comme dans la définition du champs surface_geo
.
Premier correctif pour l'import edigeo avec majic https://github.com/3liz/QgisCadastrePlugin/commit/a6790eb23c97883c0fb58b5cdfe5e3e4fc39208c disponible depuis la version 1.6.1
Autre correctif pour l'import edigeo simple https://github.com/3liz/QgisCadastrePlugin/commit/768969f29deec9fe4da55390cc188f3e77487ad1
La version 1.14.2 permet de faire l'import EDIGeo seule.
J'ai réussi à faire un import EDIGeo + MAJIC sur la guyane avec le fichier fantoir national disponible ici https://adresse.data.gouv.fr/data/fantoir/
Je me permet de fermer ce ticket.
Je rapporte ici les questions d'un utilisateur Guyanais