GeoPubby  Version 0.1.0.0
TWKBWriterr Class Reference
Inheritance diagram for TWKBWriterr:
Collaboration diagram for TWKBWriterr:

Public Member Functions

 TWKBWriterr (String epsg)
 
ExtendedIterator< Resource > write (Model model, HttpServletResponse response) throws IOException
 
Tuple< Boolean, String > handleGeometry (Statement curst, Resource ind, Model model)
 

Static Public Member Functions

static StyleObject handleStyle (Resource res)
 

Protected Attributes

String epsg =null
 
Double lat
 
String sourceCRS ="EPSG:4326"
 
Geometry geom
 
GridCoverage cov
 
StyleObject styleObject
 
ResultStyleFormatter styleformatter
 
Property usedProperty =null
 
WKTReader reader =new WKTReader()
 

Package Attributes

Double lon
 

Constructor & Destructor Documentation

◆ TWKBWriterr()

TWKBWriterr ( String  epsg)
23  {
24  super(epsg);
25  }
String epsg
Definition: GeoModelWriter.java:30

References GeoModelWriter.epsg.

Member Function Documentation

◆ handleGeometry()

Tuple<Boolean,String> handleGeometry ( Statement  curst,
Resource  ind,
Model  model 
)
inherited
148  {
149  boolean handled=false;
150  String type="vector";
151  if (GEO.ASWKT.getURI().equals(curst.getPredicate().getURI().toString())
152  || GEO.P_GEOMETRY.getURI().equals(curst.getPredicate().getURI())
153  || GEO.P625.getURI().equals(curst.getPredicate().getURI())) {
154  try {
155  geom = reader.read(curst.getObject().asLiteral().getString());
156  if(this.epsg!=null) {
157  geom=ReprojectionUtils.reproject(geom, sourceCRS, epsg);
158  }
159  } catch (ParseException e) {
160  // TODO Auto-generated catch block
161  e.printStackTrace();
162  }
163  handled=true;
164  } else if (GEO.ASGEOJSON.getURI().equals(curst.getPredicate().getURI().toString())
165  && this.epsg != null) {
166  if (curst.getObject().asLiteral().getString() != null) {
167  GeoJSONReader read = new GeoJSONReader();
168  geom = read.read(curst.getObject().asLiteral().getString());
169  if(this.epsg!=null) {
170  ind.addProperty(GEO.EPSG, model.createTypedLiteral(this.epsg));
171  geom = ReprojectionUtils.reproject(geom, sourceCRS, epsg);
172  }
173  }
174  handled=true;
175  } else if (GEO.ASKML.getURI().equals(curst.getPredicate().getURI().toString())
176  && this.epsg != null) {
177  if (curst.getObject().asLiteral().getString() != null) {
178  KMLReader read = new KMLReader();
179  try {
180  geom = read.read(curst.getObject().asLiteral().getString());
181  if(this.epsg!=null) {
182  ind.addProperty(GEO.EPSG, model.createTypedLiteral(this.epsg));
183  geom = ReprojectionUtils.reproject(geom, sourceCRS, epsg);
184  }
185  } catch (ParseException e) {
186  // TODO Auto-generated catch block
187  e.printStackTrace();
188  }
189  }
190  handled=true;
191  } else if (GEO.ASWKB.getURI().equals(curst.getPredicate().getURI().toString())
192  && this.epsg != null) {
193  if (curst.getObject().asLiteral().getString() != null) {
194  WKBReader wkbread=new WKBReader();
195  try {
196  geom = wkbread.read(curst.getObject().asLiteral().getString().getBytes());
197  if(this.epsg!=null) {
198  ind.addProperty(GEO.EPSG, model.createTypedLiteral(this.epsg));
199  geom = ReprojectionUtils.reproject(geom, sourceCRS, epsg);
200  }
201  } catch (ParseException e) {
202  // TODO Auto-generated catch block
203  e.printStackTrace();
204  }
205  }
206  handled=true;
207  } else if (GEO.ASHEXWKB.getURI().equals(curst.getPredicate().getURI().toString())
208  && this.epsg != null) {
209  if (curst.getObject().asLiteral().getString() != null) {
210  WKBReader wkbread=new WKBReader();
211  try {
212  geom = wkbread.read(WKBReader.hexToBytes(curst.getObject().asLiteral().getString()));
213  if(this.epsg!=null) {
214  ind.addProperty(GEO.EPSG, model.createTypedLiteral(this.epsg));
215  geom = ReprojectionUtils.reproject(geom, sourceCRS, epsg);
216  }
217  } catch (ParseException e) {
218  // TODO Auto-generated catch block
219  e.printStackTrace();
220  }
221  }
222  handled=true;
223  }else if (GEO.ASGML.getURI().equals(curst.getPredicate().getURI().toString())
224  && this.epsg != null) {
225  if (curst.getObject().asLiteral().getString() != null) {
226  GMLReader reader=new GMLReader();
227  try {
228  geom=reader.read(curst.getObject().asLiteral().getString(), new GeometryFactory());
229  if(this.epsg!=null) {
230  ind.addProperty(GEO.EPSG, model.createTypedLiteral(this.epsg));
231  geom = ReprojectionUtils.reproject(geom, sourceCRS, epsg);
232  }
233  } catch (SAXException | IOException | ParserConfigurationException e) {
234  // TODO Auto-generated catch block
235  e.printStackTrace();
236  }
237  }
238  handled=true;
239  }else if (GEO.P_LAT.getURI().equals(curst.getPredicate().getURI().toString())) {
240  lat = curst.getObject().asLiteral().getDouble();
241  handled=true;
242  } else if (GEO.P_LONG.getURI().equals(curst.getPredicate().getURI().toString())) {
243  lon = curst.getObject().asLiteral().getDouble();
244  handled=true;
245  } else if (GEO.GEORSSPOINT.getURI().equals(curst.getPredicate().getURI().toString())) {
246  lat = Double.valueOf(curst.getObject().asLiteral().getString().split(" ")[0]);
247  lon = Double.valueOf(curst.getObject().asLiteral().getString().split(" ")[1]);
248  handled=true;
249  }
250  return new Tuple<Boolean,String>(handled,type);
251  }
String sourceCRS
Definition: GeoModelWriter.java:34
Geometry geom
Definition: GeoModelWriter.java:36
Double lon
Definition: GeoModelWriter.java:32
Double lat
Definition: GeoModelWriter.java:32
WKTReader reader
Definition: ModelWriter.java:22

References GEO.ASGEOJSON, GEO.ASGML, GEO.ASHEXWKB, GEO.ASKML, GEO.ASWKB, GEO.ASWKT, GeoModelWriter.epsg, GEO.EPSG, GeoModelWriter.geom, GEO.GEORSSPOINT, GeoModelWriter.lat, GeoModelWriter.lon, GEO.P625, GEO.P_GEOMETRY, GEO.P_LAT, GEO.P_LONG, ModelWriter.reader, ReprojectionUtils.reproject(), and GeoModelWriter.sourceCRS.

Referenced by AbstractGeoJSONWriter.prepareGeoJSONString(), CoverageJSONWriter.write(), X3DWriter.write(), XYZASCIIWriter.write(), EWKTWriter.write(), GeoHashWriter.write(), GeoURIWriter.write(), GMLWriter.write(), GoogleMapsLinkWriter.write(), GPXWriter.write(), KMLWriter.write(), LatLonTextWriter.write(), MapMLWriter.write(), OpenLocationCodeWriter.write(), OSMLinkWriter.write(), OSMWriter.write(), SVGWriter.write(), TopoJSONWriter.write(), TWKBWriterr.write(), WKBWriterr.write(), WKTWriter.write(), XLSWriter.write(), and XLSXWriter.write().

◆ handleStyle()

static StyleObject handleStyle ( Resource  res)
staticinherited
52  {
53  StyleObject result=new StyleObject();
54  if(res.isURIResource()){
55  result.styleId=res.getURI().toString();
56  }
57  if(res.hasProperty(RDFS.label)){
58  result.styleName= res.getProperty(RDFS.label).getLiteral().getString();
59  }
60  if(res.hasProperty(GEO.POINTSTYLE)){
61  result.pointStyle=res.getProperty(GEO.POINTSTYLE).getLiteral().getString();
62  }
63  if(res.hasProperty(GEO.POINTIMAGE)){
64  result.pointImage=res.getProperty(GEO.POINTIMAGE).getLiteral().getString();
65  }
66  if(res.hasProperty(GEO.LINESTRINGSTYLE)){
67  result.lineStringStyle=res.getProperty(GEO.LINESTRINGSTYLE).getLiteral().getString();
68  }
69  if(res.hasProperty(GEO.LINESTRINGIMAGE)){
70  result.lineStringImage=res.getProperty(GEO.LINESTRINGIMAGE).getLiteral().getString();
71  }
72  if(res.hasProperty(GEO.LINESTRINGIMAGESTYLE)){
73  result.lineStringImageStyle=res.getProperty(GEO.LINESTRINGIMAGESTYLE).getLiteral().getString();
74  }
75  if(res.hasProperty(GEO.POLYGONSTYLE)){
76  result.polygonStyle=res.getProperty(GEO.POLYGONSTYLE).getLiteral().getString();
77  }
78  if(res.hasProperty(GEO.POLYGONIMAGE)){
79  result.polygonImage=res.getProperty(GEO.POLYGONIMAGE).getLiteral().getString();
80  }
81  if(res.hasProperty(GEO.HATCH)){
82  result.hatch=res.getProperty(GEO.HATCH).getLiteral().getString();
83  }
84  if(res.hasProperty(GEO.POPUPSTYLE)){
85  result.hatch=res.getProperty(GEO.POPUPSTYLE).getLiteral().getString();
86  }
87  if(res.hasProperty(GEO.TEXTSTYLE2)){
88  result.hatch=res.getProperty(GEO.TEXTSTYLE2).getLiteral().getString();
89  }
90  if(res.hasProperty(GEO.POINTSTYLE2)){
91  result.pointStyle=res.getProperty(GEO.POINTSTYLE2).getLiteral().getString();
92  }
93  if(res.hasProperty(GEO.POINTIMAGE2)){
94  result.pointImage=res.getProperty(GEO.POINTIMAGE2).getLiteral().getString();
95  }
96  if(res.hasProperty(GEO.LINESTRINGSTYLE2)){
97  result.lineStringStyle=res.getProperty(GEO.LINESTRINGSTYLE2).getLiteral().getString();
98  }
99  if(res.hasProperty(GEO.LINESTRINGIMAGE2)){
100  result.lineStringImage=res.getProperty(GEO.LINESTRINGIMAGE2).getLiteral().getString();
101  }
102  if(res.hasProperty(GEO.LINESTRINGIMAGESTYLE2)){
103  result.lineStringImageStyle=res.getProperty(GEO.LINESTRINGIMAGESTYLE2).getLiteral().getString();
104  }
105  if(res.hasProperty(GEO.POLYGONSTYLE2)){
106  result.polygonStyle=res.getProperty(GEO.POLYGONSTYLE2).getLiteral().getString();
107  }
108  if(res.hasProperty(GEO.POLYGONIMAGE2)){
109  result.polygonImage=res.getProperty(GEO.POLYGONIMAGE2).getLiteral().getString();
110  }
111  if(res.hasProperty(GEO.HATCH2)){
112  result.hatch=res.getProperty(GEO.HATCH2).getLiteral().getString();
113  }
114  if(res.hasProperty(GEO.POPUPSTYLE2)){
115  result.hatch=res.getProperty(GEO.POPUPSTYLE2).getLiteral().getString();
116  }
117  if(res.hasProperty(GEO.TEXTSTYLE2)){
118  result.hatch=res.getProperty(GEO.TEXTSTYLE2).getLiteral().getString();
119  }
120  if(res.hasProperty(GEO.POINTSTYLE2)){
121  result.pointStyle=res.getProperty(GEO.POINTSTYLE2).getLiteral().getString();
122  }
123  if(res.hasProperty(GEO.POINTIMAGE2)){
124  result.pointImage=res.getProperty(GEO.POINTIMAGE2).getLiteral().getString();
125  }
126  if(res.hasProperty(GEO.LINESTRINGSTYLE2)){
127  result.lineStringStyle=res.getProperty(GEO.LINESTRINGSTYLE2).getLiteral().getString();
128  }
129  if(res.hasProperty(GEO.LINESTRINGIMAGE2)){
130  result.lineStringImage=res.getProperty(GEO.LINESTRINGIMAGE2).getLiteral().getString();
131  }
132  if(res.hasProperty(GEO.LINESTRINGIMAGESTYLE2)){
133  result.lineStringImageStyle=res.getProperty(GEO.LINESTRINGIMAGESTYLE2).getLiteral().getString();
134  }
135  if(res.hasProperty(GEO.POLYGONSTYLE2)){
136  result.polygonStyle=res.getProperty(GEO.POLYGONSTYLE2).getLiteral().getString();
137  }
138  if(res.hasProperty(GEO.POLYGONIMAGE2)){
139  result.polygonImage=res.getProperty(GEO.POLYGONIMAGE2).getLiteral().getString();
140  }
141  if(res.hasProperty(GEO.HATCH2)){
142  result.polygonImage=res.getProperty(GEO.HATCH2).getLiteral().getString();
143  }
144  return result;
145  }

References StyleObject.hatch, GEO.HATCH, GEO.HATCH2, StyleObject.lineStringImage, GEO.LINESTRINGIMAGE, GEO.LINESTRINGIMAGE2, StyleObject.lineStringImageStyle, GEO.LINESTRINGIMAGESTYLE, GEO.LINESTRINGIMAGESTYLE2, StyleObject.lineStringStyle, GEO.LINESTRINGSTYLE, GEO.LINESTRINGSTYLE2, StyleObject.pointImage, GEO.POINTIMAGE, GEO.POINTIMAGE2, StyleObject.pointStyle, GEO.POINTSTYLE, GEO.POINTSTYLE2, StyleObject.polygonImage, GEO.POLYGONIMAGE, GEO.POLYGONIMAGE2, StyleObject.polygonStyle, GEO.POLYGONSTYLE, GEO.POLYGONSTYLE2, GEO.POPUPSTYLE, GEO.POPUPSTYLE2, StyleObject.styleId, StyleObject.styleName, and GEO.TEXTSTYLE2.

Referenced by ResourceDescription.getStyle(), AbstractGeoJSONWriter.prepareGeoJSONString(), and KMLWriter.write().

◆ write()

ExtendedIterator<Resource> write ( Model  model,
HttpServletResponse  response 
) throws IOException

Reimplemented from ModelWriter.

28  {
29  ExtendedIterator<Resource> it=super.write(model, response);
30  while (it.hasNext()) {
31  Resource ind = it.next();
32  if(ind.hasProperty(GEO.EPSG)) {
33  sourceCRS="EPSG:"+ind.getProperty(GEO.EPSG).getObject().asLiteral().getValue().toString();
34  }
35  StmtIterator it2 = ind.listProperties();
36  while (it2.hasNext()) {
37  Statement curst = it2.next();
38  this.handleGeometry(curst, ind, model);
39  }
40  }
41  try {
42  if(geom!=null) {
43  TWKBWriter writer=new TWKBWriter();
44  response.getWriter().write(WKBWriter.toHex(writer.write(geom)));
45  response.getWriter().close();
46  }else if (lat != null || lon != null) {
47  try {
48  geom = reader.read("Point("+lon+" "+lat+")");
49  if(this.epsg!=null) {
50  geom=ReprojectionUtils.reproject(geom, sourceCRS, epsg);
51  }
52  response.getWriter().write(geom.toText());
53  } catch (ParseException e) {
54  // TODO Auto-generated catch block
55  e.printStackTrace();
56  }
57  response.getWriter().close();
58  }else{
59  response.getWriter().write("");
60  response.getWriter().close();
61  }
62  } catch (JSONException e) {
63  // TODO Auto-generated catch block
64  e.printStackTrace();
65  } catch (IOException e) {
66  // TODO Auto-generated catch block
67  e.printStackTrace();
68  }
69  return null;
70  }
Tuple< Boolean, String > handleGeometry(Statement curst, Resource ind, Model model)
Definition: GeoModelWriter.java:148

References GeoModelWriter.epsg, GEO.EPSG, GeoModelWriter.geom, GeoModelWriter.handleGeometry(), GeoModelWriter.lat, GeoModelWriter.lon, ModelWriter.reader, ReprojectionUtils.reproject(), GeoModelWriter.sourceCRS, and TWKBWriter.write().

Member Data Documentation

◆ cov

GridCoverage cov
protectedinherited

◆ epsg

String epsg =null
protectedinherited

Referenced by AbstractGeoJSONWriter.AbstractGeoJSONWriter(), CoverageJSONWriter.CoverageJSONWriter(), CSVWriter.CSVWriter(), CypherWriter.CypherWriter(), ESRIJSONWriter.ESRIJSONWriter(), EWKTWriter.EWKTWriter(), EXIJSONWriter.EXIJSONWriter(), GDFWriter.GDFWriter(), GeobufWriter.GeobufWriter(), GeoHashWriter.GeoHashWriter(), GeoJSONLDWriter.GeoJSONLDWriter(), GeoJSONWriterr.GeoJSONWriterr(), GeoModelWriter.GeoModelWriter(), GeoURIWriter.GeoURIWriter(), GEXFWriter.GEXFWriter(), GMLWriter.GMLWriter(), GoogleMapsLinkWriter.GoogleMapsLinkWriter(), GPXWriter.GPXWriter(), GraphMLWriter.GraphMLWriter(), GRASSVectorASCIIWriter.GRASSVectorASCIIWriter(), GXLWriter.GXLWriter(), GeoModelWriter.handleGeometry(), HexTuplesWriter.HexTuplesWriter(), JSONPWriter.JSONPWriter(), KMLWriter.KMLWriter(), LatLonTextWriter.LatLonTextWriter(), LDWriter.LDWriter(), MapMLWriter.MapMLWriter(), OpenLocationCodeWriter.OpenLocationCodeWriter(), OSMLinkWriter.OSMLinkWriter(), OSMWriter.OSMWriter(), SHPWriter.SHPWriter(), SVGWriter.SVGWriter(), TGFWriter.TGFWriter(), TLPWriter.TLPWriter(), TopoJSONWriter.TopoJSONWriter(), TWKBWriterr.TWKBWriterr(), WKBRasterWriter.WKBRasterWriter(), WKBWriterr.WKBWriterr(), WKTWriter.WKTWriter(), X3DWriter.write(), XYZASCIIWriter.write(), ESRIJSONWriter.write(), EWKTWriter.write(), GeoURIWriter.write(), GoogleMapsLinkWriter.write(), GPXWriter.write(), MapMLWriter.write(), OSMLinkWriter.write(), TWKBWriterr.write(), WKBWriterr.write(), WKTWriter.write(), XLSWriter.write(), XLSXWriter.write(), LDWriter.write(), X3DWriter.X3DWriter(), XLSWriter.XLSWriter(), XLSXWriter.XLSXWriter(), XYZASCIIWriter.XYZASCIIWriter(), and YAMLWriter.YAMLWriter().

◆ geom

◆ lat

◆ lon

◆ reader

◆ sourceCRS

◆ styleformatter

◆ styleObject

StyleObject styleObject
protectedinherited

◆ usedProperty

Property usedProperty =null
protectedinherited