添加S3M图层问题。

0 投票

http://support.supermap.com.cn:8090/webgl/examples/editor.html#S3MTiles_suofeiya

根据此页面的例子。

其中范例加载如下:

  var promise = scene.addS3MTilesLayerByScp(URL_CONFIG.SCP_SUOFEIYA,{
                name : 'suofeiya'
            });

alert到URL_CONFIG.SCP_SUOFEIYA的值为<!--StartFragment -->

<!--StartFragment -->

imagehttp://www.supermapol.com/realspace/services/3D-suofeiya_church/rest/realspace/datas/Config/config

打开该连接之后,页面显示:

1.00000 OSGBFile 183.047668 119.841805 126.6212880000000100 45.7681720000000000 0.0000000000000000 -312.71305592871289 -247.99321326155314 -110.33845879633327 195.51243151719319260.23227418435295 397.88702864957281 ./Tile_+002_+001/Tile_+002_+001.s3m -121.000004 -78.000006 143.819794 74.736017 ./Tile_+002_+002/Tile_+002_+002.s3m -121.000004 21.999996144.318783 74.611635 ./Tile_+002_+003/Tile_+002_+003.s3m -121.000004 121.997066 139.887085 73.082734 ./Tile_+003_+001/Tile_+003_+001.s3m -21.000004 -78.778616 151.82428078.100613 ./Tile_+003_+002/Tile_+003_+002.s3m -21.000004 21.999996 142.826138 74.139473 ./Tile_+003_+003/Tile_+003_+003.s3m -20.987918 121.999992 138.409752 72.862395./Tile_+004_+001/Tile_+004_+001.s3m 78.998935 -78.000006 143.932476 75.009651 ./Tile_+004_+002/Tile_+004_+002.s3m 78.999994 21.999996 140.473911 73.784166./Tile_+004_+003/Tile_+004_+003.s3m 78.999994 121.999084 143.426586 74.218229

在该线上服务中,我在这个空间内,没翻到关于name : 'suofeiya'的任何信息。

随后在本地发布了一个S3M的缓存工作空间,点击到如上同样的连接,却显示以下代码:

<?xml version="1.0" encoding="UTF-8"?>

-<SuperMapCache xmlns:sml="http://www.supermap.com/SuperMapCache/vectorltile">

<sml:Version>1.10000</sml:Version>

<sml:FileType>OSGBCacheFile</sml:FileType>

<sml:RenderMode>Batch</sml:RenderMode>

<sml:TileSplitType>GLOBAL</sml:TileSplitType>

<sml:PyramidSplitType>Octree</sml:PyramidSplitType>

<sml:ProcessType>Normal</sml:ProcessType>


-<sml:Scales>


-<sml:Scale>

<sml:Value>0.0004430662393142064</sml:Value>

<sml:Caption>2256</sml:Caption>

<sml:TileWidth>152.87</sml:TileWidth>

</sml:Scale>

</sml:Scales>


-<sml:Position>

<sml:X>116.299988912127360</sml:X>

<sml:Y>38.200049250716127</sml:Y>

<sml:Z>0.00000</sml:Z>

</sml:Position>


-<sml:Bounds>

<sml:Left>116.29970656744383</sml:Left>

<sml:Top>38.200372678471219</sml:Top>

<sml:Right>116.30027125681087</sml:Right>

<sml:Bottom>38.199725822961035</sml:Bottom>

</sml:Bounds>


-<sml:OSGFiles>


-<sml:Files>

<sml:FileName>./Tile_-27817_84687_0000/Tile_-27817_84687_0000.s3m</sml:FileName>


-<sml:BoundingSphere>

<sml:CenterX>1.915889</sml:CenterX>

<sml:CenterY>-4.481720</sml:CenterY>

<sml:CenterZ>25.276933</sml:CenterZ>

<sml:Radius>63.378298</sml:Radius>

</sml:BoundingSphere>

</sml:Files>

</sml:OSGFiles>

</SuperMapCache>

问题1:我发布的S3M和线上的数据,差别在哪? 是因为什么导致的这个差异?该怎么去处理成能适用于加载S3M的标准?

问题2:name : ''  这个name是从哪来的?  是在超图桌面端加载缓存的时候定义的吗?

4月 18, 2018 分类:  1724次浏览 | 用户: ss01222 初出茅庐 (82 分)

1个回答

0 投票
1、检查scp配置文件名是否为config(均小写),如果是config(均小写)请重命名并重新在桌面中加载图层并发布工作空间。

2、name是图层名,随意设置。
4月 18, 2018 用户: 张阳名 登峰造极 (5,474 分)
我s3m里面,我打开本地服务的config路径是 scp的文件名/config  和 线上的 Config/config 应该是对照的。

我在本地文件打开s3m的scp 和以上我发的那部分代码相同。

 我的疑惑是,我的scp是单纯的代码, 线上的scp是模型信息?
那你重新发布一下试试。

另外iserver的和本地打开的内容是不太一样的。
多次重新发布依旧出现上述的问题。
说一下从生成缓存到发布的流程吧。

打开3Dmax的场景,通过插件选择 BIM生成数据集。 设置球面坐标、纹理路径、数据源文件路径、添加新建的数据集。点击确定。

打开超图8C,数据集中的数据添加到新的球面场景,生成场景缓存使用OSGB、紧凑。

生成倾斜摄影配置文件,  打开生成S3M数据,倾斜数据设置config.scp 。

打开新的超图8C,在场景右键生成新的球面场景,在普通图层右键选择添加OSGB图层选择生成的config.scp.保存当前空间。

在服务中快速创建服务,选择添加OSGB图层的空间,服务类型勾选REST-三维服务。

在服务管理中打开http://localhost:8090/iserver/services/3D-dl/rest/realspace/datas/Config/config

页面显示


<?xml version="1.0" encoding="UTF-8"?>

-<SuperMapCache xmlns:sml="http://www.supermap.com/SuperMapCache/vectorltile">

<sml:Version>1.00000</sml:Version>

<sml:FileType>OSGBFile</sml:FileType>


-<sml:HeightRange>

<sml:MaxHeight>61.221535</sml:MaxHeight>

<sml:MinHeight>2.118670</sml:MinHeight>

</sml:HeightRange>


-<sml:Position>

<sml:X>116.298762000000000</sml:X>

<sml:Y>38.199421999999998</sml:Y>

<sml:Z>1.000000000000000</sml:Z>

</sml:Position>


-<sml:BoundingBox>

<sml:MinX>-55.861326358757466</sml:MinX>

<sml:MinY>-59.222465225834483</sml:MinY>

<sml:MinZ>-24.366431531006</sml:MinZ>

<sml:MaxX>58.395353877472289</sml:MaxX>

<sml:MaxY>55.034215010395272</sml:MaxY>

<sml:MaxZ>89.890248705223755</sml:MaxZ>

</sml:BoundingBox>


-<sml:OSGFiles>


-<sml:Files>

<sml:FileName>./dl@demo/dl@demo/Tile_-27817_84687_0000/Tile_-27817_84687_0000.osgb</sml:FileName>


-<sml:BoundingSphere>

<sml:CenterX>1.267014</sml:CenterX>

<sml:CenterY>-2.094125</sml:CenterY>

<sml:CenterZ>32.761909</sml:CenterZ>

<sml:Radius>57.128340</sml:Radius>

</sml:BoundingSphere>

</sml:Files>

</sml:OSGFiles>

</SuperMapCache>

而之前网页示例都是类似模型数据文件,而非代码。

生成倾斜摄影配置文件,  打开生成S3M数据,倾斜数据设置config.scp 。

<<<这一步,生成的s3m数据路径不要放到跟之前的osgb同一个文件夹路径。

打开新的超图8C,在场景右键生成新的球面场景,在普通图层右键选择添加OSGB图层选择生成的config.scp.保存当前空间。

<<<然后这一步加载s3m文件夹中的config文件。

S3M与OSGB分开文件夹。   在普通图层加载S3M文件夹中的config ,双击该缓存 在球面场景中,定位的是一片空白,没在场景中找到模型。 

另外,重新发布服务之后,http://localhost:8090/iserver/services/3D-dl/rest/realspace/datas/Config/config页面依旧如上出现同样的问题。  

关于 http://localhost:8090/iserver/services/3D-dl/rest/realspace/datas/Config/config 路径的问题。 

使用IE打开为以上代码。 用谷歌浏览器打开是模型信息的数据。  

不过, 在普通图层加载S3M文件夹中的config ,双击该缓存,定位的是一片空白,没在场景中找到模型,这个该怎么处理。 

...