GraphPad Prism为用户提供了多种方法可将您的图表和布局应用到其他应用程序中,且支持导出多种格式的图表,那么,这些不同格式的图表之间有什么差异呢?该选择哪一个呢?
Prism的PDF文件对矢量和字体(而非位图)进行编码,因此生成的文件可以拉伸至任何尺寸,而不会降低质量。尽可能以PDF格式导出。遗憾的是,很少有Windows程序可以导入pdf图像,也很少有期刊接受此类图像。相比之下,PDF是在Mac程序之间传输图像的首选格式。
注:
•如果是彩色图表,则您需要 在RBG和CMYK之间选择颜色模式。
•不必使用Adobe Acrobat导出PDF文件。Prism会自行创建PDF文件。
•当导出多张图表或版面设计时,您可以选择将其全部导出至一个PDF文件中。或者,您可以要求Prism为每张工作表创建一个单独的PDF文件。
•Prism Mac和Prism Windows可以在PDF导出文件中对通透颜色进行编码。
TIFF或TIF
(Prism使用扩展TIF,但其与一些其他程序使用的TIFF相同。两者完全相同,您可以将一个重命名为另一个。)
这是一种位图格式,这意味着您的图表或版面设计会变成点的集合。TIFF文件在提交至期刊时往往没有问题。您需要选择分辨率、颜色模式和尺寸。
分辨率以点数/英寸(dpi)表示。计算机屏幕约以100dpi显示图像。计算机打印机通常以300-600dpi打印,出版物通常以1200dpi打印。期刊通常要求1200点/英寸(dpi)的文件,这是Prism提供的最高分辨率。
在两种颜色表达方式之间进行选择:RGB(设计用于计算机显示器或投影仪)或CMYK(设计用于打印)。如果您正在向期刊投稿,则遵循他们的指示。如有疑问,请选择RGB。此外,Prism Windows还允许您选择纯黑或纯白的单色文件,无灰色。如果您选择RGB,则Prism Windows允许您在256种颜色(较小的文件)或数百万种颜色(较大的文件,但色彩恢复更准确)之间进行选择。Prism Mac始终使用数百万种颜色。
通常,Prism项目中的图表和版面设计比出版物大得多。如果您要求在Prism中以1200dpi创建一张实际尺寸的图表,则您将得到一条关于“巨大文件或内存不足”的错误消息。指定出版物尺寸可避免此问题。假设图表宽6英寸,但您将以2英寸的宽度发表该图表。通过勾选将图表宽度缩小至2英寸的选项,创建的文件将缩小为1/9尺寸(1/3宽度×1/3高度)。
使用TIF格式而非其他格式,Prism允许您选择压缩文件。当然,压缩的优点是文件更小。缺点是压缩后的TIF文件可能与其他程序之间的兼容性不是很好。
使用Prism Windows,在两种压缩方法之间进行选择。PackBits压缩创建最小的文件,但LZW(Lempel-Ziv-Welch)压缩可能更兼容。
Prism Mac未提供压缩方法选择,其使用LZW压缩
Prism(Windows或Mac)导出的TIFF文件对通透颜色进行编码。
EMF+、EMF或WMF(仅限Windows)
Windows元文件(WMF)和增强型元文件(EMF)包含如何绘制图表的矢量和字体指示。这意味着,您可以在不降低质量的情况下,(在另一个程序中)调整图像尺寸。这些格式仅Windows程序使用,而非Mac程序(Prism Mac无法以这些格式导出)。
WMF是一种古老格式;EMF是老旧格式,EMF+是最新格式。因此,通常情况下EMF+是最好格式。但并非总是如此。您可能需要进行实验以查看哪种格式最适合您的需求,但以下这些注释可能会有所帮助:
•当将带有填充模式的条形图导出或粘贴至PowerPoint时,请勿使用WMF。如果您使用WMF,则此类图表上的模式不会缩放,看起来密度较高。
•如果您将EMF图像粘贴至PowerPoint,则当您保存然后重新打开文件时,图像颜色可能改变。无WMF或EMF+。
•选择EMF(而非“EMF+”),解决将EMF+粘贴至旧版本Adobe Illustrator(CS5)或Corel draw时图表略微损坏的问题。问题在于Adobe Illustrator如何打开由Prism中GDI+生成的“EMF+”格式。
•在向PowerPoint发送图表时选择EMF,而非“EMF+”,然后导出为PDF。使用EMF+,字体可以改变。
•一些非常老旧的程序不支持EMF。为这些程序选择WMF。
•Prism导出的EMF和EMF+文件对通透(透明)“颜色”进行编码,但WMF文件无法对透明度进行编码。
•EMF+(但EMF(老旧格式)除外)或WMF均不能对半通透(半透明)颜色进行编码。
•EMF+格式比EMF格式新,但这两种文件均使用相同的扩展名EMF。
EPS
类似于PDF,EPS文件包含矢量和字体。生成的文件不仅仅是位图文件周围的一个EPS包装器。Prism Windows可允许您选择将文本变换为轮廓。如果这样做,则图像看起来始终正确(不需要字体文件),但您无法在其他程序中编辑文本。如果将文本包含为文本,则可以在其他位置进行编辑,但需要字体文件。Prism Mac始终将文本变换为轮廓。
理论上,EPS格式最好(与PDF联用)。该格式将所有事项均编码成矢量和字体,因此可以在不损失分辨率的情况下进行缩放。事实上,向期刊提交EPS文件通常会出现问题。 字体和EPS文件。
EPS格式无法对透明度进行编码。如果您在Prism中选择任何透明颜色,则其在导出文件中看起来是纯色。
JPEG
JPG格式设计用于为具有相似颜色渐变的照片。对于简图和图表的导出来说,这并非一种特别好的格式。Prism提供这一选择的原因是一些期刊坚持使用该格式,但我们建议您尽可能使用TIF格式。JPG的唯一优点是文件更小。
导出为JPG格式的大多数程序会让您选择压缩。压缩越多,文件越小,但生成图像的清晰度会下降。Prism不提供这一选择。它仅以可能的最少压缩导出为JPG格式,使得文件更大但图像更清晰。任何压缩均会显著降低图表的清晰度。
JPEG格式无法对透明度进行编码。如果您在Prism中选择任何透明颜色,则其在导出文件中看起来是纯色。
PNG
PNG格式非常适合在网站上发布图表。PNG文件使用屏幕分辨率,这对于屏幕显示来说很好,对于提交至打印期刊的文件来说分辨率过小。无法选择颜色深度。
Prism Windows可以在PNG导出中对透明颜色进行编码。但PrismMac不能,且图表中的任何透明颜色均会在导出的PNG文件中变成纯色。
BMP
这种格式较老旧,与其他格式相比无任何优点。
官方的用户指南有很多图形示例,大家可以登录中国官网 >
2、在自动编号字段中计算出识别左侧字段内容判断其重复性然后自动编号。
3、打开arcgis、arcmap——属性表——对应字段的字段计算器。
4、字段计算器窗口中勾选,Python和显示代码。打开代码窗口。
5、在代码窗口中输入代码如下:L=[ ]B=[ ]def aa(x): global L global B Lappend(x) if Lcount(x) ==1: Bappend(x)。return (Bindex(x)+1)。
6、运行代码后,结果如下图,识别了左边圈出的字段中的重复值然后,对不重复的字段自动编号并在重复的字段值对应位置编和之前同样的号。
1自定义工具箱是什么
就像名字一样,自定义工具箱是由个人创建的工具箱,就像下面这样,可以理解成一个 tbx 后缀的压缩包,每一个工具箱中都可以添加多个工具集、脚本工具甚至模型构建器工具。
一大堆工具箱
11如何添加自定义工具箱(熟悉可跳过)
第一步:右键点击 ArcToolbox -> 添加工具箱
第二步:在打开的添加工具箱窗口中选中需要添加的工具,然后点击右下角的打开即可。
添加工具箱到 Arcmap
12如何创建自定义工具箱
点击右上角的红色工具箱符号,可以新建并重命名一个工具箱。
我们这里新创建了一个海怪工具箱,用于之后的教程演示。
新建工具箱
13添加一个脚本工具
新创建的工具箱就像一个大箱子,箱子呢是用来装工具的,你可以直接在工具箱中右键,然后点击添加,再点击脚本,进而创建一个脚本工具;
亦或是右键,点击新建,再点击工具集,创建一个可以自定义名称的工具集,然后在工具集里新建一个脚本工具。
这里添加的脚本工具只是一个空壳,我们后面会继续完善。
新建的工具箱位于 /Chapter7/海怪工具箱tbx。
2工具箱的封装
工具箱由三部分组成,其中有两部分需要我们来控制:
一是输入界面:确定工具箱输入界面的参数定义和设置;
二是 Python 源代码:功能的实现,为 py 后缀的脚本文件;
三是对参数行为提供额外控制的可选验证代码,其位于工具箱中(这部分自带,基本上不用修改)。
所以下面的重点就是输入界面和 Python 源代码。
21工具箱输入界面
工具箱输入界面,或者说图形交互界面(GUI),就像下面的几张图一样,从该界面我们可以控制工具的行为,自定义输入界面然后配合 Python 脚本,可以实现多种客制化的功能。
简单来说,你可以认为输入界面是依托于 Arcmap 的“前端”,脚本代码就是负责运行的“后端”。
导入导出工具:
为方便演示,制作一个非常简单的工具箱,它的功能呢就是把输入的要素类(数据库或者 shp )再导出来而已,是完全没有用的导入导出功能啦,不过作为演示还是非常不错的。
制作完成后的导入导出工具的界面
第一步:
在工具箱中,右键点击添加,再点击脚本,然后修改名称,修改成你想要的名字,勾选存储相对路径名,然后点击下一页。
修改名称
第二步:
然后添加脚本文件,添加该脚本文件 /Chapter7/toolscript/input_and_outputpy,读者可以在最后的下载包中找到该文件。
然后点击下一页。
链接python脚本
第三步:
控制用户交互界面。ArcGIS 在这里内置了一整套简单但是实用的图形控件,比如输入菜单、下拉框、多选框、单选等,借由这些图形控件我们可以控制脚本工具的图形交互界面。
我们这里使用的脚本功能非常简单,上面也有说到:输入一个矢量要素类,不做任何处理,然后输出一个矢量要素类。
为了匹配这个脚本,我们需要设置一个输入图层的控件,同时为了能顺利的输出,也需要一个输出图层的控件,注意一个是输入一个是输出。
从下图可以看到,左边(左边的橙色框)是显示名称,其中输入输出控件的名称以及输入控件的名称,这里命名为输入要素和输出要素;然后在右边(右边的橙色框)的数据类型下拉框中,我们选择要素图层,这里只能做选择,不能任意输入。
设置名称和数据类型
那么输入输出是如何区分的呢?
选中输入要素(变成蓝色),然后可以看到下方(下方橙色框)的参数属性设置选项卡,这里可以对参数进行调整。
参数选项
① 类型:有三种,一般只会用到 Required 和 Optional,表示必须和可选,用于控制参数是否可以忽略不填;
② 方向: 两种,Input 和 Output,表示输入和输出,大部分情况都是使用 Input 来获得参数,Output 用于获得最后的成果数据,像是矢量、栅格或者图表;
③ 多值:Yes 或者 No,用于输入多个相同类型的数据,工具打开后就是下面这样,在输入要素中可输入多个要素类;
④ 默认:设置一个控件的默认值,直接输入即可。可配合多值一同使用,使用 ; (英文的分号)分开,
结果如下,可以看到一打开该工具就已经填充上了预设的多个默认值(报错是因为数据类型不是要素图层);
⑤ 环境:工具箱的环境设置,比如掩膜、容差范围、默认数据库位置等,一般不预先设置;
⑥ 过滤器:选择文件类型可以在选择文件时只显示特定格式的文件;
⑦ 获取自:指定数据的获取源。这是个什么意思呢?比如我们想要获取图层A的某个字段,获取源就是图层A。
以下面这种图作为例子,新增名为字段的控件(上方的橙色框),数据类型也是字段,然后参数属性中获取自选择输入要素(下方橙色框)。
设置字段控件
点击完成后,打开脚本工具。在输入要素框中选择一个图层,然后再点击获取字段,如下就可以选择图层中的字段了。
获取图层的字段
⑧ 符号系统:在最下面还有一个符号系统,通常只能作用于输出的矢量图层(方向:Output),可为输出图层指定设置好的 lyr 文件样式。
设置符号系统
第四步:
点击右下方的完成,那么脚本工具的输入界面就完成了。
22 Python 脚本
工具箱输入界面和 Python 代码要相互配合才行,工具箱界面中的输入、输出以及各种各样的参数,在 Python 脚本文件中都得一一对应上,将输入界面中的各个参数传给 Python 脚本,这样才能让 Python 脚本按照预期的效果正常运行。
看上去有点麻烦,但实际上 arcpy 中提供了现成的函数就可以直接获得参数。
①参数对接(获取)
至于如何对接参数,我们使用刚刚的那个脚本文件举例:
/Chapter7/toolscript/input_and_outputpy
# -- coding:utf-8 --
import arcpy
#▶1◀
input_lyr = arcpyGetParameterAsText(0)
output = arcpyGetParameterAsText(1)
if __name__ == '__main__':
lyr = arcpymappingLayer(input_lyr)
arcpyCopyFeatures_management(lyr, output)
▶1◀:arcpy 提供了 GetParameterAsText(index) 函数,该函数根据输入界面的排序号码获得指定的参数。比如 GetParameterAsText(0) 获得的就是输入图层参数, GetParameterAsText(1) 获得的就是第二个参数,也就是输出图层参数。
如果有更多参数,以此类推。
②参数对接中应该注意的情况
GetParameterAsText(index) 从输入界面获得的参数都会转变成字符串,没错都是字符串。
如果你只是输入输出地址这种,那么没有问题,因为地址本来就是字符串,但是如果你设置了一个选择长度范围的长整型的控件、亦或是某种布尔值选择,最后输入到 python 脚本这里都会变成字符串。
整数变成字符串,使用 int(str) 规避;
布尔型变成字符串,True 变成了 "True",False 变成了 "False",这样就不能判断真假了,需要写一个判断语句或者随便你,方法很多;
还有就是一个输入控件多值的情况,所有值根据先后连接成一个字符串,中间由 、(英文分号)间隔,可以使用 split 函数分开;
判断是程序编写的一个基本的 *** 作,也是增强程序稳定性的重要方式。在ArcPy处理数据时,要保证数据存在才能做后续的 *** 作,为源GIS提示使用arcpy自带的Exists函数可判断要素类、表、数据集、shapefile、工作空间、图层和文件等是否存在。
使用方法
如果是文件路径,可以使用Python中的ospathexists来判断,但如果文件地理数据库中数据集、要素类等则需要使用ArcPy提供的Exists函数(非工具函数)。
使用方法:
支持检查的格式包括要素类、表、数据集、shapefile、工作空间、图层和文件;
返回Bool类型表示是否存在;
Exists 支持地理处理工作空间环境,允许只输出数据的基本名称;
如果是企业地理数据库中,则必须对名称进行完全限定。
语法参数
Exists (dataset)
参数 说明 数据类型
dataset 要检查其是否存在的数据集的路径。 String
返回值
数据类型 说明
Boolean 如果指定元素存在,则返回布尔值 True。
代码示例
import arcpy
# 设置工作空间
arcpyenvworkspace = "C:/TemplateData/TemplateDatagdb"
fc = "city"
# 如果存在则进行相关 *** 作
if arcpyExists(fc):
arcpyClip_analysis(fc, "Continents", "Continents_clip)
分类: 脚本开发
想用python 是下面含有经纬度表格的csv 文件转成点数据,并且存在gdb数据库中。

2、效果展示:

3、源代码展示
import arcpy
import os
from arcpy import env
arcpyenvworkspace = r"F:\publicClass\Ziongdb"
arcpyXYTableToPoint_management("F:\\publicClass\\testcsv","环境数据test22","X","Y")
arcpyAddMessage("我运行完了,主人!")

的坐标系是WGS1984

可以在代码里加输出坐标系:
arcpyXYTableToPoint_management("F:\\publicClass\\testcsv","环境数据2shp","X","Y",coordinate_system=arcpySpatialReference(4326) )
那导出shp 怎么做?看下面代码
import arcpy
import os
from arcpy import env
arcpyenvworkspace = r"F:\publicClass"
arcpyXYTableToPoint_management("F:\\publicClass\\testcsv","环境数据shp","X","Y")
arcpyAddMessage("我运行完了,主人!")
以上就是关于prismtif分辨率1200导不出全部的内容,包括:prismtif分辨率1200导不出、arcgis设计的点如何自动编号、Arcgis Engine二次开发用python可以吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)