annotate backend/src/main/java/org/dive4elements/river/model/CrossSectionTrack.java @ 8721:1083cb887ffb

(issue1754) Do not filter BedHeightSoundings to range. This is more symetric to WINFO Raw data and fixes the problematic master artifact information loss from issue1754 as the information from the master (range) is no longer required.
author Andre Heinecke <andre.heinecke@intevation.de>
date Mon, 27 Apr 2015 17:35:28 +0200
parents 4c3ccf2b0304
children
rev   line source
5844
4dd33b86dc61 Added header to river backend.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
4dd33b86dc61 Added header to river backend.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
2 * Software engineering by Intevation GmbH
4dd33b86dc61 Added header to river backend.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
3 *
5992
4c3ccf2b0304 Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5844
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
5844
4dd33b86dc61 Added header to river backend.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
5992
4c3ccf2b0304 Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5844
diff changeset
6 * documentation coming with Dive4Elements River for details.
5844
4dd33b86dc61 Added header to river backend.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
7 */
4dd33b86dc61 Added header to river backend.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
8
5829
18619c1e7c2a Repaired internal references.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5828
diff changeset
9 package org.dive4elements.river.model;
1230
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
11 import java.io.Serializable;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
12 import java.math.BigDecimal;
1235
47ce1fab8464 Added a static function that returns all CrossSectionTracks of a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1230
diff changeset
13 import java.util.List;
1230
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
14
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
15 import javax.persistence.Column;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
16 import javax.persistence.Entity;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
17 import javax.persistence.Id;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
18 import javax.persistence.JoinColumn;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
19 import javax.persistence.OneToOne;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
20 import javax.persistence.Table;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
21
1235
47ce1fab8464 Added a static function that returns all CrossSectionTracks of a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1230
diff changeset
22 import org.hibernate.Query;
47ce1fab8464 Added a static function that returns all CrossSectionTracks of a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1230
diff changeset
23 import org.hibernate.Session;
1230
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
24 import org.hibernate.annotations.Type;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
25
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
26 import com.vividsolutions.jts.geom.LineString;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
27
5829
18619c1e7c2a Repaired internal references.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5828
diff changeset
28 import org.dive4elements.river.backend.SessionHolder;
1235
47ce1fab8464 Added a static function that returns all CrossSectionTracks of a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1230
diff changeset
29
1230
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
30
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
31 @Entity
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
32 @Table(name = "cross_section_tracks")
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
33 public class CrossSectionTrack
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
34 implements Serializable
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
35 {
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
36 private Integer id;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
37 private River river;
3330
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
38 private String name;
1230
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
39 private LineString geom;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
40 private BigDecimal km;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
41 private BigDecimal z;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
42
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
43 public CrossSectionTrack() {
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
44 }
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
45
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
46
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
47 @Id
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
48 @Column(name = "id")
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
49 public Integer getId() {
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
50 return id;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
51 }
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
52
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
53
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
54 public void setId(Integer id) {
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
55 this.id = id;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
56 }
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
57
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
58
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
59 @OneToOne
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
60 @JoinColumn(name = "river_id")
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
61 public River getRiver() {
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
62 return river;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
63 }
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
64
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
65
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
66 public void setRiver(River river) {
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
67 this.river = river;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
68 }
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
69
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
70
3330
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
71 @Column(name = "name")
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
72 public String getName() {
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
73 return name;
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
74 }
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
75
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
76
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
77 public void setName(String name) {
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
78 this.name = name;
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
79 }
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
80
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
81
1230
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
82 @Column(name = "geom")
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
83 @Type(type = "org.hibernatespatial.GeometryUserType")
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
84 public LineString getGeom() {
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
85 return geom;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
86 }
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
87
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
88
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
89 public void setGeom(LineString geom) {
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
90 this.geom = geom;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
91 }
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
92
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
93
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
94 @Column(name = "km")
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
95 public BigDecimal getKm() {
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
96 return km;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
97 }
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
98
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
99
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
100 public void setKm(BigDecimal km) {
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
101 this.km = km;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
102 }
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
103
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
104
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
105 @Column(name = "z")
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
106 public BigDecimal getZ() {
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
107 return z;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
108 }
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
109
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
110
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
111 public void setZ(BigDecimal z) {
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
112 this.z = z;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
113 }
1235
47ce1fab8464 Added a static function that returns all CrossSectionTracks of a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1230
diff changeset
114
47ce1fab8464 Added a static function that returns all CrossSectionTracks of a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1230
diff changeset
115
47ce1fab8464 Added a static function that returns all CrossSectionTracks of a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1230
diff changeset
116 public static List<CrossSectionTrack> getCrossSectionTrack(
47ce1fab8464 Added a static function that returns all CrossSectionTracks of a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1230
diff changeset
117 String river)
47ce1fab8464 Added a static function that returns all CrossSectionTracks of a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1230
diff changeset
118 {
47ce1fab8464 Added a static function that returns all CrossSectionTracks of a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1230
diff changeset
119 Session session = SessionHolder.HOLDER.get();
47ce1fab8464 Added a static function that returns all CrossSectionTracks of a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1230
diff changeset
120
47ce1fab8464 Added a static function that returns all CrossSectionTracks of a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1230
diff changeset
121 Query query = session.createQuery(
47ce1fab8464 Added a static function that returns all CrossSectionTracks of a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1230
diff changeset
122 "from CrossSectionTrack where river.name =:river");
47ce1fab8464 Added a static function that returns all CrossSectionTracks of a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1230
diff changeset
123 query.setParameter("river", river);
47ce1fab8464 Added a static function that returns all CrossSectionTracks of a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1230
diff changeset
124
47ce1fab8464 Added a static function that returns all CrossSectionTracks of a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1230
diff changeset
125 return query.list();
47ce1fab8464 Added a static function that returns all CrossSectionTracks of a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1230
diff changeset
126 }
2341
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
127
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
128
3330
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
129 public static List<CrossSectionTrack> getCrossSectionTrack(
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
130 String river,
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
131 String name
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
132 ) {
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
133 Session session = SessionHolder.HOLDER.get();
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
134
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
135 Query query = session.createQuery(
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
136 "from CrossSectionTrack as cst " +
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
137 " where river.name =:river" +
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
138 " and cst.name=:name");
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
139 query.setParameter("river", river);
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
140 query.setParameter("name", name);
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
141
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
142 return query.list();
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
143 }
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
144
5465
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
145 public static List<CrossSectionTrack> getCrossSectionTrack(
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
146 String river,
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
147 int kind_id
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
148 ) {
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
149 Session session = SessionHolder.HOLDER.get();
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
150
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
151 Query query = session.createQuery(
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
152 "from CrossSectionTrack as cst " +
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
153 " where river.name =:river" +
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
154 " and kind_id=:kind_id");
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
155 query.setParameter("river", river);
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
156 query.setParameter("kind_id", kind_id);
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
157
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
158 return query.list();
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
159 }
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
160
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
161 public static List<CrossSectionTrack> getCrossSectionTrack(
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
162 String river,
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
163 String name,
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
164 int kind_id
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
165 ) {
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
166 Session session = SessionHolder.HOLDER.get();
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
167
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
168 Query query = session.createQuery(
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
169 "from CrossSectionTrack as cst " +
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
170 " where river.name =:river" +
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
171 " and cst.name=:name" +
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
172 " and kind_id=:kind_id");
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
173 query.setParameter("river", river);
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
174 query.setParameter("name", name);
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
175 query.setParameter("kind_id", kind_id);
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
176
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
177 return query.list();
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
178 }
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
179
3330
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
180
2341
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
181 /**
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
182 * Returns the nearest CrossSectionTrack of <i>river</i> to a given
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
183 * <i>km</i>.
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
184 *
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
185 * @param river The name of a river.
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
186 * @param km The kilometer value.
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
187 *
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
188 * @return the nearest CrossSectionTrack to <i>km</i> of river <i>river</i>.
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
189 */
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
190 public static CrossSectionTrack getCrossSectionTrack(
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
191 String river,
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
192 double km
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
193 ) {
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
194 Session session = SessionHolder.HOLDER.get();
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
195
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
196 Query query = session.createQuery(
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
197 "from CrossSectionTrack where river.name =:river " +
5242
88e3473a3846 Add kind handling for floodplains and crossectiontracks
Andre Heinecke <aheinecke@intevation.de>
parents: 3330
diff changeset
198 "and kind_id = 1 " +
2341
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
199 "order by abs( km - :mykm)");
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
200 query.setParameter("river", river);
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
201 query.setParameter("mykm", new BigDecimal(km));
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
202
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
203 List<CrossSectionTrack> cst = query.list();
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
204
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
205 return cst != null && !cst.isEmpty() ? cst.get(0) : null;
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
206 }
1230
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
207 }
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
208 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org