flex polygon 序列化为txt 文本
当我们要把一个地块导出为txt的时候,应该怎么写,这是比较有用的这样可以帮助我们存档之类的,这里是基于某个地方的独立坐标系,是基于自己发布地图,如果是用百度地图或者其他网上的地图可能不适用。
package com.szpl.extension.util
{
import com.esri.ags.geometry.MapPoint;
import com.esri.ags.geometry.Polygon;
import com.esri.ags.layers.GraphicsLayer;
import com.esri.ags.symbols.SimpleFillSymbol;
import com.esri.ags.symbols.SimpleLineSymbol;
import com.szpl.extension.util.shp.shp.ShpPolygon; import flash.geom.Point; public class PointPolygonExchange
{
public function PointPolygonExchange()
{
} private var _pointstr:String=""; public function get pointstr():String
{
return _pointstr;
} public function set pointstr(value:String):void
{
_pointstr = value;
} // "x,y x,y x,y*x,y x,y..."
public function coordText_to_polygon(coordText:String):Polygon
{
var ringsText:Array = coordText.split("*"); var polygon:Polygon = new Polygon();
for each(var ringText:String in ringsText)
{
var ring:Array = coordText_to_Ring(ringText);
if(ring==null)
continue;
polygon.addRing(ring);
}
return polygon;
} public var xyChange:String = "x"; public function polygon_to_CoordText(polygon:*):String
{
var _polygon:Polygon = new Polygon();
if (polygon is ShpPolygon)
{
_polygon = (polygon as ShpPolygon).toPolygon();
}
else
{
_polygon = polygon as Polygon
}
xyChange = "x";
var polygonText:String="";
for each(var ring:Array in _polygon.rings)
{
var ringText:String = ring_to_CoordText(ring);
polygonText += ringText;
polygonText += "*";
} return polygonText.substr(0,polygonText.length -1);
} public function polygon_to_CoordTextXY(polygon:*):String
{
xyChange = "y";
var polygonText:String="";
for each(var ring:Array in polygon.rings)
{
var ringText:String = ring_to_CoordText(ring);
polygonText += ringText;
polygonText += "*";
} return polygonText.substr(0,polygonText.length -1);
} private function ring_to_CoordText(points:Array):String
{
var ringText:String="";
for each(var point:MapPoint in points)
{
var pointText:String = point_to_CoordText(point);
ringText += pointText;
ringText += " ";
}
return ringText.substr(0,ringText.length-1);
} private function coordText_to_Ring(coordText:String):Array
{
if(coordText=="")
return null;
var pointsText:Array = coordText.split(" ");
var ring:Array = new Array();
for each(var pointText:String in pointsText)
{
if(pointText!="")
{
var point:MapPoint = coordText_to_Point(pointText);
if (point != null)
ring.push(point);
} }
if (ring.length < 3)
return null;
ring.push(new MapPoint((ring[0] as MapPoint).x,(ring[0] as MapPoint).y));
return ring;
} private function point_to_CoordText(point:MapPoint):String
{
var x:String = point.x.toString();
var y:String = point.y.toString();
if(xyChange == "x")
return x + "," + y;
else
return y + "," + x;
} /// "343.234,23423.534"
private function coordText_to_Point(coordText:String):MapPoint{ var coord:Array = coordText.split(",");
if (coord.length != 2)
return null;
var x:Number = coord[1];
var y:Number = coord[0];
var point:MapPoint;
if (x > y)
point = new MapPoint(x, y, null);
else
point = new MapPoint(y, x, null);
return point;
} // "\r\n" ====> " "
public function txtFile_to_CoordText(txtFile:String):String
{
var regE:RegExp = new RegExp("\r\n", "g");
var str:String = txtFile.replace(regE," ");
return str;
} }
}
flex polygon 序列化为txt 文本的更多相关文章
- opencv从txt文本读取像素点并显示
opencv从txt文本读取像素点并显示 文本储存格式为每行一个像素点,排列为RGB.每帧图像的帧头为65535. 如下图所示 废话不多说,代码如下: // #include <iostrea ...
- 将搜狗词库.scel格式转化为.txt格式
由于项目中要用到词库,而下载的搜狗词库是.scel格式,所以就用python脚本将搜狗词库.scel格式文件转化为.txt格式文件. #!/bin/python # -*- coding: utf-8 ...
- JavaScriptSerializer类 对象序列化为JSON,JSON反序列化为对象
JavaScriptSerializer 类由异步通信层内部使用,用于序列化和反序列化在浏览器和 Web 服务器之间传递的数据.说白了就是能够直接将一个C#对象传送到前台页面成为javascript对 ...
- 将 C# 枚举序列化为 JSON 字符串 基础理论
该转换过程需要引用 Newtonsoft.JSON,这其中的转换过程还是蛮有意思的. 一.定义枚举 /// <summary> /// 托寄物品枚举 /// </summary> ...
- JavaScriptSerializer类 对象序列化为JSON,JSON反序列化为对象 。
JavaScriptSerializer 类由异步通信层内部使用,用于序列化和反序列化在浏览器和 Web 服务器之间传递的数据.说白了就是能够直接将一个C#对象传送到前台页面成为javascript对 ...
- java 使用xom对象数据序列化为xml、反序列化、Preferences相关操作小案例
package org.rui.io.xml; import java.io.BufferedOutputStream; import java.io.FileOutputStream; import ...
- ArcGIS Wpf MarkerSymbol 图形符号无法序列化为 JSON
[问题贴,尚不知如何解决] 在GraphicsLayer中添加一个点,使用自定义模板渲染该点,在Vs2012设计界面可以看到,但运行时出现异常 代码如下: <esri:Graphic x:Nam ...
- Qt txt文本中获取字符串的问题
QT对txt文本进行读写一般是采用QFile和QTextStream结合使用,在此不细说,主要说一下读取txt文本的注意事项.因为txt文本中有中文也有英文还有数字,要准确获得需要的字串可就要多一个心 ...
- Jquery 将表单序列化为Json对象
大家知道Jquery中有serialize方法,可以将表单序列化为一个“&”连接的字符串,但却没有提供序列化为Json的方法.不过,我们可以写一个插件实现. 我在网上看到有人用替换的方法,先用 ...
随机推荐
- Scala深入浅出实战经典---001-Scala开发环境搭建和HelloWorld解析
001-Scala开发环境搭建和HelloWorld解析 Scala 函数式编程和面向对象结合的语言 函数式编程擅长数值计算 面向对象擅长大型工程和项目的组织以及团队的分工协作 Scala会是下一个伟 ...
- ubuntu 编译oce Open CASCADE
前期准备 1 安装cmake 最新版本 sudo apt-get install cmake 2 安装OpenGl Library 和OpenGL Utilities sudo apt-get ins ...
- ETL工具与脚本实现之间的对比
scripts, custom code and individual vs. team development doesn’t scale And: ‣Lack of coding standard ...
- Python的平凡之路(11)
一. rabbitmq 1 进程Queue: 父进程与子进程进行交互,或者同属于同一父进程下多个子进程进行交互 2 队列通信: send1.py #!/usr/bin/env python#Au ...
- iOS获取设备信息
NSString *strName = [[UIDevice currentDevice] name]; // Name of the phone as named by user ...
- echo、print、sprint、sprintf输出
echo() 函数 定义和用法 echo() 函数输出一个或多个字符串. 语法 echo(strings) 参数 描述 strings 必需.一个或多个要发送到输出的字符串. 提示和注释 注释:ech ...
- 深入解读Linux与Android的相互关系(转-lining)
大家都知道Android是基于Linux内核的操作系统,也曾经和Linux基金会因为内核问题产生过分歧,本文将开始对Android的内核进行剖析,主要介绍Android和Linux之间的关系,后续还会 ...
- CommandExtra.lua --游戏命令扩展
--[[作者信息: Command Extra (游戏命令扩展) 作者QQ:247321453 作者Email:247321453@qq.com 修改日期:2014-3-12 功能:添加额外的命令.G ...
- Java 报表之JFreeChart(第一讲)
1.利用 JFreeChart 创建垂直柱状报表 package com.wcy.chart.bar; import javax.servlet.http.HttpSession; import or ...
- 知识积累:CGI,FastCGI,PHP-CGI与PHP-FPM
CGICGI全称是“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上.CGI可以用任何一种语 ...