Smallworld41安装、配置、开发入门.docx
Smallworld Core 4.1安装、配置、开发入门1 Smallworld 4.1 安装执行安装程序目录Smallworld410Win下的setup.exe,如下图:选择“安装Smallworld Core 4.1”按提示安装即可。以下步骤中设定安装目录为<sw_path>2启动菜单配置=i2.1 启动配置程序 <sw_path>productconfig.exe,界面如下:如果config.exe程序不能启动,请检查如下可能原因:1) 机器名称不能是中文2) 防火墙要允许sw_magik_win32.exe例程2.2 Configuration 界面中,打开 Start Menus,如下图:选中相应的程序后,点击“ Create Icons”,则在“开始一所有程序”中创建了Smallworld Product” 程序组,如下图:3配置许可3.1把许可文件(*.lic)复制到合适目录3.2 在 config.exe 界面中启动 License Administration,如下图:3.3此窗口用来指定要注册许可的Smallworld产品安装路径,通常是如<sw_path>product 形式3.4注册许可在License Administration界面中,点击“File'打开许可文件(*.lic),然后点击Rigster All”注册许可,点击“Show Licenses”显示许可信息,如下图:3.5点击Close退出,许可注册完成。3.6有关许可的说明许可信息是保存在文件<sw_path>productdatamessage.ds文件中。许可文件可 以注册到任何一台机器,并作为许可服务器,许可服务器也需要安装Smallworld Core4.1。如果要使用远程机器上的许可服务,则需要修改本地机器上的文件 <sw_path>productconfigenvironment.bat 中的 SW_MESSAGE_DB_DIR 值,如下形 式:set SW_MESSAGE_DB_DIR=1680336Smallworld41productdata许可服务器上的Smallworld41目录需要设置具有写权限的网络共享4 Smallworld数据库服务配置4.1 configuration界面中,启动Datastore Server管理界面,如下图:在 Datastore Server Administration界面中,点击“Security”',打开 Datastore ServerAuthorisation界面,配置数据访问权限。首先点击“delete”按钮删除所有默认 权限条目,再点击“add”按钮,增加访问权限“rights all”,再点击“commit” 按钮保存配置。“rights all”表示配置最高级别的数据访问权限,更详细的访问权 限配置说明请参考帮助文档。如下图:4.3启动数据服务进程回到 Datastore Server Administration界面,点击 “Start Server”,开始启动数据库服务进程swmfs,在任务管理器中可以看到此进程。数据库服务进程swmfs会自 动加入到系统服务列表,在机器启动时自动启动swmfs进程。如果数据服务进程swmfs不能启动,请检查如下可能情况:1) 1590端口被占用或被禁止2) 防火墙不允许swmfs.exe例程4.4数据库服务的其他操作在Datastore Server Administration界面上,点击“Stop Server”可以停止数据库服 务,点击“Show Files”可以查看服务器上正在使用的数据库文件,点击“Query Server”可以查看服务器上的数据服务进程信息。5配置启动Cambridge.DB例子应用程序Smallworld在安装时附带有例子应用程序,位于目录sw_path>cambridge_db5.1目录说明附加的数据文件Smallworld数据仓库文件Image文件功能模块代码目录资源文件附加的脚本自动编译Image文件的脚本cambridge_dbdatacambridge_dbdscambridge_dbimagescambridge_dbmodulescambridge_dbresourcescambridge_dbscriptscambridge_dbsource5.2修改自动编译Image文件的脚本(此步可省去)这里使用的自动编译Image文件的脚本文件是<sw_path>cambridge_dbsourcemake_open_swaf.magik为了在例子中能方便打开Smallworld Case Tool (对象建模工具),可以在脚本文件中增加一行代码(红色)。用文本编辑器打开、编辑并保存_blocksmallworld_product.add_product(system.pathname_up(!source_file!, 2)sw_module_manager.load_module(cam_db_image_open_swaf)sw_module_manager.load_module(case_application)_endblock$5.3加载脚本,自动编译Image文件首先,启动 Emacs21.2,步骤:开始->所有程序->Smallworld ProdudGUNEmacs21.2,如下图: e>acs0OUHZ El®File Edit Opti ore Buffers Tools SW Help; This buffer is for notes you don1 t want, to save, and for Lisp evalS 人 fiuation.; If you want, to create a file, visit, that file with C-x C-f,; then enter the text, in that, file1 s own buffer.-c一一 *scratch*(Lisp Interaction)一一L5一一All第二,在 Emacs 窗口中,执行选择菜单SW ->Run/Goto Smallworld Session,或按快捷组合键F2 + z,在下方出现Gis Command窗口,把光标移动该窗口区域,并回车,开始执行Gis command命令:Gis command: %HOME% sw_magik_win32 -Mextdir $TEMP -image$SMALLWORLD_GIS/images/swaf.msf这个命令的意义是:启动壳程序sw_magik_win32.exe去解析执行<sw_path>productimagesswaf.msf文件第三,启动Gis command后,进入了 Magik语言命令提示符,在此环境下可以执行Magik命令、创建数据库、执行编译脚本等。第四,加载自动编译Image的脚本在Magik提示符下,输入如下的执行命令:load_file(“<sw_path>cambridge_dbsourcemake_open_swaf.magi”)注意:<sw_path>M Smallworld的安装路径,需要根据实际安装路径替换提示:Emacs下,粘贴命令是shift + insert组合键回车后开始加载相关代码。如图:相关加载过程结束后,自动退出magik提示符,退出Smallworld Session,并在目录 <sw_path>cambridge_dbimages 下生成三个文件:open_swaf.msfopen_swaf_main.mfopen_swaf_main.msf其中 open_swaf.msf文件是文本文件,用于指向open_swaf_main.msf5.4启动例子程序在 Emacs 窗口中,重新执行菜单命令SW Run/Goto Smallworld Session 或 F2 + z组合键,在下方的Gis command窗口中执行如下的命令,打开刚才所编译得到的 open_swaf.msf 文件:Gis command: %HOME% sw_magik_win32 -Mextdir $TEMP -imageD:Smallworldcambridge_dbimagesopen_swaf.msf -cli如图:回车后,弹出登陆窗口,用root登陆,无密码。登陆后,弹出Smallworld application manager窗口,如下图:在 Smallworld Application Manager窗口中,Administration为打开管理性功能,CaseTool为打开建模工具,Professional为打开主界面。分别如下图:O Case Tool (Case Tool). XSystemVi ew Select Edi t uery要退出系统,可以在Magik命令提示符下执行:Magik> quit()或在 Smallworld Application Manager窗口 中点击 “Log Off”6构建自己的应用程序6.1首先创建如下形式的目录结构:D:my_smallworld_appds存放数据库文件D:my_smallworld_appimages存放Image文件D:my_smallworld_appmodules存放模块代码文件D:my_smallworld_appsource存放脚本代码文件6.2打开默认swaf.msf启动Emacs21.2窗口,用F2 + z组合键,在下方Gis command窗口中打开默认的swaf.msf 文件:6.3创建数据库在magik命令提示符下,执行命令:MagikSF> create_database("D:my_smallworld_appds")$在目录d:my_smallworld_appds下创建成功一系列的库文件。6.4打开数据库在magik命令提示符下执行命令:MagikSF> open_database("D:my_smallworld_appds")$6.5加载Case Tool建模工具模块在magik命令提示符下执行命令:MagikSF> sw_module_managerload_module("case_application")$6.6打开Application管理器在magik命令提示符下执行命令:MagikSF> smallworld_application_manager.open()$6.7保存一个Image文件在magik命令提示符下执行命令:MagikSF> save_image_startup("D:my_smallworld_appimagesopen.msf")$则在 目录 D:my_smallworld_appimages下生产文件 open.msf至此,我们创建了一个空的应用程序,具有空的数据库,尚无任何定制的代码,尚无建立任何实体对象模型。可以执行命令quit()退出MagikSF> quit()$Process gis-process finished6.8重新打开应用程序:在Emacs窗口中执行F2 + z命令,在Gis command窗口中打开刚才所创建成功的open.msf 文件:6.9建立一个“道路”模型对象1)启动Case Tool工具,打开版本管理界面,把版本切换为可写状态。提示:Case Tool工具下的图形操作:z (小写)键:缩小Z (大写)键:放大(shift + z)Esc键:切换鼠标状态为选择或画轨迹(光标为X)按住shift键,鼠标左键“右下拉框”为放大,“右上拉框”为缩小,“左上拉框”为前一视图,右键点击为移动到中央要清除所画轨迹,用右键菜单Clear Trail2)创建道路网的拓扑规则。菜单Case3Edit3Manifold,打开Case Manifold Editor;输入如下图。点击Insert按钮。拓扑规则可以先采用默认。Case lanifold EditorOKRecord InsertedrL:=urietextDelet h Cl h :=:Default r ul e e :tn ama araa tn nhaintn nninf fthin in nhain fthain tn nnirrf point to pointspli t spli t spli t spli t spli tlink - link - link - link - link -i: oriTLH a tspli t_link spli t_lirik a oriTLH i: t spli t_link c oriTLH c ta uriiLe a tRule 1 _?J :3)在视图上画一,菜单 case3edit3objects 打开 case object editor在 case object editor1上输入展融、道路,噤后点击“set”、nsert ”按钮,则创建了一个道路对象,如下图。4)为 Road5)为Road对象添加名称(Name)的物理字段:6)为Road对象添加几何字段(线状)IGe um e trv tvo e: 曲i P- JM 3iii ful d:r u ad ne tw orkm:diniat ury:J选中几何类型1DelNe | Clear |Inser+Complete?Browse. 挡| 叫|Frcperti es |Add Text Join Field.Copy Own Field.Record Insertedn:=iiTiHExtHrrL:dl rL:=LirietextEl surero adrL_ve>2 (30)external rL:=unetextp o s i + i onIl=;pl ay | Object Structm-eAdd Key Field.>2 ham J p o i rit dimenzi un text raster tinEimple_chairL EimplejiuirLtLHC I CzitlcpI | HelpD丑Ne | Clear |1ucati unComplete? |地IField.New GHurrietric:il Field.viz Case Object Edit orCi? Geo>etry Field EditorSet Geo>etry Type曰回区日回冈17)完整的Road对象模型:8)保存模6.10把模型对象应用到数据集1)选中 Road 对象,菜单 Case Apply Case to Database2)确保目标数据集处于顶层,并为可写。3)执行应用6.11配置模型对象的显示1)打开ACE配置界面if Aidniinistration - Sm:illworld Corez "Profess i on al (jz or e) - S rrndllw orl d C or eFile Vi ew Tools HelpFiVdiiage ACEe, set up di splay styles objFrovi des ailmiiii strati on toolsRuriTiirig bailableUni t Di EplajdSr>:>upiAvai labl eStyles回画回国Categori esFile Edit HelpACEsDef aul tpr evi ew s tyl e Userscase>2:iEe_220 ilr awingSt :ii-tCloseShow AllAuthor i satiS>allvorld Application Manager|M XSBLa A<j»inistrat ion - Snallvorld Core2)把ACE版本切换为可写3)打开Object Configuration,配置对象的可访问、可见、可点击、可选4)更新后,退出 Object Configuration、在 ACE Configuration 中保持 ACE 版本5)退出 ACE Configuration6.12配置Road对象的显示符号1)打开Style Designer,并把Style版本切换为可写ExteriEibleErLijineratorEStyle DesignerFile Edi t Vi ew Acti ons HelpSys t em S tyle eGi e t.SmalIworId Ilatastor0 c ore true t i onM >ir aft i rig_:ir e asM iirafting_lirieEJj >ir aft i rig_p o i nt e 啪由-口玷:或 texte道路2)为Road对象设置线型样式3)保存Style配置6.13插入Road对象1)在 Smallworld Application Manager界面中重启 Professional2)视图调整、数据集版本切换为可写,菜单SystemVersion打开数据集版本管理器3)插入一条新的Road对象打开Road对象的编辑器:ObjectContro l中,右键“道路”,Edit ObjectObject Control蚌 Vie i ble0 +田亩亩亩白 -0HHSHHSHHSHHGi e (Sm:dllw orl d Dat as t or e 'I a oile true t i onV Hi 11 able y SelectablHBririg F urw :±i- dSend Bai:ki,1,:±rdSelpct AllCle:Selecti unSelect Others+ Vi CiW W Cil Ci L + 1 r,T>4)为Road画一条轨迹5) Object Editor 中插入 Road对象6)保存数据:System CommitSearchTextFile Edit Vi ew Trail Tools Window HelpSelect the dat ah as e s to commi t.StatusCh:diLgH JC:=LXLcelIlatasAt 回 0is|1:1000|Auto_唾 Professional (core) - SMallvorld Core命 Couit