更新内容:
~为影像数据源增加本地缓存(.cache文件)功能。详见这里;
~在线地图转换/下载到MBTiles格式时,增加按Shapefile文件范围下载功能。详见这里;
~为转换后的MBTiles文件增加了”压缩”选项,某些情况下可大幅减小MBTiles文件体积。详见这里;
下载地址:https://geopbs.codeplex.com/
详见:https://blog.newnaw.com/?p=890
世界上最好的SUV,就是自己的两条腿
更新内容:
~为影像数据源增加本地缓存(.cache文件)功能。详见这里;
~在线地图转换/下载到MBTiles格式时,增加按Shapefile文件范围下载功能。详见这里;
~为转换后的MBTiles文件增加了”压缩”选项,某些情况下可大幅减小MBTiles文件体积。详见这里;
下载地址:https://geopbs.codeplex.com/
详见:https://blog.newnaw.com/?p=890
老王 他能不能这样 通过把在线地图转成 mbtiles ,然后我在断网的情况下, 通过pbc 打开mbtiles 做成可以访问的底图服务?
在线地图转MBTiles格式就是这么设计的。虽然技术上没问题,但你仍要意识或者考虑到许可方面的问题。
还有个问题, 就是做成底图服务后, 能不能在关掉exe程序的时候 它还是在运行。这样至少不会让界面上看到还有一个exe在跑,而底图服务仍然在提供。
进程不能关掉。下个版本会加入以windows服务方式运行,即使不登陆系统也可以自动启动服务。以这种方式运行时是没有界面的,可以用rest admin api对pbs进行管理。
恩 就是 期待。 这样让pbs在生产上也比较好。 pbs现在长时间运行,像作为类似的生产供应稳不稳定?有没测试过?
我这边没有生产环境,没有测试过。目前已有一些用户将其用在生产环境上,目前没有发现什么问题。
老王 你能不能做一个把mbtiles 转换成arcgis的功能?
这个目前在考虑中,看大家的需求。不过下一版本暂时不会加入。
强烈要求下一版本加入这个功能,让我们越早看到,体验到越好啊。
请继续关注,谢谢支持!
您好,用在线地图转MBTiles时(选择是全中国的所有层级),报错:Online maps coverting to MBTileserror! Index was no of range. Must be non-negative and less than the siae of the collection. Parameter name: index
是数组越界了吗?
我在这边试了框选相同范围,选中所有级别的操作,没有报错。有可以复现错误的详细步骤么?
你好,我现在遇到一个问题,你这个发布的Rest服务,我怎么在内网可以访问,而外网映射后不能访问也?比如http://192.168.3.62:7080/PBS/rest/services/GoogleMaps8bit/MapServer,这个是内网。
比如我做了映射后。外网地址:
http://185.XXX.X.XX:9354/PBS/rest/services/GoogleMaps8bit/MapServer。我在程序中也是这样写的外网地址。结果不能访问。这个是怎么回事也?
比如我访问内网地址得到以下提示:
only support json/pjson format! for instance: http://hostname:port/PBS/rest/servicename/MapServer?f=%5Bp%5Djson
而如果我映射外网地址和端口后,用外网地址和端口访问出现以下提示:
GoogleMaps8bit service does not exist!
拜托了!!!
不知你具体用什么手段做的映射?推荐在外网机器上配置反向代理,将相应外网端口的请求重写到内网机器的pbs端口上即可。
不过其他Arcgis暴露的服务外网倒是都可以访问哦。至于反向代理我先问问我们公司搞网管的。看看是不是这个原因引起的。
应该不是bug,但不知道你的具体环境,不好做判断。
我想知道GoogleMaps8bit service does not exist! 外网访问出错这个在程序上是怎样引起的也?我公司的网管直接没有搞懂。就是不知道这个提示是怎样引起的?
好像反向代理用不了。我在用nginx的时候也不行。
正在尝试用nginx做pbs的反向代理
引起的原因是,比如请求(http://xxx/PBS/…)发到了nginx的80端口之后,转发到了pbs的7080端口上,pbs程序监听的7080确实接收到了请求,但pbs看到的请求地址仍然是原始的80端口(http://xxx/PBS/…),所以导致报错xxx service does not exist!(这个报错信息不准确,下个版本会改进)
我用IIS的URL Rewrite 2.0模块进行反向代理设置,对于pbs是成功的。也就是说,pbs监听的7080端口收到iis转过来的请求后,看到的地址也是7080端口。iis里的设置如下,供参考。如果你找到了在nginx里设置的办法,还请告知。
<rules>
<rule name=”test” enabled=”false” patternSyntax=”Wildcard” stopProcessing=”true”>
<match url=”PBS/*” />
<action type=”Rewrite” url=”CCC/{R:1}” />
<conditions logicalGrouping=”MatchAny”>
</conditions>
</rule>
<rule name=”PBSReverseProxyInboundRule1″ stopProcessing=”true”>
<match url=”^PBS(.*)” ignoreCase=”false” />
<action type=”Rewrite” url=”http://localhost:7080/{R:0}” />
</rule>
</rules>
<outboundRules>
<rule name=”PBSReverseProxyOutboundRule1″ preCondition=”ResponseIsHtml1″ enabled=”true”>
<match filterByTags=”A, Form, Img” pattern=”^http(s)?://localhost/(.*)” />
<action type=”Rewrite” value=”http{R:1}://localhost/{R:2}” />
</rule>
<preConditions>
<preCondition name=”ResponseIsHtml1″>
<add input=”{RESPONSE_CONTENT_TYPE}” pattern=”^text/html” />
</preCondition>
</preConditions>
</outboundRules>
</rewrite>
麻烦问问你这个问题下一个版本解决,下个版本什么时候出来也?
你好,请教一个问题。我在用nginx作为PBS的前端代理做负载均衡的时候会无法访问PBS。端口映射已经做好了。但是无法访问。可是单独访问PBs地址的时候是可以的。是否nginx需要设置什么内容?