YimaEncSDK 3.3 开发文档:dll内嵌版本详解

5星 · 超过95%的资源 需积分: 33 39 下载量 201 浏览量 更新于2024-07-31 收藏 2.74MB DOC 举报
“YimaEncSDK 3.3 开发文档提供了关于如何使用YimaEncSDK进行软件开发的详细指南,特别关注3.3.1.1的dll内嵌版本。这个文档适用于产品版本3.3,由YIMASOFT版权所有,并在2008年9月10日进行了更新。” YimaEncSDK是一个专门用于处理S57标准的开发工具包,主要服务于海图和其他地理信息系统。它包含的核心控件是YimaEnc.ocx以及与之配合的7个库文件,这些库文件支持对S57数据的解析、显示和定制。 1. **YimaEnc文件结构**: - **YimaEnc.ocx**:这是核心控件,用于处理S57数据并提供图形渲染功能。 - **S57Lib目录下的库文件**:包括S57ObjectClasses、S57Attributes、S57Colours、S57Symbols、S57ComplexLineStyle、S57Patterns和S57LookupTable,它们分别存储了不同种类的信息。 2. **S57Lib目录中的库文件详解**: - **S57ObjectClasses**:包含了S57所有物标类的定义,这些物标类对应于图层(Layer)。开发者可以根据需求更改名称,如在本地化过程中翻译成中文,甚至可以添加自定义的物标类。 - **S57Attributes**:定义了S57的物标特征属性,包括数据类型和枚举值。同样支持自定义翻译和添加新的属性定义。 - **S57Colours**:包含了S52标准的5种颜色模式下的所有颜色定义,开发者可以查看和修改颜色设置。 - **S57Symbols**:存储了S52的点物标符号,允许开发者在了解S52规则后增加新的点符号定义。 - **S57ComplexLineStyles**:定义了S52的线物标循环符号,开发者可扩展自定义线型。 - **S57Patterns**:包含了面物标填充符号,同样支持根据S52规则添加新的面物标图案。 - **S57LookupTable**:定义了物标对象的显示风格规则,提供了对S57显示规则扩展的两种方式。 3. **扩展与自定义**: - 开发者可以在熟悉库文件的定义规则和结构后,对库文件进行扩展或改动,以满足特定项目需求。 - 对S57物标类的扩展可以通过修改S57ObjectClasses和S57Attributes实现。 - 对物标符号的扩展则涉及S57Symbols、S57ComplexLineStyles和S57Patterns。 - S57LookupTable的调整可以改变物标对象的显示效果。 4. **使用注意事项**: - 虽然文档提供了自定义的可能性,但不建议轻易改动这些库文件,除非有明确的需求和充分的理解。 - 在进行任何修改之前,确保对S57标准和YimaEncSDK的工作原理有深入理解。 通过这个开发文档,开发者可以深入了解YimaEncSDK的工作机制,从而有效地利用该SDK开发出适应各种场景的GIS应用,特别是在处理S57海图数据方面。同时,文档还提供了对SDK功能的详细说明和实例,有助于开发者快速上手和进行二次开发。

def define_gan(self): self.generator_aux=Generator(self.hidden_dim).build(input_shape=(self.seq_len, self.n_seq)) self.supervisor=Supervisor(self.hidden_dim).build(input_shape=(self.hidden_dim, self.hidden_dim)) self.discriminator=Discriminator(self.hidden_dim).build(input_shape=(self.hidden_dim, self.hidden_dim)) self.recovery = Recovery(self.hidden_dim, self.n_seq).build(input_shape=(self.hidden_dim, self.hidden_dim)) self.embedder = Embedder(self.hidden_dim).build(input_shape=(self.seq_len, self.n_seq)) X = Input(shape=[self.seq_len, self.n_seq], batch_size=self.batch_size, name='RealData') Z = Input(shape=[self.seq_len, self.n_seq], batch_size=self.batch_size, name='RandomNoise') # AutoEncoder H = self.embedder(X) X_tilde = self.recovery(H) self.autoencoder = Model(inputs=X, outputs=X_tilde) # Adversarial Supervise Architecture E_Hat = self.generator_aux(Z) H_hat = self.supervisor(E_Hat) Y_fake = self.discriminator(H_hat) self.adversarial_supervised = Model(inputs=Z, outputs=Y_fake, name='AdversarialSupervised') # Adversarial architecture in latent space Y_fake_e = self.discriminator(E_Hat) self.adversarial_embedded = Model(inputs=Z, outputs=Y_fake_e, name='AdversarialEmbedded') #Synthetic data generation X_hat = self.recovery(H_hat) self.generator = Model(inputs=Z, outputs=X_hat, name='FinalGenerator') # Final discriminator model Y_real = self.discriminator(H) self.discriminator_model = Model(inputs=X, outputs=Y_real, name="RealDiscriminator") # Loss functions self._mse=MeanSquaredError() self._bce=BinaryCrossentropy()

2023-07-12 上传