查询
创建shp
数据准备
let param={
code: "utf-8",
datalist: [
{
name:"地方",type:0,heigh:2.5,geom:"POINT(109.588 34.645)"},
{
name:"煽动反",type:2,heigh:3.2,geom:"POINT(109.588 34.645)"}
],
filepath: "D:gisdata/gp/aaa/sx_test.shp",
geomfiled: "geom",
keylist: [
{
filedname: "name",
type: "string"
},{
filedname: "type",
type: "int"
},{
filedname: "heigh",
type: "double"
}
],
type: "Point"
}
shp文件创建及添加数据
public void write2Shape(String shpPath, String encode, String geoType, String shpKey, List<ShpFiled> attrKeys, List<Map<String, Object>> data) {
WKTReader reader = new WKTReader();
try {
File file = new File(shpPath);
Map<String, Serializable> params = new HashMap<>();
params.put(ShapefileDataStoreFactory.URLP.key, file.toURI().toURL());
ShapefileDataStore ds = (ShapefileDataStore) new ShapefileDataStoreFactory().createNewDataStore(params);
SimpleFeatureTypeBuilder tb = new SimpleFeatureTypeBuilder();
tb.setCRS(DefaultGeographicCRS.WGS84);
tb.setName("sx_test");
tb.add("the_geom", getClass(geoType));
for (ShpFiled field : attrKeys) {
tb.add(field.getFiledname().toUpperCase(), getClass(field.getType()));
}
ds.createSchema(tb.buildFeatureType(