Bonjour,
Je me demandais s'il était possible d'utiliser la fonction entité.readAll sur un Shapefile de multipoint. Lorsque j'essaye ceci ocelet me retourne une erreur lorsque je veux créer une liste qui me permettrai d'observer mes données (et surtout voir si celles-ci ont bien été prises en comptes). Ceci fonctionne (en tout cas le même type de code cf plus bas) lorsque j'utilise un Shapefile de type MultiPolygon mais pas lorsqu'il s'agit d'un MultiPoint.
Y as t-il une fonction particulière à utiliser pour ce type de shapefile?
Le code utilisé:
scenario Essai_buffalo3 {
let troupeau_buf_gp1 = new SHPcentrotrpo
println(troupeau_buf_gp1.about)
println("creation list")
let list_trpo = troupeau_buf_gp1.readAll()
println("done")
println("renvoie info")
for(trp:list_trpo) println(trp.toString)
println("done")
}
datafacer SHPcentrotrpo {
data Shapefile("data/gp1_centro_trpo.shp", "EPSG:32736")
match Troupo_centro{
geom : "the_geom"
step : "STEP"
lon : "LON"
lat : "LAT"
lonout : "LON.out"
latout : "LAT.out"
month : "month"
day : "day"
hour : "hour"
water100 :"water100m"
water200 : "water200m"
}
}
entity Troupo_centro{
property MultiPoint geom
property Integer step
property Double lon
property Double lat
property Double lonout
property Double latout
property Integer month
property Integer day
property String hour
property String water100
property String water200
}
Le message d'erreur:
Exception in thread "main" java.lang.ClassCastException: fr.ocelet.runtime.geom.ocltypes.Point cannot be cast to fr.ocelet.runtime.geom.ocltypes.MultiPoint
at fr.ocelet.datafacer.GtDataRecord.readMultiPoint(GtDataRecord.java:216)
at fr.ocelet.datafacer.GtDatafacer.readMultiPoint(GtDatafacer.java:303)
at fr.ocelet.datafacer.GtDatafacer.readMultiPoint(GtDatafacer.java:347)
at fr.ocelet.model.essai_buffalo3.SHP_indiv_b345559.createB345559FromRecord(SHP_indiv_b345559.java:44)
at fr.ocelet.model.essai_buffalo3.SHP_indiv_b345559.readAllB345559(SHP_indiv_b345559.java:21)
at fr.ocelet.model.essai_buffalo3.SHP_indiv_b345559.readAll(SHP_indiv_b345559.java:28)
at fr.ocelet.model.essai_buffalo3.Essai_buffalo3.run_Essai_buffalo3(Essai_buffalo3.java:36)
at fr.ocelet.model.essai_buffalo3.Essai_buffalo3.main(Essai_buffalo3.java:25)
Merci de l'attention que vous porterez à ce message.