<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Geoinformatics &#187; SVG</title>
	<atom:link href="http://www.geoinformatics.cn/tag/svg/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.geoinformatics.cn</link>
	<description>Arts and Sciences move me on ...</description>
	<lastBuildDate>Fri, 13 Jan 2012 10:29:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>微软近日加入SVG工作组</title>
		<link>http://www.geoinformatics.cn/2010/01/%e5%be%ae%e8%bd%af%e8%bf%91%e6%97%a5%e5%8a%a0%e5%85%a5svg%e5%b7%a5%e4%bd%9c%e7%bb%84/</link>
		<comments>http://www.geoinformatics.cn/2010/01/%e5%be%ae%e8%bd%af%e8%bf%91%e6%97%a5%e5%8a%a0%e5%85%a5svg%e5%b7%a5%e4%bd%9c%e7%bb%84/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 02:07:04 +0000</pubDate>
		<dc:creator>长安旧梦</dc:creator>
				<category><![CDATA[技术心得]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[SVG]]></category>

		<guid isPermaLink="false">http://www.geoinformatics.cn/?p=2999</guid>
		<description><![CDATA[一年前，IE8发布前夕，就说微软要在最新的版本中放弃VML，采用SVG标准，但未后话。 不过，浏览器的矢量化渲染器的统一是大趋势。特别是在HTML5中，SVG的使用已经提上了议程。如果微软要想抓住这次机会，融入主流是必然的。马化腾以前讲过一个后进的原则，内容我记不太清楚，大概是说，并不是最先进入一个领域的人就能取得成功，关键是要拥有一定的资源，这样即使未能取得先机，但依然可以后发制人。这也是为什么，我们看到腾讯在拥有了广大QQ使用者之后，又推出了QQ拼音输入法（紧随搜狗，紫光，谷歌），拍拍（紧随淘宝）以及QQ校园等。 微软大概也遵循这一套行事准则，毕竟他是桌面系统的主宰者。不过，现在Web Os越来越流行，Google Chromium自不用说，几年前还名不见经传的Eye OS，最近也传言要被IBM收购，还有我认识的MIT的David Jia，他和其小组常驻Stata Center，也在做Web OS，同时也包括我最近使用的DropBox，等等一系列的Web OS应用逐步吞噬着微软Desktop OS的市场，其实也不难想，微软的发家概念就是“人手一台PC（Personal Computer）”，大家想想，如果每个人都有一台PC，而PC又需要Desktop OS，若都用Windows系统，对于微软则是很大的市场。但是现在讲云计算（Cloud Computation）, 每个人终端用户的核心数据和计算都是由云来实现的，对于Desktop的依赖越来越小。于是乎，这几年Google的发展很快，而微软由于自己理念的原因，尾大不调。 回到正题SVG，本科的时候，就在用SVG，当时坚信SVG就是GIS的发展的方向。但是后来发现，即使SVG仅仅在前台渲染，其需要的地图数据量也是相当巨大以至于处理艰难。后来，Google使用了MapReduce技术，用瓦片（Tiles）来对地图渲染，然后pre-cached到服务器里，这样大大减少了渲染所需要的时间，但是由于传输的是栅格数据，所以数据的前台互交功能就显得很单薄。没过几年，OpenLayers在其版本2.3（我记不得具体的版本了）中，实现了矢量数据的渲染，显示以及编辑。并支持主流的IE 6+，Opera和Firefox。具体来说，OpenLayers对浏览器进行识别，对于IE 6+ 使用VML进行渲染，而对于Opera和Firefox使用SVG进行渲染。而后，我在google map中也看到了如是的应用。SVG 和 VML并存使用是地图服务商的具体解决办法。最近Cartagen 也在进行一些基于Html5 的地图渲染实验, 无容置疑制图效果很好，内存消耗巨大。 Andreas Neumann 和 André m. Winter是用SVG进行制图的坚守者。2002年的时候，Andreas等人在苏黎世帝国理工就对SVG进行了卓有成效的研究，Carto.net展示了他们大部分的地图，其中一个SVG based yosemite map的项目 是其中的集大成者。关于微软加入SVG工作组的具体内容大家可以参考 Microsoft Joins SVG Working Group 这篇博文。]]></description>
			<content:encoded><![CDATA[<div id="attachment_3000" class="wp-caption alignleft" style="width: 61px"><a href="http://www.geoinformatics.cn/wp-content/uploads/2010/01/20090107_tmpSVGlogo.png" rel="shadowbox[sbpost-2999];player=img;" title="SVG logo"><img class="size-full wp-image-3000" title="SVG logo" src="http://www.geoinformatics.cn/wp-content/uploads/2010/01/20090107_tmpSVGlogo.png" alt="SVG logo" width="51" height="50" /></a><p class="wp-caption-text">SVG logo</p></div>
<p>一年前，IE8发布前夕，就说微软要在最新的版本中放弃VML，采用SVG标准，但未后话。</p>
<p>不过，浏览器的矢量化渲染器的统一是大趋势。特别是在HTML5中，SVG的使用已经提上了议程。如果微软要想抓住这次机会，融入主流是必然的。马化腾以前讲过一个后进的原则，内容我记不太清楚，大概是说，并不是最先进入一个领域的人就能取得成功，关键是要拥有一定的资源，这样即使未能取得先机，但依然可以后发制人。这也是为什么，我们看到腾讯在拥有了广大QQ使用者之后，又推出了QQ拼音输入法（紧随搜狗，紫光，谷歌），拍拍（紧随淘宝）以及QQ校园等。<span id="more-2999"></span></p>
<p>微软大概也遵循这一套行事准则，毕竟他是桌面系统的主宰者。不过，现在Web Os越来越流行，Google Chromium自不用说，几年前还名不见经传的Eye OS，最近也传言要被IBM收购，还有我认识的MIT的David Jia，他和其小组常驻Stata Center，也在做Web OS，同时也包括我最近使用的DropBox，等等一系列的Web OS应用逐步吞噬着微软Desktop OS的市场，其实也不难想，微软的发家概念就是“人手一台PC（Personal Computer）”，大家想想，如果每个人都有一台PC，而PC又需要Desktop OS，若都用Windows系统，对于微软则是很大的市场。但是现在讲云计算（Cloud Computation）, 每个人终端用户的核心数据和计算都是由云来实现的，对于Desktop的依赖越来越小。于是乎，这几年Google的发展很快，而微软由于自己理念的原因，尾大不调。</p>
<p>回到正题SVG，本科的时候，就在用SVG，当时坚信SVG就是GIS的发展的方向。但是后来发现，即使SVG仅仅在前台渲染，其需要的地图数据量也是相当巨大以至于处理艰难。后来，Google使用了MapReduce技术，用瓦片（Tiles）来对地图渲染，然后pre-cached到服务器里，这样大大减少了渲染所需要的时间，但是由于传输的是栅格数据，所以数据的前台互交功能就显得很单薄。没过几年，OpenLayers在其版本2.3（我记不得具体的版本了）中，实现了矢量数据的渲染，显示以及编辑。并支持主流的IE 6+，Opera和Firefox。具体来说，OpenLayers对浏览器进行识别，对于IE 6+ 使用VML进行渲染，而对于Opera和Firefox使用SVG进行渲染。而后，我在google map中也看到了如是的应用。SVG 和 VML并存使用是地图服务商的具体解决办法。最近<a href="http://map.cartagen.org/">Cartagen</a> 也在进行一些基于Html5 的地图渲染实验, 无容置疑制图效果很好，内存消耗巨大。</p>
<p><a href="http://www.carto.net/neumann/">Andreas Neumann</a> 和 <a href="http://www.carto.net/andre.mw/">André m. Winter</a>是用SVG进行制图的坚守者。2002年的时候，<a href="http://www.carto.net/neumann/">Andreas</a>等人在苏黎世帝国理工就对SVG进行了卓有成效的研究，<a href="http://www.carto.net/" target="_blank">Carto.net</a>展示了他们大部分的地图，其中一个<a href="http://www.carto.net/williams/yosemite/" target="_blank">SVG based yosemite map</a>的项目 是其中的集大成者。关于微软加入SVG工作组的具体内容大家可以参考 <a href="http://www.osnews.com/story/22701/Microsoft_Joins_SVG_Working_Group"><em>Microsoft Joins SVG Working Group</em></a> 这篇博文。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geoinformatics.cn/2010/01/%e5%be%ae%e8%bd%af%e8%bf%91%e6%97%a5%e5%8a%a0%e5%85%a5svg%e5%b7%a5%e4%bd%9c%e7%bb%84/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Internet Explorer 8将支持SVG</title>
		<link>http://www.geoinformatics.cn/2007/10/internet-explorer-8%e5%b0%86%e6%94%af%e6%8c%81svg/</link>
		<comments>http://www.geoinformatics.cn/2007/10/internet-explorer-8%e5%b0%86%e6%94%af%e6%8c%81svg/#comments</comments>
		<pubDate>Wed, 03 Oct 2007 03:43:10 +0000</pubDate>
		<dc:creator>长安旧梦</dc:creator>
				<category><![CDATA[技术心得]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[SVG]]></category>

		<guid isPermaLink="false">http://www.geoinformatics.cn/index.php/category/svg/20071002515.html</guid>
		<description><![CDATA[也许这是地图爱好者得知的最好消息了:)自Adobe宣布将业务转向Flash，进而停止对SVG支持的开发研制以来，多少地图爱好者与开发者扼腕顿足。以下是对IE 8具体技术细节的曝光： 1.首先是对矢量绘图技术的支持,Adobe最后将SVG插件废弃,开发人员也不知道用什么去取代,而IE8将原生支持SVG,并为Web开发者提供更便利的渠道。 2.对于AJAX和组件模型的开发一直是IE8开发计划的重中之重,首先它将提供对CSS 2.1布局标准的支持。 3.IE的扩展功能将更便于使用,开发者成功开发一个扩展所花费的力气更小.并且微软正在设法提供基于客户端应用程序界面(API)以支持本地存储和mash-up。]]></description>
			<content:encoded><![CDATA[<p>也许这是地图爱好者得知的最好消息了:)自Adobe宣布将业务转向Flash，进而停止对SVG支持的开发研制以来，多少地图爱好者与开发者扼腕顿足。以下是对IE 8具体技术细节的曝光：</p>
<p>1.首先是对矢量绘图技术的支持,Adobe最后将SVG插件废弃,开发人员也不知道用什么去取代,而IE8将原生支持SVG,并为Web开发者提供更便利的渠道。</p>
<p>2.对于AJAX和组件模型的开发一直是IE8开发计划的重中之重,首先它将提供对CSS 2.1布局标准的支持。</p>
<p>3.IE的扩展功能将更便于使用,开发者成功开发一个扩展所花费的力气更小.并且微软正在设法提供基于客户端应用程序界面(API)以支持本地存储和mash-up。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geoinformatics.cn/2007/10/internet-explorer-8%e5%b0%86%e6%94%af%e6%8c%81svg/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>FLEX2对SVG的支持</title>
		<link>http://www.geoinformatics.cn/2007/07/flex2%e5%af%b9svg%e7%9a%84%e6%94%af%e6%8c%81/</link>
		<comments>http://www.geoinformatics.cn/2007/07/flex2%e5%af%b9svg%e7%9a%84%e6%94%af%e6%8c%81/#comments</comments>
		<pubDate>Wed, 01 Aug 2007 02:58:00 +0000</pubDate>
		<dc:creator>长安旧梦</dc:creator>
				<category><![CDATA[技术心得]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[SVG]]></category>

		<guid isPermaLink="false">http://www.geoinformatics.cn/index.php/category/svg/20070731472.html</guid>
		<description><![CDATA[By Firefight 在FLEX2应用程序中可以使用SVG资源, 但只能象JPG和GIF那样作为一种图像引入, 而不包括SVG的一些高级特性, 而且无法在运行时加载, 只能在编译时静态加载. Flex目前支持SVG1.1规范的一部分, 范围包括SVG文档结构, CSS风格, 变换, 路径, 基本图形, 颜色, 以及文本,绘图, 渐变和字体功能的一部分, 不支持SVG动画,脚本和事件, 而且也无法实现FLEX应用程序与SVG之间的交互. 所以说FLEX对SVG的支持是基本的和静态的. 下面是一个在FLEX中加载SVG的例子 &#60;?xml version=&#8221;1.0&#8243; encoding=&#8221;utf-8&#8243;?&#62; &#60;mx:Application xmlns:mx=&#8221;http://www.adobe.com/2006/mxml&#8221; width=&#8221;800&#8243; height=&#8221;600&#8243;&#62; &#60;mx:Script&#62; &#60;![CDATA[ [Embed(source="res/test.svg")] [Bindable] public var svgTest:Class; ]]&#62; &#60;/mx:Script&#62; &#60;mx:Image id=&#8221;svg1&#8243; source=&#8221;{svgTest}&#8221; width=&#8221;128&#8243; height=&#8221;130&#8243;/&#62; &#60;/mx:Application&#62; 编译运行后, 可以发现在BIN目录下的RES目录中被拷贝了一个同名的test.svg文件, 这说明FLEX应用是使用链接而不是嵌入的方式处理SVG文档的, 这同其它图像资源是相同的. 但是对其它类型资源,例如FLASH, 可以使用SWFLoader动态加载, 例如: loader = new SWFLoader(); loader.load(&#8220;res/segment4.swf&#8221;); 但SVG不能进行动态加载, [...]]]></description>
			<content:encoded><![CDATA[<p><em><strong>By Firefight</strong></em></p>
<p>在FLEX2应用程序中可以使用SVG资源, 但只能象JPG和GIF那样作为一种图像引入, 而不包括SVG的一些高级特性, 而且无法在运行时加载, 只能在编译时静态加载.<br />
Flex目前支持SVG1.1规范的一部分, 范围包括SVG文档结构, CSS风格, 变换, 路径, 基本图形, 颜色, 以及文本,绘图, 渐变和字体功能的一部分,  不支持SVG动画,脚本和事件, 而且也无法实现FLEX应用程序与SVG之间的交互.<br />
所以说FLEX对SVG的支持是基本的和静态的.<br />
下面是一个在FLEX中加载SVG的例子<br />
&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;utf-8&#8243;?&gt;<br />
&lt;mx:Application xmlns:mx=&#8221;http://www.adobe.com/2006/mxml&#8221;<br />
width=&#8221;800&#8243; height=&#8221;600&#8243;&gt;<br />
&lt;mx:Script&gt;<br />
&lt;![CDATA[<br />
[Embed(source="res/test.svg")]<br />
[Bindable]<br />
public var svgTest:Class;<br />
]]&gt;<br />
&lt;/mx:Script&gt;<br />
&lt;mx:Image id=&#8221;svg1&#8243; source=&#8221;{svgTest}&#8221; width=&#8221;128&#8243; height=&#8221;130&#8243;/&gt;<br />
&lt;/mx:Application&gt;</p>
<p>编译运行后, 可以发现在BIN目录下的RES目录中被拷贝了一个同名的test.svg文件, 这说明FLEX应用是使用链接而不是嵌入的方式处理SVG文档的, 这同其它图像资源是相同的.<br />
但是对其它类型资源,例如FLASH, 可以使用SWFLoader动态加载, 例如:<br />
loader = new SWFLoader();<br />
loader.load(&#8220;res/segment4.swf&#8221;);<br />
但SVG不能进行动态加载, 希望FLEX能够进一步增加对SVG的支持力度, 至少包括动态加载,脚本和事件, 最好还有SVG动画等.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geoinformatics.cn/2007/07/flex2%e5%af%b9svg%e7%9a%84%e6%94%af%e6%8c%81/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Adobe SVG Viewer would not update anymore.</title>
		<link>http://www.geoinformatics.cn/2006/11/adobe-svg-viewer-would-not-update-anymore/</link>
		<comments>http://www.geoinformatics.cn/2006/11/adobe-svg-viewer-would-not-update-anymore/#comments</comments>
		<pubDate>Wed, 15 Nov 2006 00:17:56 +0000</pubDate>
		<dc:creator>长安旧梦</dc:creator>
				<category><![CDATA[技术心得]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[SVG]]></category>

		<guid isPermaLink="false">http://www.geoinformatics.cn/index.php/category/svg/20061114335.html</guid>
		<description><![CDATA[It&#8217;s a big shock to me after the new, Adobe has decided to discontinue support for Adobe SVG Viewer starting from January 1, 2008 (End of Life FAQ), come. I still remember the days when I focus on SVG and the work I have done. I have to accept the fact. This development is not [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s a big shock to me after the new, Adobe has decided to discontinue support for Adobe SVG Viewer starting from January 1, 2008 (End of Life FAQ), come. I still remember the days when I focus on SVG and the work I have done. I have to accept the fact. This development is not surprising after their acquisition of Macromedia, and there is hope that by the time Adobe SVG Viewer is discontinued there will be mature alternatives for all the Internet Explorer users.<br />
They even plan to remove Adobe SVG Viewer from the Adobe.com download area on January 1, 2009, and redistribution by third parties is not allowed by the licence.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geoinformatics.cn/2006/11/adobe-svg-viewer-would-not-update-anymore/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>用Wiki来协作完成著作</title>
		<link>http://www.geoinformatics.cn/2006/10/%e7%94%a8wiki%e6%9d%a5%e5%8d%8f%e4%bd%9c%e5%ae%8c%e6%88%90%e8%91%97%e4%bd%9c/</link>
		<comments>http://www.geoinformatics.cn/2006/10/%e7%94%a8wiki%e6%9d%a5%e5%8d%8f%e4%bd%9c%e5%ae%8c%e6%88%90%e8%91%97%e4%bd%9c/#comments</comments>
		<pubDate>Mon, 16 Oct 2006 20:45:36 +0000</pubDate>
		<dc:creator>长安旧梦</dc:creator>
				<category><![CDATA[技术心得]]></category>
		<category><![CDATA[SVG]]></category>
		<category><![CDATA[WIKI]]></category>

		<guid isPermaLink="false">http://www.geoinformatics.cn/index.php/category/svg/20061016269.html</guid>
		<description><![CDATA[今天在3snews上闲逛，发现了啄木鸟开源社区（Woodpecker.org.cn 是一个开放的运用CoP模式的协作组织，关注Python语言的在中国的应用/推广/学习… ，该社区通过维基汇集文章，分享Python体验/知识/经验/技巧） 该社区的文档组织结构非常清晰，当然了这是Wiki的妙处，关键是又多用户协作的功能。其实当初最早写《SVG可视化与网络制图》的时候，也想基于Wiki来实现，不过没有找到一个很好的解决方案。一度，我尝试用了schuff，但是发现对中国用户来说，非常之慢。当然我还尝试了其他的wiki网站，都是有一定的局限性，特别是对于多用户协作方面。今天看到啄木鸟用的wiki——moinmoin心里突然有了想法，用wiki来组织我的书稿协作，希望更多关心者参与到其中，来协助我一道完成。 虽然可能moinmoin不是一个很好的选择，因为他需要后台有python加以支持。不过，我本科的时候做毕业光盘，用到了TiddyWiki，这是一个很好的选择。有空多关注一下，用WIKI来进行管理。]]></description>
			<content:encoded><![CDATA[<p>今天在3snews上闲逛，发现了<a href="/Woodpecker.org.cn">啄木鸟开源社区</a>（Woodpecker.org.cn 是一个开放的运用CoP模式的协作组织，关注Python语言的在中国的应用/推广/学习… ，该社区通过维基汇集文章，分享Python体验/知识/经验/技巧）<br />
该社区的文档组织结构非常清晰，当然了这是Wiki的妙处，关键是又多用户协作的功能。其实当初最早写《SVG可视化与网络制图》的时候，也想基于Wiki来实现，不过没有找到一个很好的解决方案。一度，我尝试用了<a href="http://www.schuff.com">schuff</a>，但是发现对中国用户来说，非常之慢。当然我还尝试了其他的wiki网站，都是有一定的局限性，特别是对于多用户协作方面。今天看到啄木鸟用的wiki——<a href="http://moinmoin.wikiwikiweb.de/">moinmoin</a>心里突然有了想法，用wiki来组织我的书稿协作，希望更多关心者参与到其中，来协助我一道完成。<br />
虽然可能moinmoin不是一个很好的选择，因为他需要后台有python加以支持。不过，我本科的时候做毕业光盘，用到了TiddyWiki，这是一个很好的选择。有空多关注一下，用WIKI来进行管理。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geoinformatics.cn/2006/10/%e7%94%a8wiki%e6%9d%a5%e5%8d%8f%e4%bd%9c%e5%ae%8c%e6%88%90%e8%91%97%e4%bd%9c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Keep on Moving</title>
		<link>http://www.geoinformatics.cn/2006/09/keep-on-moving/</link>
		<comments>http://www.geoinformatics.cn/2006/09/keep-on-moving/#comments</comments>
		<pubDate>Mon, 25 Sep 2006 04:34:28 +0000</pubDate>
		<dc:creator>长安旧梦</dc:creator>
				<category><![CDATA[技术心得]]></category>
		<category><![CDATA[OpenGIS]]></category>
		<category><![CDATA[SVG]]></category>
		<category><![CDATA[WebGIS]]></category>
		<category><![CDATA[开源]]></category>

		<guid isPermaLink="false">http://www.geoinformatics.cn/index.php/category/opensource/20060924211.html</guid>
		<description><![CDATA[最近一直在忙于那本《SVG可视化与网络制图》的编写工作，疏忽了Geoinformatics的更新，Musicman在这里对大家表示歉意。初稿已经写了一半了，在filter和web architecture方面我想借鉴以前和晓曼写的相关文章。其实说起来，用SVG的filter对图像做高通滤波以及计算NDVI确实是晓曼和我的一个创举，毕竟它将SVG直接用在了遥感数据处理的最前线。谈到web architecture还是要用Opensource的架构，Ajax的应用还是作为探讨的好，但是作为OpenGIS的极力支持者，宣传它是义不容辞的。 最近在SVG 内置脚本和外部脚本的引用上有些小问题，有空专心研究一下。]]></description>
			<content:encoded><![CDATA[<p>最近一直在忙于那本<strong>《SVG可视化与网络制图》</strong>的编写工作，疏忽了Geoinformatics的更新，Musicman在这里对大家表示歉意。初稿已经写了一半了，在filter和web architecture方面我想借鉴以前和晓曼写的相关文章。其实说起来，用SVG的filter对图像做高通滤波以及计算NDVI确实是晓曼和我的一个创举，毕竟它将SVG直接用在了遥感数据处理的最前线。谈到web architecture还是要用Opensource的架构，Ajax的应用还是作为探讨的好，但是作为OpenGIS的极力支持者，宣传它是义不容辞的。</p>
<p>最近在SVG 内置脚本和外部脚本的引用上有些小问题，有空专心研究一下。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geoinformatics.cn/2006/09/keep-on-moving/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>千里之行, 始于足下.</title>
		<link>http://www.geoinformatics.cn/2006/09/%e5%8d%83%e9%87%8c%e4%b9%8b%e8%a1%8c%ef%bc%8c%e5%a7%8b%e4%ba%8e%e8%b6%b3%e4%b8%8b/</link>
		<comments>http://www.geoinformatics.cn/2006/09/%e5%8d%83%e9%87%8c%e4%b9%8b%e8%a1%8c%ef%bc%8c%e5%a7%8b%e4%ba%8e%e8%b6%b3%e4%b8%8b/#comments</comments>
		<pubDate>Fri, 15 Sep 2006 02:40:24 +0000</pubDate>
		<dc:creator>长安旧梦</dc:creator>
				<category><![CDATA[技术心得]]></category>
		<category><![CDATA[生活感悟]]></category>
		<category><![CDATA[SVG]]></category>
		<category><![CDATA[WebGIS]]></category>

		<guid isPermaLink="false">http://www.geoinformatics.cn/index.php/category/life/20060914205.html</guid>
		<description><![CDATA[ 一直构思着把自己所学的SVG以及WebGIS相关的东西写下来，和国内的同仁进行交流，从大三到现在梦想一直没有破灭过。最近一直在忙土地利用的东西，但是心里一只惦记着写一本关于SVG和WebGIS的书。 从八月份到现在，我一直在筹划写书的事宜，近来一周，我逐渐把思路理顺了，列出了提纲。希望自己能抽出时间来，完成自己心中的夙愿。书的名字暂定为SVG Visualization and Web Mapping，即《SVG可视化与网络制图》。我会抽时间将自己的成果公布给大家，希望同仁们能多多提意见。同时，哪位仁兄有时间帮我更新一下geoinformatics.cn, 最近确实是得要向我们张书记说得那样，忙碌起来，“嚼得菜根，做得大事”。争取在10月中旬把书的初稿写出来，带到今年在武汉举行的Geoinformatics 2006去。 努力吧，Musicman，Ctrl+N My 23.]]></description>
			<content:encoded><![CDATA[<p><img width="150" src="/wp-content/uploads/meez20060915.gif" align="right" /> 一直构思着把自己所学的SVG以及WebGIS相关的东西写下来，和国内的同仁进行交流，从大三到现在梦想一直没有破灭过。最近一直在忙土地利用的东西，但是心里一只惦记着写一本关于SVG和WebGIS的书。</p>
<p>从八月份到现在，我一直在筹划写书的事宜，近来一周，我逐渐把思路理顺了，列出了提纲。希望自己能抽出时间来，完成自己心中的夙愿。书的名字暂定为<em><strong>SVG Visualization and Web Mapping</strong></em>，即<strong>《SVG可视化与网络制图》</strong>。我会抽时间将自己的成果公布给大家，希望同仁们能多多提意见。同时，哪位仁兄有时间帮我更新一下geoinformatics.cn, 最近确实是得要向我们张书记说得那样，忙碌起来，“嚼得菜根，做得大事”。争取在10月中旬把书的初稿写出来，带到今年在武汉举行的Geoinformatics 2006去。</p>
<p>努力吧，Musicman，Ctrl+N My 23.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geoinformatics.cn/2006/09/%e5%8d%83%e9%87%8c%e4%b9%8b%e8%a1%8c%ef%bc%8c%e5%a7%8b%e4%ba%8e%e8%b6%b3%e4%b8%8b/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>ArcGIS works with Illustrator</title>
		<link>http://www.geoinformatics.cn/2006/09/arcgis-work-with-illustrator/</link>
		<comments>http://www.geoinformatics.cn/2006/09/arcgis-work-with-illustrator/#comments</comments>
		<pubDate>Thu, 07 Sep 2006 15:10:52 +0000</pubDate>
		<dc:creator>长安旧梦</dc:creator>
				<category><![CDATA[技术心得]]></category>
		<category><![CDATA[ArcGIS]]></category>
		<category><![CDATA[Illustrator]]></category>
		<category><![CDATA[Map]]></category>
		<category><![CDATA[SVG]]></category>

		<guid isPermaLink="false">http://www.geoinformatics.cn/index.php/category/carto/20060907191.html</guid>
		<description><![CDATA[记得前一段时间给南京做产业用地布局的时候，我们作图基本上是用arcGIS做好地理地图，然后将底图输出成jpg的格式，导入到illustrator中去。然后在illustrator中进行产业发展轴之类的布局。 最近在做昆明的项目，仔细看了一下arcGIS中export map的设置，可以输出诸如*.svg, *.ai之类的格式，这样的话，可以直接在illustrator中处理矢量地图，较为方便。用illustrator作图，比用arcGIS要美观很多，同时，较之photoshop在矢量处理中也有很多优势。所以以后难做的图就尽量不用“ps一下”，而更多地会是“it一下”。]]></description>
			<content:encoded><![CDATA[<p>记得前一段时间给南京做产业用地布局的时候，我们作图基本上是用arcGIS做好地理地图，然后将底图输出成jpg的格式，导入到illustrator中去。然后在illustrator中进行产业发展轴之类的布局。 最近在做昆明的项目，仔细看了一下arcGIS中export map的设置，可以输出诸如*.svg, *.ai之类的格式，这样的话，可以直接在illustrator中处理矢量地图，较为方便。用illustrator作图，比用arcGIS要美观很多，同时，较之photoshop在矢量处理中也有很多优势。所以以后难做的图就尽量不用“ps一下”，而更多地会是“it一下”。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geoinformatics.cn/2006/09/arcgis-work-with-illustrator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IE/FF/Opera importNode</title>
		<link>http://www.geoinformatics.cn/2006/05/ieffopera-importnode/</link>
		<comments>http://www.geoinformatics.cn/2006/05/ieffopera-importnode/#comments</comments>
		<pubDate>Fri, 19 May 2006 15:05:02 +0000</pubDate>
		<dc:creator>长安旧梦</dc:creator>
				<category><![CDATA[技术心得]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[SVG]]></category>

		<guid isPermaLink="false">http://www.geoinformatics.cn/index.php/category/ajax/2006051954.html</guid>
		<description><![CDATA[今天起了个大早,还是对昨天的程序作试验.发现,向把服务器端的返回XML,即responseXML直接添加到本地的页面文档还真是不容易. 对于FF来说,是很方便的,毕竟它已经渐渐遵循DOM core 3,有了importNode等method,拥有把一个XML文档片断加到另一个XML文档之中的能力。 对于Opera，和IE和FF都不相同，起码importNode是不能用的。 IE是令人最动肝火的，整整忙了4天了，联我的MSXML都为了这次调试升级到了6.0。什么.xml=.xml我都利用上了，开始还给人惊喜，可以将XML赋予前者，并且可以alert出来。但是最后才发现也就仅仅是把值赋给了xml。当时那个郁闷啊，仅有的曙光，消逝的感觉。 当然我也尝试过更加变态的方法，比如说，把一段XML的字符串当作textNode加入文档，然后想通过从新parse的方法在变成其他的子孙节点，还是不行。。如果有那位dom高手，可以给我指点一下，毕竟这对我太重要啦。。 难道老天真的是想让我把所以的节点都遍历一遍么????]]></description>
			<content:encoded><![CDATA[<p>今天起了个大早,还是对昨天的程序作试验.发现,向把服务器端的返回XML,即responseXML直接添加到本地的页面文档还真是不容易.<br />
对于FF来说,是很方便的,毕竟它已经渐渐遵循DOM core 3,有了importNode等method,拥有把一个XML文档片断加到另一个XML文档之中的能力。<br />
对于Opera，和IE和FF都不相同，起码importNode是不能用的。<br />
IE是令人最动肝火的，整整忙了4天了，联我的MSXML都为了这次调试升级到了6.0。什么<element>.xml=<element2>.xml我都利用上了，开始还给人惊喜，可以将XML赋予前者，并且可以alert出来。但是最后才发现也就仅仅是把值赋给了xml。当时那个郁闷啊，仅有的曙光，消逝的感觉。</p>
<p>当然我也尝试过更加变态的方法，比如说，把一段XML的字符串当作textNode加入文档，然后想通过从新parse的方法在变成其他的子孙节点，还是不行。。如果有那位dom高手，可以给我指点一下，毕竟这对我太重要啦。。<br />
<em>难道老天真的是想让我把所以的节点都遍历一遍么????</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.geoinformatics.cn/2006/05/ieffopera-importnode/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ajax &amp; SVG</title>
		<link>http://www.geoinformatics.cn/2006/05/ajax-svg/</link>
		<comments>http://www.geoinformatics.cn/2006/05/ajax-svg/#comments</comments>
		<pubDate>Thu, 18 May 2006 19:22:37 +0000</pubDate>
		<dc:creator>长安旧梦</dc:creator>
				<category><![CDATA[技术心得]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[SVG]]></category>

		<guid isPermaLink="false">http://www.geoinformatics.cn/index.php/category/ajax/2006081156.html</guid>
		<description><![CDATA[最近作了很多试验，才发现，在SVG利用Ajax交互和在普通的网页中用Ajax交互不是同一个概念。如何更好的分配服务器和客户端的负荷~~。。such a long way to go. dom标准规定一个document不能插入另外一个document的node。不同的frame/window里的 document自然是不同的。从一个document clone出来的（或者create出来的）是不能被append或者insert到其他document中的。当然，dom3增加了importNode方法，是可以用来导入其他document的node的。但是ie不支持（也许ie 7.0会支持）。在我做的试验里,ff还是支持两个不同的DOM树之间的appenchild操作的,但是opera和IE 6,就不是不行..郁闷:cry: 所以ff可以使用importNode这样高效率的dom方法，对于ie来说只能用innerHTML = serialize(otherNode)这样的方式。serialize方法把一个node串行化成字符串。在ie环境的具体实现上，对于XmlDocument，使用node.xml，对于HtmlDocument，使用node.outerHTML。]]></description>
			<content:encoded><![CDATA[<p>最近作了很多试验，才发现，在SVG利用Ajax交互和在普通的网页中用Ajax交互不是同一个概念。如何更好的分配服务器和客户端的负荷~~。。such a long way to go.</p>
<p>dom标准规定一个document不能插入另外一个document的node。不同的frame/window里的 document自然是不同的。从一个document clone出来的（或者create出来的）是不能被append或者insert到其他document中的。当然，dom3增加了importNode方法，是可以用来导入其他document的node的。但是ie不支持（也许ie 7.0会支持）。在我做的试验里,ff还是支持两个不同的DOM树之间的appenchild操作的,但是opera和IE 6,就不是不行..郁闷:cry:</p>
<p>所以ff可以使用importNode这样高效率的dom方法，对于ie来说只能用innerHTML = serialize(otherNode)这样的方式。serialize方法把一个node串行化成字符串。在ie环境的具体实现上，对于XmlDocument，使用node.xml，对于HtmlDocument，使用node.outerHTML。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geoinformatics.cn/2006/05/ajax-svg/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>when things go wrong, the steps you should take</title>
		<link>http://www.geoinformatics.cn/2006/05/when-things-go-wrong-the-steps-you-should-take/</link>
		<comments>http://www.geoinformatics.cn/2006/05/when-things-go-wrong-the-steps-you-should-take/#comments</comments>
		<pubDate>Tue, 02 May 2006 22:46:05 +0000</pubDate>
		<dc:creator>长安旧梦</dc:creator>
				<category><![CDATA[技术心得]]></category>
		<category><![CDATA[SVG]]></category>

		<guid isPermaLink="false">http://www.geoinformatics.cn/index.php/category/svg/2006050262.html</guid>
		<description><![CDATA[During more complex SVG projects, such as this project, one regularly runs into errors and developing problems. The following tricks can help during development: load the serverside function manually to check if there aren&#8217;t any error messages in the generated code, such as PHP error messages. Often the generated code requested is already in error, [...]]]></description>
			<content:encoded><![CDATA[<p>During more complex SVG projects, such as this project, one regularly runs into errors and developing problems. The following tricks can help during development:</p>
<ol>
<li>load the serverside function manually to check if there aren&#8217;t any error messages in the generated code, such as PHP error messages. Often the generated code requested is already in error, contains error messages or is not valid or well formed.</li>
<li>XML is not wellformed: validate the file if things go wrong and you don&#8217;t know what&#8217;s wrong. In many cases an invalid XML structure is the cause of problems</li>
<li>Use Batik or other SVG viewers (e.g. Opera9 or MozillaSVG): Apache Batik is an excellent SVG development tool that is stricter in parsing SVG than ASV. This often helps detect problems. It also helps to compare error messages of different SVG viewers</li>
<li>Use the Batik integrated JavaScript debugger to find errors in the js-code: you need to enable the debugger as follows: Open &#8220;Edit&#8221; → &#8220;Preferences&#8221;, go to the &#8220;Browser Options&#8221; → &#8220;Security Settings&#8221; tab and turn off &#8220;Enforce secure scripting&#8221;. Close the preferences window using the &#8220;OK&#8221; button. Open the debugger with &#8220;Tools&#8221; → &#8220;Script Debugger&#8221;. Reload the SVG file to activate the debugger.</li>
<li>Turn on the &#8220;Validating XML parser&#8221; in Batik: Go to &#8220;Edit&#8221; → &#8220;Preferences&#8221; → &#8220;Browser Options&#8221; and turn on the &#8220;Use a validating XML parser&#8221; checkbox</li>
<li>Use the &#8220;Save As&#8221; functionality of ASV and Batik to save the current state of the DOM (after script execution and (partial) data-loading) to see if the loaded syntax is correct after receiving data with getURL(). To do so, add the line <?AdobeSVGViewer save="snapshot"?> as a processing instruction after the DOCTYPE declaration. This enables the &#8220;Save the actual state of the DOM&#8221; function in ASV if you right click in the plugin and use the &#8220;Save AS&#8221; command. Open it in an XML validator and check the syntax. In Batik (newest CVS version) there is a &#8220;Save As&#8221; entry in the &#8220;File&#8221; menu that allows to save the current state of the DOM to a file.</li>
<li>Ask a SVG discussion group or forum, such as the yahoogroups svg-developers list or the Apache Batik email list</li>
<li>ask the author of this tutorial for help: but please ONLY after all the other options failed!</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.geoinformatics.cn/2006/05/when-things-go-wrong-the-steps-you-should-take/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>用XSLT把GML转SVG然后压缩，发布一个矢量的map</title>
		<link>http://www.geoinformatics.cn/2006/01/%e7%94%a8xslt%e6%8a%8agml%e8%bd%acsvg%e7%84%b6%e5%90%8e%e5%8e%8b%e7%bc%a9%ef%bc%8c%e5%8f%91%e5%b8%83%e4%b8%80%e4%b8%aa%e7%9f%a2%e9%87%8f%e7%9a%84map/</link>
		<comments>http://www.geoinformatics.cn/2006/01/%e7%94%a8xslt%e6%8a%8agml%e8%bd%acsvg%e7%84%b6%e5%90%8e%e5%8e%8b%e7%bc%a9%ef%bc%8c%e5%8f%91%e5%b8%83%e4%b8%80%e4%b8%aa%e7%9f%a2%e9%87%8f%e7%9a%84map/#comments</comments>
		<pubDate>Sun, 22 Jan 2006 16:51:33 +0000</pubDate>
		<dc:creator>长安旧梦</dc:creator>
				<category><![CDATA[技术心得]]></category>
		<category><![CDATA[SVG]]></category>
		<category><![CDATA[WebGIS]]></category>

		<guid isPermaLink="false">http://www.geoinformatics.cn/index.php/category/webgis/2006012281.html</guid>
		<description><![CDATA[写的一个demo，3.8M的Provinces.gml（仅空间数据）发布成压缩过的SVG后327K。 这是load4.htm的代码 var svgEmb = null; var svgDoc = null; function init() { svgEmb = document.embeds["SVG1"]; //alert(svgEmb); svgDoc = svgEmb.getSVGDocument(); svgEmb.window.getURL("line.aspx",loadSVG,"text/xml"); } function loadSVG(templeContent) { if(templeContent.success) { var domResponse = svgEmb.window.parseXML(templeContent.content); var frag = svgEmb.window.parseXML(svgEmb.window.printNode(domResponse.getElementsByTagName("svg").item(0)), svgDoc); //frag.firstChild.setAttribute("transform","scale(1,-1)"); svgDoc.replaceChild(frag.firstChild, svgDoc.rootElement); //svgDoc.rootElement.appendChild(frag.firstChild); svgDoc.getElementById("omVectorLayer").setAttribute("transform","scale(1,-1)"); var svgRect = svgDoc.rootElement.getBBox(); //var svgRect = svgDoc.getElementById("omVectorLayer").getBBox(); var strViewBox = svgRect.x + " [...]]]></description>
			<content:encoded><![CDATA[<p>写的一个demo，3.8M的Provinces.gml（仅空间数据）发布成压缩过的SVG后327K。<br />
这是load4.htm的代码<br />
<coolcode lang="xm"><br />
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><br />
<html><br />
<head><br />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></p>
<p><script>
var svgEmb = null;
var svgDoc = null;</p>
<p>function init()
{
svgEmb = document.embeds["SVG1"];
//alert(svgEmb);
svgDoc = svgEmb.getSVGDocument();
svgEmb.window.getURL("line.aspx",loadSVG,"text/xml");
}</p>
<p>function loadSVG(templeContent)
{
if(templeContent.success)
{
var domResponse = svgEmb.window.parseXML(templeContent.content);
var frag = svgEmb.window.parseXML(svgEmb.window.printNode(domResponse.getElementsByTagName("svg").item(0)), svgDoc);
//frag.firstChild.setAttribute("transform","scale(1,-1)");
svgDoc.replaceChild(frag.firstChild, svgDoc.rootElement);
//svgDoc.rootElement.appendChild(frag.firstChild);
svgDoc.getElementById("omVectorLayer").setAttribute("transform","scale(1,-1)");</p>
<p>var svgRect = svgDoc.rootElement.getBBox();
//var svgRect = svgDoc.getElementById("omVectorLayer").getBBox();
var strViewBox = svgRect.x + " " + svgRect.y + " " + svgRect.width + " " + svgRect.height;
//alert(svgRect.x);
svgDoc.rootElement.setAttribute("viewBox", strViewBox);</p>
<p>}
}</p>
<p>function getSvg()
{
//var oPop = window.open();
//oPop.document.body.innerText = svgEmb.window.printNode(svgDoc);
alert(svgEmb.window.printNode(svgDoc));
//svgDoc.rootElement.setAttribute("transform","scale(1,-1)");
}</p>
<p>function getViewBox()
{
alert(svgDoc.rootElement.getAttribute("viewBox"));
}
</script><br />
</head></p>
<p><body onLoad="init()" bgcolor="#666600" background="background.jpg"><br />
<embed id="SVG1" width="50" height="50" src="test.svg"></embed></p>
<input value="getsvg" type="button" onClick="getSvg()">
<input value="getviewbox" type="button" onClick="getViewBox()">
</body><br />
</html></p>
<p>这是line.aspx的C#代码,需要ZIPLIB<br />
this.Response.ContentType = &#8220;image/svg+xml&#8221;;<br />
XslTransform xslt = new XslTransform();<br />
xslt.Load(Server.MapPath(&#8220;Region.xsl&#8221;));<br />
XPathDocument xpathdocument = new XPathDocument(Server.MapPath(&#8220;chinese.gml&#8221;));<br />
GZipOutputStream CompressedOutput = new GZipOutputStream(Response.OutputStream, 100);<br />
XmlTextWriter writer = new XmlTextWriter(CompressedOutput, Encoding.UTF8);<br />
writer.Formatting=Formatting.Indented;<br />
xslt.Transform(xpathdocument, null, writer, null);<br />
CompressedOutput.Finish();<br />
</coolcode><br />
下面是截图，弹的的数字的当前的viewbox。（少了几个省是因为XSLT还没写完）</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geoinformatics.cn/2006/01/%e7%94%a8xslt%e6%8a%8agml%e8%bd%acsvg%e7%84%b6%e5%90%8e%e5%8e%8b%e7%bc%a9%ef%bc%8c%e5%8f%91%e5%b8%83%e4%b8%80%e4%b8%aa%e7%9f%a2%e9%87%8f%e7%9a%84map/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Mobile SVG</title>
		<link>http://www.geoinformatics.cn/2005/12/mobile-svg/</link>
		<comments>http://www.geoinformatics.cn/2005/12/mobile-svg/#comments</comments>
		<pubDate>Wed, 07 Dec 2005 03:34:52 +0000</pubDate>
		<dc:creator>长安旧梦</dc:creator>
				<category><![CDATA[技术心得]]></category>
		<category><![CDATA[SVG]]></category>

		<guid isPermaLink="false">http://www.geoinformatics.cn/index.php/category/miscellaneous/2006120684.html</guid>
		<description><![CDATA[移动图形新标准——Mobile SVG SVG(Scapable Vector Graphics，可缩放矢量图像)是互联网联盟(W3C)的正式推荐标准，它是一种使用XML来描述二维图像的语言。SVG允许3种形式的图像对象存在，分别是矢量图形（如由直线、曲线等组成的路径）、点阵图像和文本。各种图像对象能够组合、变换，并且能修改其样式，也能够定义成预处理对象以便再用。SVG还支持各种特效，包括嵌套变换、路径剪裁、透明度处理、滤镜效果以及模板对象等。同时，SVG可以是互动和动态的，动画可以直接加入SVG文本，也可以通过脚本加入。在新的SVG版本中，还可以表现视频、音频等其它信息。SVG通过使用脚本语言来完成比较复杂的应用，脚本语言调用SVG对象模型(SVG Document Object Model)来访问或控制所有的元素、属性和属性值。任何一种SVG图像元素都能使用脚本来处理类似鼠标单击、双击以及键盘输入等事件。由于SVG文本是XML名字空间中的有效字符，这些字符能作为SVG图像的关键字而通过搜索引擎进行查询。 与现有的图像格式（如JPEG、GIF和PNG等）和矢量图形格式（如VML、PDF、SWF等）相比，SVG具有如下优势： 1) 基于XML标准 XML是W3C的推荐标准，用于结构化的信息交换，已经得到广泛的普及和应用。SVG是建立在此基础上的，有很明显的优势，如：广泛的国际化基础、强大的结构化能力、以及对象模型等。 2) 高质量的图像 由于基于矢量，使得SVG图像的质量得到大大的提高。放大、缩小以及各种特效都比位图的表现要好，在打印的时候，完全可以印刷质量输出图片。SVG图像在客户端动态绘制，用户可以随意调整图像的一些参数而不会导致图像模糊。SVG图像的大小只与图形的复杂程度有关，而与图形的具体尺寸无关。 3) 更精确的颜色 SVG可靠的颜色特性将给下一代在线电子商务带来许多新的面貌——系统可以根据浏览器窗口的配色方案下载与之相匹配的配色方案。SVG支持ICC色彩概貌的行业标准，如sRGB。 4) 灵活易用的文件格式 SVG主要由３个部分组成：矢量图形、位图和文字。由于SVG文件是以文本的形式（XML）存放的，更改起来是非常方便的。也就是说，不用任何图像处理工具，仅仅用记事本就可以生成一个SVG图像。 5) 支持互动和动画 SVG支持SMIL（synchronized multimedia integration language），允许用户自由地同SVG中的元素完成一些互动，从而完成既定的目标，这一点在目前单独依靠图片是完成不了的，需要由网页中的Script语句来实现。 6) 支持字符查找 由于SVG是文本格式，查找图像中的字符在SVG中成为可能（在其它格式的图像文件中是不可思议的）。 7) 支持Xlink 和Xpointer 可以在SVG文档中加入超链接，这样我们可以制作一个完全由SVG构成的WEB站点，这个站点可以包含图片、动画、文本等多媒体信息，并拥有与用户进行互动的能力。 SVG是一种真正开放式的、不依赖供应商的2D矢量图形格式 SVG由W3C开发和维护，W3C曾定义了HTML和XML这样的开放标准。而且，SVG不属于任何人，也没有专利权。这意味着，不存在许可费用，供应商可以无缝地创作和分享内容。不同于Mac OS的PICT或Windows的WMF等其它矢量格式，SVG具有平台独立性。 9) SVG从开始设计，就注定是一种强大的通用标准 制订SVG的W3C工作组成员包括Macromedia、Adobe和AutoDesk，它们都有强烈的意愿，尽量把支持其格式的更多功能包括在SVG里面。这使得SVG适用于范围很广的各种应用，包括CAD、GIS和娱乐。 Mobile SVG及其特点 由于SVG的大部分特性也非常适合于无线领域的图形应用，无线领域要求开发更适合于移动设备上应用的SVG形式，为了满足业界的需求，互联网联盟(W3C)的SVG工作小组制订了适合于移动应用领域的专用标准Mobile SVG。由于移动设备在CPU速度、内存大小、支持的显示颜色等各个参数上有很大的不同，单一的专业标准很难满足所有移动设备的要求。所以，为了覆盖不同移动设备家族的需求，SVG工作小组最终制订了两个级别的Mobile SVG专业标准。第一级别的专业标准是SVG Tiny (SVGT)，适用于资源高度受限的移动设备，如手机；第二级别的专业标准是SVG Basic (SVGB)，适用于高端的移动设备，如PDA等。由于移动设备的CPU速度、内存容量、显示屏都比较小，相对于SVG，Mobile SVG在支持的内容、属性、功能等方面作了限制。为了保持内容和处理软件的兼容性，在制订标准时，把SVGT列入SVGB的子集，把SVGB列入SVG的子集。按SVG格式制作的图像在保持图像线条等不变的同时，通过降低精度、省略线条的粗细和浓淡等信息标记可以将其转换成SVG Basic和SVG Tiny格式。 Mobile SVG与位图相比，在对动画、地图和互动图形进行编码和显示方面的优势是明显的。位图是静态的，而矢量图形是动态的、可以缩放的，可以描述非常高级的图形特点，如动画、分层图形、半透明对象、画中画、复杂形状和字体效果。另外，Mobile SVG所制作的矢量图形可以执行交互式操作，如可以缩放、平移、附加链接。 [...]]]></description>
			<content:encoded><![CDATA[<p>移动图形新标准——Mobile SVG</p>
<p>SVG(Scapable Vector Graphics，可缩放矢量图像)是互联网联盟(W3C)的正式推荐标准，它是一种使用XML来描述二维图像的语言。SVG允许3种形式的图像对象存在，分别是矢量图形（如由直线、曲线等组成的路径）、点阵图像和文本。各种图像对象能够组合、变换，并且能修改其样式，也能够定义成预处理对象以便再用。SVG还支持各种特效，包括嵌套变换、路径剪裁、透明度处理、滤镜效果以及模板对象等。同时，SVG可以是互动和动态的，动画可以直接加入SVG文本，也可以通过脚本加入。在新的SVG版本中，还可以表现视频、音频等其它信息。SVG通过使用脚本语言来完成比较复杂的应用，脚本语言调用SVG对象模型(SVG Document Object Model)来访问或控制所有的元素、属性和属性值。任何一种SVG图像元素都能使用脚本来处理类似鼠标单击、双击以及键盘输入等事件。由于SVG文本是XML名字空间中的有效字符，这些字符能作为SVG图像的关键字而通过搜索引擎进行查询。</p>
<p>与现有的图像格式（如JPEG、GIF和PNG等）和矢量图形格式（如VML、PDF、SWF等）相比，SVG具有如下优势：</p>
<p>1) 基于XML标准</p>
<p>XML是W3C的推荐标准，用于结构化的信息交换，已经得到广泛的普及和应用。SVG是建立在此基础上的，有很明显的优势，如：广泛的国际化基础、强大的结构化能力、以及对象模型等。</p>
<p>2) 高质量的图像</p>
<p>由于基于矢量，使得SVG图像的质量得到大大的提高。放大、缩小以及各种特效都比位图的表现要好，在打印的时候，完全可以印刷质量输出图片。SVG图像在客户端动态绘制，用户可以随意调整图像的一些参数而不会导致图像模糊。SVG图像的大小只与图形的复杂程度有关，而与图形的具体尺寸无关。</p>
<p>3) 更精确的颜色</p>
<p>SVG可靠的颜色特性将给下一代在线电子商务带来许多新的面貌——系统可以根据浏览器窗口的配色方案下载与之相匹配的配色方案。SVG支持ICC色彩概貌的行业标准，如sRGB。</p>
<p>4) 灵活易用的文件格式</p>
<p>SVG主要由３个部分组成：矢量图形、位图和文字。由于SVG文件是以文本的形式（XML）存放的，更改起来是非常方便的。也就是说，不用任何图像处理工具，仅仅用记事本就可以生成一个SVG图像。</p>
<p>5) 支持互动和动画</p>
<p>SVG支持SMIL（synchronized multimedia integration language），允许用户自由地同SVG中的元素完成一些互动，从而完成既定的目标，这一点在目前单独依靠图片是完成不了的，需要由网页中的Script语句来实现。</p>
<p>6) 支持字符查找</p>
<p>由于SVG是文本格式，查找图像中的字符在SVG中成为可能（在其它格式的图像文件中是不可思议的）。</p>
<p>7) 支持Xlink 和Xpointer</p>
<p>可以在SVG文档中加入超链接，这样我们可以制作一个完全由SVG构成的WEB站点，这个站点可以包含图片、动画、文本等多媒体信息，并拥有与用户进行互动的能力。</p>
<p> <img src='http://www.geoinformatics.cn/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> SVG是一种真正开放式的、不依赖供应商的2D矢量图形格式</p>
<p>SVG由W3C开发和维护，W3C曾定义了HTML和XML这样的开放标准。而且，SVG不属于任何人，也没有专利权。这意味着，不存在许可费用，供应商可以无缝地创作和分享内容。不同于Mac OS的PICT或Windows的WMF等其它矢量格式，SVG具有平台独立性。</p>
<p>9) SVG从开始设计，就注定是一种强大的通用标准</p>
<p>制订SVG的W3C工作组成员包括Macromedia、Adobe和AutoDesk，它们都有强烈的意愿，尽量把支持其格式的更多功能包括在SVG里面。这使得SVG适用于范围很广的各种应用，包括CAD、GIS和娱乐。</p>
<p>Mobile SVG及其特点</p>
<p>由于SVG的大部分特性也非常适合于无线领域的图形应用，无线领域要求开发更适合于移动设备上应用的SVG形式，为了满足业界的需求，互联网联盟(W3C)的SVG工作小组制订了适合于移动应用领域的专用标准Mobile SVG。由于移动设备在CPU速度、内存大小、支持的显示颜色等各个参数上有很大的不同，单一的专业标准很难满足所有移动设备的要求。所以，为了覆盖不同移动设备家族的需求，SVG工作小组最终制订了两个级别的Mobile SVG专业标准。第一级别的专业标准是SVG Tiny (SVGT)，适用于资源高度受限的移动设备，如手机；第二级别的专业标准是SVG Basic (SVGB)，适用于高端的移动设备，如PDA等。由于移动设备的CPU速度、内存容量、显示屏都比较小，相对于SVG，Mobile SVG在支持的内容、属性、功能等方面作了限制。为了保持内容和处理软件的兼容性，在制订标准时，把SVGT列入SVGB的子集，把SVGB列入SVG的子集。按SVG格式制作的图像在保持图像线条等不变的同时，通过降低精度、省略线条的粗细和浓淡等信息标记可以将其转换成SVG Basic和SVG Tiny格式。</p>
<p>Mobile SVG与位图相比，在对动画、地图和互动图形进行编码和显示方面的优势是明显的。位图是静态的，而矢量图形是动态的、可以缩放的，可以描述非常高级的图形特点，如动画、分层图形、半透明对象、画中画、复杂形状和字体效果。另外，Mobile SVG所制作的矢量图形可以执行交互式操作，如可以缩放、平移、附加链接。</p>
<p>利用Mobile SVG的缩放性，图形就可以调整大小，以适应任何显示器或打印机，或者分辨率，而不会导致品质损失。这在无线世界是一个优势，因移动设备的形状和尺寸很多。用户还可以在不影响图形质量的情况下对图形进行放大，特别是用手机的小屏幕看图时比较有用。</p>
<p>Mobile SVG文件通常小于位图文件，从而可以缩短无线下载时间，这点对于非常计较带宽的移动应用来说，尤其重要。 另一个例子，如将当前屏幕上的图形放大时，若是位图，则会出现使图像模糊的马赛克效应，此时若要获得高质量的放大图像，则需重新从服务器获取放大后的图像，增加了网络的流量；而SVG图形是矢量数据，只需利用原来的数据，在客户端进行放大就可以得到没有质量损失的放大图形。</p>
<p>Mobile SVG的另一个强大功能是可以存储图形中各元素的相关信息。例如，SVG可以识别出图形中某个带有一个三角形的正方形是一所房子，并且可以知道房子的楼层数等信息。SVG还支持事件，从而可以产生超链接或者嵌入文字的弹出窗口，以向用户提供更多的信息或者可点击的选项。另外，由于SVG是文本格式，可以利用基本的搜索引擎对SVG图形中的文字进行搜索，这样可以查询SVG图形中具有某种属性的图形元素，如上面所说的房子。</p>
<p>Mobile SVG将增强MMS</p>
<p>Mobile SVG最近已被3GPP组织所采纳，用于多媒体短信服务(MMS)。采用Mobile SVG,将使许多2.5G和3G MMS服务成为现实。</p>
<p>基于Mobile SVG的MMS与无线系统目前提供的简单文本和基于位图的图形相比，可以使用户获得互动性更强和更引人入胜的体验。另一方面，节省带宽可能是Mobile SVG最吸引运营商的特点。Mobile SVG不同于流式音频和视频，它可以顺利工作于2.5G，甚至2G网络。内容丰富、互动的Mobile SVG动画可以在小于12kb的带宽上传输。</p>
<p>Mobile SVG增强了MMS短信，这对于手机制造商具有明显的吸引力。而且与运营商一样，OEM厂商也可以在不对设计作重大变动或不显著增加成本的情况下，增加Mobile SVG功能。由于Mobile SVG是内容如此丰富和通用的平台，最适合于帮助设备制造商提供差别化服务。</p>
<p>现在已出现相应的工具，可以把现有的内容转换成Mobile SVG，并根据手机和网络条件进行优化，因此，内容供应商将能够降低开发难度和成本。借助于合适的系统内容，开发商应该能够创作或一次性地转换自己的内容，使几乎所有的设备都能显示这些内容，只要这些设备具备相应的功能和SVG播放器。这种情况类似于现在用HTML制作网页。</p>
<p>对于下一代无线系统（3G）来说，是否能够成功取决于用户。而对于无线用户来说，如果存在充分的理由让他们更换现有的手机，他们就会更换。经由像Mobile SVG这样以用户为中心的技术增强的MMS，将会产生更多促使手机升级的充分的理由。所以，对于业界来说，其面对的挑战是实现和应用Mobile SVG。</p>
<p>Mobile SVG适合的其它应用类型和内容</p>
<p>虽然Mobile SVG已开始在MMS上显露身手，而实际上除了MMS，Mobile SVG还有丰富的应用，包括：娱乐：互动卡通、贺卡和动画等。</p>
<p>基于位置的服务：在地图上显示运动物体及相关链接，同时允许用户缩放地图、切换不同图层的可见性、选择特定的区域等；具体应用如汽车导航、汽车调度、电子导游、移动广告等。</p>
<p>现场服务：包括技术制图，借助于Mobile SVG，就可以绘制出前后一致的、高品质的图像，可以看全景，也可以看局部细节。</p>
<p>Email附件：借助Mobile SVG，可以在支持MMS的移动设备上显示常见的办公文档，如MS Word、MS PowerPoint、Adobe PDF等文档格式，并且保持文档内容的格式、图形、字体信息的完整性。</p>
<p>其它任何JPG、GIF或其它位图格式不能满足要求的无线应用场合，如要求提供内容丰富、可伸缩、互动的图形或动画的地方。</p>
<p>对于实现Mobile SVG的考虑</p>
<p>Mobile SVG主要用于各种资源非常有限的移动设备，所以在实现Mobile SVG时，性能指标成为最主要的指标。手机的内存很小，CPU的速度也很慢，PDA的内存会稍微大一点，CPU的处理能力会好一点，但两者的显示屏分辨率都很小。尽管Mobile SVG针对移动设备进行了特别的设计，使得在移动设备上实现SVG更容易，但要实现一个用户代理还是要实现XML解析、脚本、DOM、图像库、渲染等功能。</p>
<p>一般来说，XML解析比较快，而DOM则会消耗很大的内存。图像的渲染则更是消耗大量的CPU时间和内存。在这些方面花些功夫，很有可能获得性能的较大提高。另外，移动设备的浮动运算一般都很慢，所以优化算法，尽量减少浮动运算，也是提高性能的一个方面。</p>
<p>另一方面，要显示的SVG内容决定了渲染的性能。在生成SVG素材的时候应注意哪些方面呢？首先，很显然，要显示的图像元素越多，要渲染的时间越长。当然，对图形的特效处理，如滤镜、渐变填充、平滑处理等，都会增加渲染的时间，所以在确实必要的时候才使用这些功能。</p>
<p>总的来说，在实现Mobile SVG的过程中，需要运营商、终端制造商、内容提供商共同努力，才能使Mobile SVG的无限魅力在资源受限的移动设备上大放光彩。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geoinformatics.cn/2005/12/mobile-svg/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>在WAMP平台上开发基于GML与SVG的webGIS</title>
		<link>http://www.geoinformatics.cn/2005/11/%e5%9c%a8wamp%e5%b9%b3%e5%8f%b0%e4%b8%8a%e5%bc%80%e5%8f%91%e5%9f%ba%e4%ba%8egml%e4%b8%8esvg%e7%9a%84webgis/</link>
		<comments>http://www.geoinformatics.cn/2005/11/%e5%9c%a8wamp%e5%b9%b3%e5%8f%b0%e4%b8%8a%e5%bc%80%e5%8f%91%e5%9f%ba%e4%ba%8egml%e4%b8%8esvg%e7%9a%84webgis/#comments</comments>
		<pubDate>Mon, 07 Nov 2005 17:15:57 +0000</pubDate>
		<dc:creator>长安旧梦</dc:creator>
				<category><![CDATA[技术心得]]></category>
		<category><![CDATA[GIS]]></category>
		<category><![CDATA[SVG]]></category>
		<category><![CDATA[WebGIS]]></category>

		<guid isPermaLink="false">http://www.geoinformatics.cn/index.php/category/gis/2005110789.html</guid>
		<description><![CDATA[Name: 在WAMP平台上开发基于GML与SVG的webGIS Key words: WAMP(WIndows, Apache, MySQL, PHP), GML, SVG, webGIS Abstract: Schema: Summary 我要干什么：我要开发一个webGIS 我要怎么做：在WAMP平台，GML，SVG为技术 我为什么这么做：廉价，方便，简单。 下文的写作是怎样组织的。 我这本书是写给什么样的基础的人所看的。 WAMP 安装 调试 基本语法（PHP ） GML 是什么 我为什么用它 相关软件，生成 SVG 是什么 我为什么用它 相关软件，生成及展示 WebGIS 现在有什么样的webGIS。 我为什么这么做，用我的方法有什么好处。 以后的展望。 开始讲怎么来做这件事。（这里将是书的大头） 数据 数据库的建立 数据的生成 数据库在服务器的存储和管理 地图投影的实现 首先介绍地图投影， 代码的关键部分 样式 首先说明样式和地理位置的分离的好处，（我觉得，样式可能更多的属于属性信息） 符号库 填充的样式 线状（可能这里就是我所要解决的问题了） 空间组织方式 地图 图层 时间序列的良好展示（因为SVG支持动画） 台风 土地类型变更 [...]]]></description>
			<content:encoded><![CDATA[<p>Name: 在WAMP平台上开发基于GML与SVG的webGIS<br />
Key words: WAMP(WIndows, Apache, MySQL, PHP), GML, SVG, webGIS<br />
Abstract:<br />
Schema:</p>
<p>Summary<br />
我要干什么：我要开发一个webGIS<br />
我要怎么做：在WAMP平台，GML，SVG为技术<br />
我为什么这么做：廉价，方便，简单。<br />
下文的写作是怎样组织的。<br />
我这本书是写给什么样的基础的人所看的。<br />
WAMP<br />
安装<br />
调试<br />
基本语法（PHP ）<br />
GML<br />
是什么<br />
我为什么用它<br />
相关软件，生成<br />
SVG<br />
是什么<br />
我为什么用它<br />
相关软件，生成及展示<br />
WebGIS<br />
现在有什么样的webGIS。<br />
我为什么这么做，用我的方法有什么好处。<br />
以后的展望。<br />
开始讲怎么来做这件事。（这里将是书的大头）<br />
数据<br />
数据库的建立<br />
数据的生成<br />
数据库在服务器的存储和管理<br />
地图投影的实现<br />
首先介绍地图投影，<br />
代码的关键部分<br />
样式<br />
首先说明样式和地理位置的分离的好处，（我觉得，样式可能更多的属于属性信息）<br />
符号库<br />
填充的样式<br />
线状（可能这里就是我所要解决的问题了）<br />
空间组织方式<br />
地图<br />
图层<br />
时间序列的良好展示（因为SVG支持动画）<br />
台风<br />
土地类型变更<br />
疾病的扩散<br />
空间查询<br />
javascript<br />
空间展示的技巧<br />
这里主要是展示一下javascript在地图中的应用。<br />
javascript的简要语法<br />
经过时变色或者飘出浮动窗口<br />
鹰眼<br />
展望<br />
我谈谈还有什么能够做的。<br />
缺点<br />
acknowledgement<br />
appendix<br />
PHP的语法<br />
SVG的图<br />
GML的图<br />
Javascript的语法</p>
<p><strong>NOTE: 在写实现过程的时候，可以参考李满春老师那本基于delphi的书，按照它的思路来写，就是按照它的思路，写出一些基本的webGIS的功能实现。在代码描述的时候，看来php和SVG的代码和GML的代码是最多的。要打好相应的基础。PHP是代码多，而SVG和GML主要是思路的问题。</strong></p>
<p>什么都是为了出国啊！！！！！！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geoinformatics.cn/2005/11/%e5%9c%a8wamp%e5%b9%b3%e5%8f%b0%e4%b8%8a%e5%bc%80%e5%8f%91%e5%9f%ba%e4%ba%8egml%e4%b8%8esvg%e7%9a%84webgis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

