From e26af85e049516e6ce2b082bc2bc90bf71643e95 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期五, 24 三月 2023 09:06:30 +0800 Subject: [PATCH] 1 --- src/main/java/com/lf/server/helper/ShpHelper.java | 29 ++++++++++++----------------- 1 files changed, 12 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/lf/server/helper/ShpHelper.java b/src/main/java/com/lf/server/helper/ShpHelper.java index 1005a87..c953132 100644 --- a/src/main/java/com/lf/server/helper/ShpHelper.java +++ b/src/main/java/com/lf/server/helper/ShpHelper.java @@ -1,5 +1,6 @@ package com.lf.server.helper; +import com.lf.server.entity.all.StaticData; import com.lf.server.entity.ctrl.MarkJsonEntity; import com.lf.server.entity.ctrl.ShpRecordEntity; import org.apache.commons.logging.Log; @@ -170,22 +171,16 @@ return null; } - FieldDefn fdName = new FieldDefn("name", ogr.OFTString); - fdName.SetWidth(50); - layer.CreateField(fdName, 0); - - FieldDefn fdProps = new FieldDefn("props", ogr.OFTString); - fdProps.SetWidth(1024); - // layer.DeleteField(layer.FindFieldIndex("name", 1)) - layer.CreateField(fdProps, 1); + List<Field> fields = new ArrayList<>(); + GdbHelper.getFields(MarkJsonEntity.class, fields, StaticData.MARK_EXCLUDE_FIELDS); + GdbHelper.addLayerField(layer, fields); FeatureDefn featureDefn = layer.GetLayerDefn(); - for (MarkJsonEntity mje : list) { - Geometry geo = Geometry.CreateFromWkt(mje.getWkt()); - + for (MarkJsonEntity t : list) { Feature f = new Feature(featureDefn); - f.SetField(0, mje.getName()); - //f.SetField(1, mje.getProps()); + GdbHelper.setFeatureData(f, fields, t); + + Geometry geo = Geometry.CreateFromWkt(t.getWkt()); f.SetGeometry(geo); layer.CreateFeature(f); @@ -206,13 +201,13 @@ private static int getGeometryType(String type) { switch (type) { case "POINT": - return 1; + return ogr.wkbPoint; case "LINESTRING": - return 2; + return ogr.wkbLineString; case "POLYGON": - return 3; + return ogr.wkbPolygon; default: - return -1; + return ogr.wkbUnknown; } } -- Gitblit v1.9.3