📄 webpolylineconverter.java
字号:
package com.esri.solutions.jitk.data.gml;
import com.esri.adf.web.data.geometry.WebGeometry;
import com.esri.adf.web.data.geometry.WebPath;
import com.esri.adf.web.data.geometry.WebPoint;
import com.esri.adf.web.data.geometry.WebPolyline;
import com.esri.solutions.jitk.datasources.ogc.gml.GMLLineString;
import com.esri.solutions.jitk.datasources.ogc.gml.GMLMultiCurve;
import com.esri.solutions.jitk.datasources.ogc.gml.IGMLGeometry;
public class WebPolylineConverter implements IWebGeometryConverter {
enum GMLPolylineType {
LineString,
GMLMultiCurve
}
protected GMLPolylineType _lineType;
public WebPolylineConverter(GMLPolylineType lineType) {
_lineType = lineType;
}
public IGMLGeometry toGMLGeometry(WebGeometry geometry) {
switch (_lineType) {
case LineString:
return toGMLLineString(geometry);
case GMLMultiCurve:
default:
return toGMLMultiCurve(geometry);
}
}
public IGMLGeometry toGMLLineString(WebGeometry geometry) {
GMLLineString gmlLineString = new GMLLineString();
WebPolyline webPolyline = (WebPolyline) geometry;
StringBuilder lineString = new StringBuilder();
for (WebPath path : webPolyline.getPaths()) {
for (WebPoint point : path.getPoints()) {
if (lineString.length() > 0) {
lineString.append(" ");
}
lineString.append(point.getY());
lineString.append(" ");
lineString.append(point.getX());
}
}
gmlLineString.setPostList(lineString.toString());
return gmlLineString;
}
public IGMLGeometry toGMLMultiCurve(WebGeometry geometry) {
GMLMultiCurve mc = new GMLMultiCurve();
WebPolyline webPolyline = (WebPolyline) geometry;
for (WebPath path : webPolyline.getPaths()) {
StringBuilder lineString = new StringBuilder();
GMLLineString gmlLineString = new GMLLineString();
for (WebPoint point : path.getPoints()) {
if (lineString.length() > 0) {
lineString.append(" ");
}
lineString.append(point.getY());
lineString.append(" ");
lineString.append(point.getX());
}
gmlLineString.setPostList(lineString.toString());
mc.addLineString(gmlLineString);
}
return mc;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -