地理信息系统

制图师,地理学家和GIS专业人员的问答



11
不连续或间断的地图投影?
当前的任何开源GIS软件都支持不连续的投影系统吗?例如正弦波,动力,蝴蝶等?如果不是,是否有任何负担得起的商业产品(负担得起的价格<$ 150)? Upate:以“正弦曲线” 开头显然不是一个好主意,因为该投影也具有单点不间断形式。请注意,此处的关键字不连续或间断。谢谢。

5
使用R从ESRI文件地理数据库(.gdb)读取表
我试图将一个表直接从ESRI文件地理数据库读取到R中。可以在此处下载示例数据文件。该数据库包含一个点要素类(Zone9_2014_01_Broadcast)和两个链接表(Zone9_2014_01_Vessel和Zone9_2014_01_Voyage)。你可以阅读使用R中的shape文件readOGR从rgeos包: library(rgeos) library(downloader) download("https://coast.noaa.gov/htdata/CMSP/AISDataHandler/2014/01/Zone9_2014_01.zip", dest="Zone9_2014_01.zip", mode="wb") unzip("Zone9_2014_01.zip", exdir = ".") # Not Run (loads large point file) # broadcast <- readOGR(dsn = "Zone9_2014_01.gdb", layer = "Zone9_2014_01_Broadcast") 当使用ogrListLayers或时,两个链接的表也会显示ogrInfo。但是,ogrInfo给出警告: 警告消息:在ogrInfo(“ Zone9_2014_01.gdb”,layer =“ Zone9_2014_01_Vessel”)中:ogrInfo:所有功能均为NULL 而且,如果您尝试readOGR在表格上使用,则会出现错误: vessel <- readOGR(dsn = "Zone9_2014_01.gdb", layer = "Zone9_2014_01_Vessel") readOGR(dsn =“ Zone9_2014_01.gdb”,layer =“ Zone9_2014_01_Vessel”)中的错误:未找到功能另外:警告消息:在ogrInfo(dsn = dsn,layer =图层,编码=编码,use_iconv = use_iconv …

5
在PostGIS中使用公共模式以外的模式吗?
我目前正在Ubuntu上重新安装PostGIS 2.0.2和PostgreSQL 9.1.6。我最近遇到了一些 信息,表明使用公共架构存储所有数据不是一个好主意。 因此,我建立了一个名为data的架构,并让自己成为所有者,但这是一个好主意吗? 我担心的是: 除了设置所有者外,在创建新模式时(通过pgAdmin III),我可能还需要注意“权限”选项卡上的内容。 通过将数据存储在公共模式中并将所有数据转储到单独的模式中,然后再执行备份/还原,我可能不会获得相同的好处(使用ogr2​​ogr可以节省一些击键次数);和 我可能在新数据模式中没有默认的PostGIS表和视图(它们位于同一数据库的公共模式中)时遇到麻烦。
21 postgis 

2
如何以编程方式创建新的空矢量层?
我是python和QGIS的新手。我看过一些QGIS的python脚本教程。它们全都使用一些现有数据源创建新的矢量和栅格图层。例如。shapefile或geotiff或postgis数据库表。 是否可以通过python脚本创建QGIS层,我可以在需要时通过python脚本创建/添加/修改新功能。它通常是带有点数据和自定义符号的矢量层。 这有可能吗?有没有我可以看的例子?
21 qgis  pyqgis 

7
GRASS无法与QGIS 3.6一起使用
我使用OSGEO4w将QGIS更新到了3.6版 当我尝试运行任何GRASS脚本时,出现以下错误消息: 无法运行该算法:-(指定的GRASS 7文件夹“ C:\ OSGEO4〜1 \ bin \ bin”不包含有效的GRASS 7模块集。请转到“处理设置”对话框,然后检查GRASS 7文件夹配置正确 看起来该路径不存在,但是我找不到更改它的地方;它不再是处理设置中的选项,就像版本2.x中一样。 有没有一种方法可以在QGIS 3.6中运行那些处理脚本,如果可以,我该如何调整所需的设置? 编辑:这是我的处理方式
21 qgis  grass  osgeo4w 

4
在R中裁剪简单要素对象
是否有用于裁剪sf映射对象的函数,类似于maptools::pruneMap(lines, xlim= c(4, 10), ylim= c(10, 15))用于SpatialPolygon或SpatialLine的函数? 我正在考虑,st_intersection()但是可以有适当的方法。
20 r  clip  sf 

1
使用来自外部CSV的数据执行QGIS Modeler多个栅格计算?
我需要根据CSV元数据文件中的值对一组栅格执行多次计算。 我正在使用QGIS图形建模器,并且可以使用Table和Table Field输入在CSV中调用特定字段。 由于我有多个栅格,并且每个栅格在CSV中都有一个对应的值,因此如何调用特定的行?(例如类似于查找)。 如果我不需要为了易用性而不想添加脚本。

1
Geohash的精度是多少
我想知道给定长度的geohash的精度。如果有一个“简单”公式,您可以用来计算它,那就太酷了。 维基百科列出了最多8个字符的精度: # km 1 ±2500 2 ±630 3 ±78 4 ±20 5 ±2.4 6 ±0.61 7 ±0.076 8 ±0.019

2
将QGIS链接到Anaconda Python发行版:Spyder,iPython Notebook,pip,scikit-learn
我将Anaconda作为我的主要Python发行版,并希望通过它路由与Python相关的QGIS脚本。使用Anaconda,我拥有Spyder,可以轻松地通过pip安装软件包,并且可以启动iPython Notebook网络浏览器以用于屏幕共享并存储我打算在QGIS中进行操作之前,之中和之后对数据执行的代码(软件包,例如scikit-learn)。 我找不到任何有关如何链接两者的有用信息。 我使用的是Windows 8.1,但如果只能在Linux上完成,则可以尝试在运行Mint 13的桌面上进行设置。我只需要在笔记本电脑上找到一个摄像头和麦克风即可,但没有目前在台式机上进行互动演示和在星期二进行采访。

1
使用gdal Python绑定复制gdalwarp的结果
我正在尝试使用GDAL python绑定进行重新投影/重新采样,但是与命令行实用程序相比,得到的结果略有不同gdalwarp。 请参阅下面的更新以获取更短的示例 此脚本说明了Python方法: from osgeo import osr, gdal import numpy def reproject_point(point, srs, target_srs): ''' Reproject a pair of coordinates from one spatial reference system to another. ''' transform = osr.CoordinateTransformation(srs, target_srs) (x, y, z) = transform.TransformPoint(*point) return (x, y) def reproject_bbox(top_left, bottom_right, srs, dest_srs): x_min, y_max = top_left …
20 python  gdal  gdalwarp  numpy 

5
各种GIS职位的说明
这篇文章是社区维基。编辑现有答案以改善此职位。它当前不接受新的答案。 我已经辍学,在GIS领域(主要是办公桌领域)工作了五年以上。我在为多家公司工作和申请各种工作时发现的一个一致性是,我们的职称与我们每天完成的实际任务相关的方式并不一致。 是否有人对一些GIS职位有一份完整的常规任务/职位描述列表: GIS技术员 GIS分析师 GIS管理员 GIS开发人员 GIS应用专家 GIS专业人士 地理信息系统经理 GIS / IT技术员 GIS技术架构师 我知道每个标题随地区和公司的不同而有所差异,但是一般的清单将是一个很好的资源。如果有任何遗漏,请随时添加。
20 title  position 


1
单击使用传单更改标记图标
我有一张地图上有很多(> 100)标记。我想这样做,以便单击这些将图标更改为突出显示的版本。我创建了两个自定义图标,一个是常规图标,另一个是突出显示的图标。我已经将其与单个标记一起使用,但是找不到任何设置方法,因此可以通过单击来更改每个图标。 这是一个图标的工作代码: var testmarker = L.marker([44.0, -73.0], {icon: unselectedIcon}); testmarker.on('click', function(e) { testmarker.setIcon(selectedIcon); }); 但是我有很多标记,并使用for循环放置它们: //points is a 2 dim array with lat/long pairs for (i = 0; i <= points.length-1; i++) { var marker = L.marker([points[i][0], points[i][1]], {icon: unselectedIcon}); } marker.on('click', function(e) { marker.setIcon(selectedIcon); }); 我尝试通过使用数组为每个标记赋予唯一的变量名称: for (i …
20 leaflet  markers 

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.