--le but de ce script est d'extraire les données relatives aux foyers domestiques qui se trouvent dans un supercarré à partir de la 100ème année depuis sa colonisation, et de le suive longitudinalement pendant 50 ans. Comme dans le script 4, le supercarré doit être identifié avec SIG et ses cordonnées doivent être inserées manuellement declare @year, @tab, @tempo, @xcord, @ycord, @fondc, @fondn, @id, @maison; set @year = 101; set @tempo = 1; --inserer les cordonnées du supercarré set(coin en bas à gauche) @xcord = 533000; set @ycord = 5031400; --créer table temporaire CREATE TABLE "tmpTab" ( "Time" double precision, "Simulation"double precision, "Id"double precision, "Xmodel"double precision, "Ymodel"double precision, "NbPersons"double precision, "NbFamilies"double precision, "NbHouseholds"double precision, "TimeStart"double precision, "TimeEnd"double precision, "05Living"double precision, "05dead"double precision, "05sent"double precision, "05received"double precision, "515Living"double precision, "515dead"double precision, "515sent"double precision, "515received"double precision, "1517Living"double precision, "1517dead"double precision, "1517sent"double precision, "1517received"double precision, "1725Living"double precision, "1725dead"double precision, "1725sent"double precision, "1725received"double precision, "25+Living"double precision, "25+dead"double precision, "60-Living"double precision, "60-dead"double precision, "60-sent"double precision, "60-received"double precision, "60+Living"double precision, "60+dead"double precision, "60+sent"double precision, "60+received"double precision, "EntryMales"double precision, "EntryFemales"double precision, "OutputMales"double precision, "OutputFemales"double precision, "IdScissionFrom"double precision, "NbBovins"double precision, "NbCaprins"double precision, "NbPorcins"double precision, "GainsBovins"double precision, "GainsCaprins"double precision, "GainsPorcins"double precision, "Hunting"double precision, "Picking"double precision, "Seed"double precision, "NetCrop"double precision ) WITH ( OIDS=FALSE ); while @year < 701 begin SET @tab = 'sites' + CAST (@year AS STRING); -- Casts @I -- SET @tab2 = CAST (@year AS STRING); -- Casts @I --inserer dans la table temporaires toutes les données reférées aux sites qui se trouvent dans le supercarré INSERT INTO "tmpTab" SELECT * FROM public.@tab WHERE @tab."Xmodel" >= @xcord AND @tab."Xmodel" <= (@xcord + 20000) AND @tab."Ymodel" >= @ycord AND @tab."Ymodel" <= (@ycord + 20000) ; SET @year = @year + 1; END SET @maison = 1; --identifie l'anné quand le supercarré à été colonisé la première fois SET @fondc = SELECT MIN(CAST("Time" AS intEgER)) FROM public."tmpTab" ; /*SET @fondn = CAST (@fondc AS IntEGER);*/ set @tempo = 1; while @tempo < 51 begin --inserer les données dans des tables appelées denst (plus le nombre de l'année), crées separemment, qui vont de denst1 à denst50 ; chaque table représente un année pour les densificateurs à partir de la 100ème année suite à la première colonisation du supercarré INSERT INTO denst@tempo SELECT * FROM public."tmpTab" WHERE "tmpTab"."Time" = @fondc + 400 +(4 * @tempo) - 4; SET @tempo = @tempo +1; SET @year = @year + 1; /*SET @fondc = @fondc + 4;*/ END DROP TABLE "tmpTab";