展开全部

package com.wangyin.seapay.loginkgo;

import java.util.HashMap;

import java.util.Map;

import java.util.logging.Level;

import java.util.logging.Logger;

import org.geotools.data.simple.SimpleFeatureCollection;

import org.geotools.process.Process;

import org.geotools.process.ProcessException;

import org.geotools.process.ProcessFactory;

import org.geotools.process.spatialstatistics.core.Params;

import org.geotools.process.spatialstatistics.enumeration.ThiessenAttributeMode;

import org.geotools.process.spatialstatistics.operations.ThiessenPolygonOperation;

import org.geotools.text.Text;

import org.geotools.util.NullProgressListener;

import org.geotools.util.logging.Logging;

import org.opengis.util.ProgressListener;

import com.vividsolutions.jts.geom.Geometry;

/**

* Created by hanxiaofei on 2018/4/11.

*/

public class ThiessenPolygonProcess extends AbstractStatisticsProcess {

protected static final Logger LOGGER = Logging.getLogger(ThiessenPolygonProcess.class);

private boolean started = false;

public ThiessenPolygonProcess(ProcessFactory factory) {

super(factory);

}

public ProcessFactory getFactory() {

return factory;

}

public static SimpleFeatureCollection process(SimpleFeatureCollection inputFeatures,

ThiessenAttributeMode attributes, Geometry clipArea, ProgressListener monitor) {

Map map = new HashMap();

map.put(ThiessenPolygonProcessFactory.inputFeatures.key, inputFeatures);

map.put(ThiessenPolygonProcessFactory.attributes.key, attributes);

map.put(ThiessenPolygonProcessFactory.clipArea.key, clipArea);

Process process = new ThiessenPolygonProcess(null);

Map resultMap;

try {

resultMap = process.execute(map, monitor);

return (SimpleFeatureCollection) resultMap

.get(ThiessenPolygonProcessFactory.RESULT.key);

} catch (ProcessException e) {

LOGGER.log(Level.FINER, e.getMessage(), e);

}

return null;

}

@62616964757a686964616fe58685e5aeb931333365646262Override

public Map execute(Map input, ProgressListener monitor)

throws ProcessException {

if (started)

throw new IllegalStateException("Process can only be run once");

started = true;

if (monitor == null)

monitor = new NullProgressListener();

try {

monitor.started();

monitor.setTask(Text.text("Grabbing arguments"));

monitor.progress(10.0f);

SimpleFeatureCollection inputFeatures = (SimpleFeatureCollection) Params.getValue(

input, ThiessenPolygonProcessFactory.inputFeatures, null);

if (inputFeatures == null) {

throw new NullPointerException("inputFeatures parameter required");

}

ThiessenAttributeMode attributes = (ThiessenAttributeMode) Params.getValue(input,

ThiessenPolygonProcessFactory.attributes,

ThiessenPolygonProcessFactory.attributes.sample);

Geometry clipArea = (Geometry) Params.getValue(input,

ThiessenPolygonProcessFactory.clipArea, null);

monitor.setTask(Text.text("Processing ..."));

monitor.progress(25.0f);

if (monitor.isCanceled()) {

return null; // user has canceled this operation

}

// start process

ThiessenPolygonOperation operation = new ThiessenPolygonOperation();

operation.setAttributeMode(attributes);

if (clipArea != null) {

operation.setClipArea(clipArea);

}

SimpleFeatureCollection resultFc = operation.execute(inputFeatures);

// end process

monitor.setTask(Text.text("Encoding result"));

monitor.progress(90.0f);

Map resultMap = new HashMap();

resultMap.put(ThiessenPolygonProcessFactory.RESULT.key, resultFc);

monitor.complete(); // same as 100.0f

return resultMap;

} catch (Exception eek) {

monitor.exceptionOccurred(eek);

return null;

} finally {

monitor.dispose();

}

}

}

泰森多边形 java_如何用Java写出泰森多边形算法代码???我找了好多资源表示无解呀?...相关推荐

  1. 武侠java_如何把 Java 写出武侠的感觉

    展开全部 //这是用面向对象的e68a843231313335323631343130323136353331333363373065思想写的古龙小说陆小凤传奇里的一小段 public class D ...

  2. 如何用java写出一个可更换皮肤的五子棋?

    文章目录 画棋盘 画棋子 判输赢 悔棋的功能 再来一局 更换皮肤 画棋盘 要下棋首先要有一个方格棋盘,一个普通的棋盘是由横线和竖线组成的,我们控制好间距就行,这里有很多常量,我们可以定义它,后期想修改 ...

  3. Java写出元旦特效代码

    在 Java 中,可以使用 ASCII 码或 Unicode 码来绘制元旦特效. 例如,可以使用 ASCII 码绘制一个烟花效果,具体实现方法如下: public class Fireworks {p ...

  4. java好的代码_做java软件工程师,怎样才能写出好的代码?

    原标题:做java软件工程师,怎样才能写出好的代码? Java代码之于java程序员而言就是左膀右臂,java代码写的好的java程序员明显更是企业的欢迎,一个优秀的java程序员的考核标准之一也是看 ...

  5. 如何用Java写一个斗地主(一)

    如何用Java写一个斗地主(一) 序言 正文 创建卡牌 打乱牌序 发牌 课后吐槽 序言 作为一名大三的普普通通大学生,被实习老师(?)强迫下,第一次开始写CSDN的博客,如果写的不好,请多多包涵咯. ...

  6. 如何用java写一个年日历

    如何用java写一个年日历 没啥难的,话不多说上代码

  7. r语言 python 股票_python r语言 股票!如何用python写出爬虫?

    python计时器问题? import time print('按下回车开始,按下 Ctrl C 暂停/停止计时.') while True: input("") starttim ...

  8. 怎样写出无法维护的代码

    每次写代码的时候,我都尽量写出一个尽可能方便其他人看得懂的代码,没办法,很多时候维护也是我自己,活着小的看不懂,还是我自己出手.但今天我想反其道而行之,怎样才能写出一份无法维护的代码. 原文在这里,原 ...

  9. python用什么软件编程1001python用什么软件编程-怎样才能写出 Pythonic 的代码 #P1001#...

    L = [ i*i fori inrange(5) ] forindex, data inenumerate(L, 1):print(index, ':', data) 去除 import 语句和列表 ...

最新文章

  1. MVC - 17.OA项目
  2. 009_Gson版本支持
  3. 【控制】《多智能体系统一致性与复杂网络同步控制》郭凌老师-第8章-Lurie 型动态网络自适应牵制控制
  4. MYSQL和ORACLE时区设置比较
  5. HBuilder:最快的Web开发IDE
  6. jsf集成spring_Spring和JSF集成:MVC螺母和螺栓
  7. 【转】[教程] CSS入门3:如何插入CSS样式
  8. MyBatis查询返回Map类型数据
  9. Spring Boot 2.x(十四):整合Redis,看这一篇就够了
  10. 计算机组装维护与故障排除教材,电脑组装、维护与故障排除(第2版)
  11. JAVA支付宝蚂蚁金服开放平台沙箱
  12. MFI认证——什么是苹果MFI认证
  13. 逍遥模拟器上传服务器文件,逍遥模拟器后台操作
  14. 苹果显示付款方式无效_最全实用收藏贴,如何设置苹果手机支付?令人头疼的问题终于解决...
  15. 阿里云4核8G服务器10M带宽支持在线人数并发量计算
  16. 获取iframe里面的数据
  17. 个性化品牌开始繁荣?为设计师和代工厂牵线的平台Maker's Row获得100万美元融资 | 36氪...
  18. 06-课堂笔记-包相关
  19. 弘辽科技:如何给抖音视频拟写好标题
  20. 全国高中数学联赛——几何

热门文章

  1. 【六一 iKun】Happy LiuYi, iKuns
  2. 聚乙烯醇和壳聚糖水凝胶复合物负载黑磷纳米片/壳聚糖氧化石墨烯纳米水凝胶的研究制备
  3. 阿里(达摩院)计算机视觉实习生二面(2021-4-28)
  4. 新的开始,从头来过!
  5. html5 光晕,HTML5 富有创意的光晕发散数据保存(提交)动效
  6. 问题解决:CDH6.3.1初始化scm_prepare_database数据库scm为空
  7. django ORM多表联合查询
  8. 浏览器UA mozilla/5.0发展史
  9. 开船后做cqc_用Simulaqron和CQC模拟分布式量子隐形传态
  10. js中的onchange事件