Questions tagged «vector»

基于坐标的数据模型,将地理要素表示为点,线和面。

8
自托管Mapbox矢量图块
正如在FOSS4G上的演讲中所介绍的那样,Mapbox Studio允许创建Mapbox矢量图块并将其导出为.mbtiles文件。 所述mapbox-gl.js库可以被用于动态风格和渲染在客户端(浏览器)侧Mapbox矢量瓷砖。 缺少的部分:如何自托管Mapbox矢量图块(.mbtiles),以便可以通过mapbox-gl.js使用它们? 我知道Mapbox Studio可以将矢量图块上传到Mapbox服务器,并让其托管图块。但这对我来说是没有选择的,我想将矢量切片托管在自己的服务器上。 事实证明,下面的TileStream方法是死胡同。请参阅我的答案以获取Tilelive的有效解决方案。 我尝试了TileStream,它可以从.mbtiles文件中提供图像切片: 我的网页使用mapbox-gl v0.4.0: <link href='https://api.tiles.mapbox.com/mapbox-gl-js/v0.4.0/mapbox-gl.css' rel='stylesheet' /> <script src='https://api.tiles.mapbox.com/mapbox-gl-js/v0.4.0/mapbox-gl.js'></script> 并在JavaScript脚本中创建mapboxgl.Map: var map = new mapboxgl.Map({ container: 'map', center: [46.8104, 8.2452], zoom: 9, style: 'c.json' }); 该c.json样式文件配置矢量瓦来源: { "version": 6, "sprite": "https://www.mapbox.com/mapbox-gl-styles/sprites/bright", "glyphs": "mapbox://fontstack/{fontstack}/{range}.pbf", "constants": { "@land": "#808080", "@earth": "#805040", "@water": "#a0c8f0", "@road": "#000000" …

7
是否有任何尝试替换shapefile?[关闭]
最近,我花了很多时间将诸如“ 25岁及以上学历或更高学历的公民百分比”这样的完美字段名称转换为“ edbchogtr”这样的名称,以满足DBF的10个字符的字段名称限制。 在另一个线程中(Shapefile技术规范中的“奇数”),geospatialpython评论说:“尽管shapefile格式存在缺陷,奇异之处和局限性,但它在GIS领域及其周围仍然顽固地存在。其他任何替换它的尝试都过于肿简单的矢量存储或过于专有。” 这项活动加上劳德黑德先生的评论使我感到奇怪: 是否曾做过任何明确的尝试来替换shapefile作为GIS的无处不在的数据存储和交换格式? 有竞争者吗? 如果有竞争格式,为什么会失败? Esri是否拒绝支持他们,还是这个故事只是技术惯性之一? 如果没有尝试...为什么不呢? 看来我们作为GIS开发人员和用户都可以为自己做得更好。
67 shapefile  vector 

7
创建具有GISCloud等渲染性能的矢量多边形?
我一直在寻找一种可靠的解决方案,该解决方案使我可以创建网络地图并覆盖矢量多边形,而无需花费太多时间来加载此类数据,目的是使我能够使每个多边形在悬停事件上显示不同的颜色。 据我所知,可以通过3种画布,SVG,Flash来实现这一目标。 如果Flash能在苹果iPhone / iPad上运行,它似乎是最好的解决方案,因为它似乎提供了最快的渲染速度和最干净的显示效果。画布似乎是第二好的选择,但是如果您要在地图上显示数百个多边形,则花费非常长的时间,而SVG需要花费更长的时间来渲染。 我几乎找不到希望解决该问题的解决方案的希望,但今天我遇到了一家名为GISCloud http://www.giscloud.com的公司(当前处于Beta版,具有免费注册)。 这家公司使SOMEHOW设法找到了一种惊人的方式来近乎实时地在地图上渲染数百个矢量。我对他们的方法感到惊讶,我向社区提出的问题与我们如何复制他们的方法以与现有技术一起使用,如传单,开放层,蜡... 通过查看此惊人的演示来自己看看:http : //www.giscloud.com/map/284/africa 确保将鼠标悬停在页面上的所有多边形上,并测试缩放控件,以确保这些多边形确实是矢量。 通过查看带有Firebug的请求,我已经注意到,该地图正在请求特定的json文件。似乎根据缩放级别/区域,有多个json文件被请求。 我还要在这里提到,一旦giscloud将数据加载到页面上,将鼠标悬停在矢量上就可以立即更改颜色,而无需创建新请求。 例子: http://cft1.giscloud.com/t/1316509973/map284/layer1156/3/3/3.json http://cft1.giscloud.com/t/1316509973/map284/layer1156/3/5/3.json http://cft1.giscloud.com/t/1316509973/map284/layer1156/3/4/4.json http://cft1.giscloud.com/t/1316509973/map284/layer1156/3/3/4.json http://cft1.giscloud.com/t/1316509973/map284/layer1156/3/5/4.json 我假设url结构遵循标准的切片服务逻辑(例如,第3到最后一个文件夹是缩放级别...)。 无论如何,我已经分析了这些json文件的实际数据,并且看来他们使用的逻辑遵循某种逻辑,即它们仅基于这些数据值来创建矢量: 宽度/高度:它们定义每个json请求中提供的数据的宽度和高度 像素:在这里它们定义了像素值,我假设它们与某种广义点级别的一些一般x / y像素坐标有关?我猜他们会以某种方式根据缩放级别自动简化区域。我假设它们使用像素坐标,我猜想它们与经/纬度数据相比正在极大地减少需要加载的数据的大小。 样式:此处定义了两个RGB css值。“ F”代表多边形文件颜色,“ S”代表多边形边界颜色。 geom:这是我猜测它们在某种程度上定义的地方,具体定义正在加载的图块中的每个多边形,其中基于地图容器窗口定义此类数据。有趣的是,每个条目都有一个“ S”值,我假设该值用作可选属性或特征链接值,并且在每个条目的末尾都有一个区域,似乎在定义每个矢量ID的同时我猜测的层ID被用来以某种方式加入来自每个被调用的json磁贴请求的数据。 我还假设他们以某种方式找到了一种方法,可以根据需要为请求的图块加载的数据大小,自动确定并拆分每个图块需要加载的数据。 以下是这些请求之一的摘要: {"width":256,"height":256,"tile": {"pixels": [0,6461,-1,0,5,148,0,509,-1,10715,-1,1,-1,251,-1,1,-1,1,-1,251,-2,3,-1,255,-1,249,-2,5,-2,247,-1,509,-3,251,-1,2,-2,253,-2,252,-2,254,-1,255,-1,254,-1,255,-1,1276,-2,13,-1,233,-1,2,-1,253,-1,1,-1,255,-1,247,-1,1306,-1,1533,-1,1269,-1,1276,-1,2303,-1]}, "styles": [{"f":"rgb(99,230,101)","s":"rgb(5,148,0)","lw":"0"}], "geom": [ {"s":0,"p":[4,143,5,144,3,146,1,146,2,143,4,143],"c":"layer1156_5098"}, {"s":0,"p":[-2,143,0,140,2,141,2,144,1,146,-2,144,-2,143],"c":"layer1156_5067"}, {"s":0,"p":[7,143,5,144,4,143,2,143,2,141,5,138,6,139,5,141,7,143],"c":"layer1156_5051"}, {"s":0,"p":[10,141,11,137,12,137,14,137,12,142,9,143,9,142,10,141],"c":"layer1156_5041"}, {"s":0,"p":[1,136,0,140,-2,143,-2,136,1,136],"c":"layer1156_5038"}, {"s":0,"p":[8,143,5,141,5,137,8,136,10,137,10,141,8,143],"c":"layer1156_5033"}, {"s":0,"p":[5,137,2,141,0,140,1,136,1,136,2,135,3,136,5,137],"c":"layer1156_5028"}, {"s":0,"p":[10,134,12,136,11,138,8,135,10,134],"c":"layer1156_5020"}, {"s":0,"p":[-2,133,0,136,-2,136,-2,133],"c":"layer1156_5005"}, …



7
点层和线层之间最近的邻居?[关闭]
我已经在#qgis和#postgis之间的stackoverflow和irc上多次问过这个问题,我也尝试在postgis中对其进行编码或实现,但没有真正的答案。 我想使用编程(最好是python),从点层绘制一条线,使其在直线或多边形层的最近线上投影。 截至目前,我的大部分数据都采用ESRI的格式和邮政格式。但是,我宁愿远离postgis解决方案,因为我主要是shp + qgis用户。 一个理想的解决方案是用python或类似的库实现GDAL / OGR 从哪里开始使用GDAL / OGR库?有可能给出解决方案吗? 我可以使用NetworkX进行最近邻居分析吗? 这实际上可行吗? 如果更简单,则这些点可以连接到线段终点,而不是投影点

4
是否在QGIS中加载OpenStreetMap数据?
在QGIS 1.8中,我使用openstreetmap插件从服务器请求数据,或打开一个.osm XML文件,该文件在QGIS中产生了3层(多边形,折线和点)。 这很棒(给出或接受严重影响我正在处理的新映射区域的64位错误),但是如何在QGIS 2.x中做到这一点? 我找不到有关它的任何更新文档。 在向量菜单中,我尝试从osm服务器导入,得到一个.osm文件,但随后被卡住了。有一个用于加载XML文件的菜单选项,但它会生成一个spacespaceite db,当我尝试将其添加为Spaceiteite图层时,显然只有非几何表。如果打开属性表,则可以看到节点ID,方式等,但无法弄清楚如何实际使用它们。 我还尝试过从.osm XML文件中添加矢量层。我得到一个gpsbabel窗口,该窗口什么也不显示,最后在QGIS中显示一条无效的数据源消息。


5
将栅格值提取到面属性中
我有一个像素为高程数据的州的栅格数据。我也有Vector图层,其中包含300个州的州。我需要的是,我想使用ArcGIS从栅格数据中获取特定分区的平均高程值。 我尝试在ArcGIS中通过遮罩提取来提取单个多边形以将栅格裁剪为300个栅格,然后从单个栅格中收集了平均高程,但是花了几天的时间才能完成工作。还有没有其他简单的方法来获得它。

8
使用QGIS的带有控制点的地理配准矢量层?
我有一个非地理参考的矢量层,需要对其进行地理参考。使用栅格图层,该任务既简单又直接,但是我不知道该如何处理矢量图层。我有一些控制点具有已知的坐标,应该为转换提供一些基础。因此,假设我知道id-s为1、2和3的点应具有x1,y1的坐标;x2,y2; x3,y3。除了简单的移位之外,还可能会有一些旋转和比例转换。 有任何想法吗?

4
使用QGIS将矢量层转换为栅格?
在栅格菜单的qgis中,有一个“ 将向量转换为栅格 ”项。 这表现得很奇怪-我不明白它应该如何工作。 我可以选择一个矢量文件,一个属性和一个输出栅格。但是,由于某种原因,只有存在的情况下才接受输出文件,即使我选择了现有的栅格,也似乎什么也没有发生。 我也不明白程序如何知道要创建哪种栅格,像元大小,投影等。 如何将向量转换为栅格?
27 qgis  raster  vector  convert 

1
合并shapefile中已在图块边界处拆分的相邻多边形?
我目前正在使用来自Ordnance Survey Vectormap区的建筑数据,并且我注意到由于OS分割shapefile的方式,许多建筑多边形被分为2个部分。 这是我在QGIS中看到的-我突出显示了在图块边界处分割的一些建筑物: 我无法手动合并建筑物,因为有太多建筑物在边界处被分割(这只是一个放大的示例)。我正在寻找一种自动化的方法来解决这个问题。 不幸的是,分开的建筑物的每一侧都有不同的编号,所以我很难解散它们。 您如何建议我可以自动合并建筑图块? 编辑 我现在使用PostGIS合并在图块边界处分割的多边形。这是为我执行此操作的SQL语句–它比使用QGIS快很多很多倍: DROP TABLE merged; CREATE TABLE merged AS SELECT -- Merge polygons that are within 0.01 metres of each other (ST_Dump(ST_Union(ST_Buffer(the_geom, 0.01)))).geom AS the_geom FROM unmerged; -- Update the geometry_columns table SELECT Populate_Geometry_Columns();

3
我们如何保护GIS数据?
我在这里找到了一篇与此主题相关的非常有趣的论文。 我只想向其他专业人士提出意见/想法,以了解如何使用密码术或数字水印技术保护GIS数据? 任何建议,尤其是对于一个国家的行政层而言,因为每个公司的层源都是相同的,因此输出或多或少也是相同的。 我对某些方法(例如此处建议的方法)感兴趣
22 vector  data 

1
是否可以生成用GRASS填充矢量区域的牛齿兽图案?
是否可以生成用GRASS填充矢量区域的牛齿兽图案? 我在GRASS中有一个向量区域。我想生成一个矢量(一条折线),该矢量是填充该区域的bostrophedon模式。 在下面的图片中,我有“灰色”区域,我想自动生成红色折线。 GRASS或其他GIS工具是否可能? 在理想情况下,该函数将采用以下参数: 起点(必须在该区域的任何地方) 两条平行线之间的距离 方向(有助于绘制图案的矢量)
21 qgis  grass  vector 

3
如何使用Python和GDAL访问文件地理数据库中的要素类?
我正在尝试使用Python + GDAL访问ESRI文件地理数据库中的矢量数据集。我已经使用文件地理数据库API成功编译了GDAL。自输入以来,FileGDB驱动程序正常工作 ogrinfo --formats 显示FileGDB驱动程序并输入 ogrinfo myfilegdb.gdb 给我有关数据库内容的正确信息。 但是,我找不到如何在Python中访问内容本身的方法。为了访问shapefile,我会写: driver = ogr.GetDriverByName('ESRI Shapefile') ds = driver.Open('shapefile.shp', 0) 访问FileGDB要素类时,我会假定使用以下命令: driver = ogr.GetDriverByName('FileGDB') ds = driver.Open('myfilegdb.gdb/feature_class', 0) 但这似乎不起作用,因为它无法识别/定位数据集。有谁知道如何从ESRI FileGDB调用单个要素类。 我在Ubuntu 12.04 x64上使用Python 2.7,GDAL 1.9.1,filegdb api 1.2。感谢您的任何建议!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.