标签: shapefile

如何在 php 中添加形状文件 (.shp) 并在 php 文件中使用该形状文件数据?

我必须在 php 中开发一个项目,并且必须包含形状文件,并且该形状文件需要转换为 kml 文件。

我知道如何将形状文件转换为 kml 文件,但我不知道如何将形状文件导入/导入到 php 项目中。
我还有包含更多信息的形状文件的支持文件。其中一些是 .dbf、.shx 等。所有文件的信息也应该与形状文件信息一起存储。

是否有任何工具可以导入形状文件或任何其他帮助,以便我可以将形状文件添加到 php 站点中的项目中?或者是否可以存储所有形状文件(.shp)、.dbf、. shx 数据存入数据库,然后使用该数据进行 kml 结构化。

我还想知道,所有形状文件都遵循任何结构或格式吗?形状文件(例如xml文件)是否有任何标准?

xml 文件应强制包含起始标记。
它们应该遵循结构,否则查看者将无法看到 xml 文件。

php gis shapefile

3
推荐指数
1
解决办法
1万
查看次数

在R中提取形状文件对象的质心?

我有一个形状文件,上传到以下路径:

https://drive.google.com/open?id=0B1ITb_7lHh1EUFVfVWc4ekRfSnc

我使用“shapefiles”包中的“read.shapefiles”函数导入了数据:

landuse<- read.shapefile("landuse")
Run Code Online (Sandbox Code Playgroud)

我现在需要提取 landuse 对象内所有形状的纬度/经度质心并将其添加到 landuse$dbf 数据帧

我尝试了两件事:

lu_df<-coordinates(landuse)
lu_df<-SpatialPoints(landuse)
Run Code Online (Sandbox Code Playgroud)

两者都给了我以下错误:

Error in coordinates(as.data.frame(obj)) : 
  error in evaluating the argument 'obj' in selecting a method for function 'coordinates': Error in data.frame(record = 1L, content.length = 80L, shape.type = 5L,  : 
  arguments imply differing number of rows: 1, 4, 7
Run Code Online (Sandbox Code Playgroud)

我不确定如何进行。

r geospatial shapefile centroid

3
推荐指数
1
解决办法
3801
查看次数

PostgreSQL/PostGIS:shp2pgsql INSERT 而不是创建新表

您好,我对 PostgreSQL/PostGIS 非常陌生,刚刚按照本教程学习了如何将 Shapefiles 转换为 SQL 文件并使用 shp2pgsql 将其导入到 PostGIS 。我注意到,每当我转换 Shapefile 时,它​​都会生成一个包含 CREATE TABLE 语句的 SQL 文件。现在我的问题是,有没有办法或者甚至可以将新的形状文件(带有新的图层组)插入到现有的表中,而不是创建一个新的表?

我希望我解释得很好。谢谢。

postgresql postgis shapefile pgadmin

3
推荐指数
1
解决办法
2639
查看次数

生成落在多边形内的经纬度坐标网格

我正在尝试将数据绘制到地图上。我想为特定城市的地图上的特定点生成数据(例如到一个或多个预先指定位置的运输时间)。

我在这里找到了纽约市的数据:https : //data.cityofnewyork.us/City-Government/Borough-Boundaries/tqmj-j8zm

看起来他们有一个可用的 shapefile。我想知道是否有一种方法可以在每个行政区的 shapefile 范围内对经纬度网格进行采样(可能使用 Shapely 包等)。

对不起,如果这是天真,我不是很熟悉处理这些文件——我这样做是作为一个有趣的项目来了解它们

python shapefile geo

3
推荐指数
1
解决办法
6105
查看次数

Shapefile 缩放以使用 geopandas 绘图

我有一个意大利的 shapefile,我正在其上绘制 GIS 数据。问题是我有一辆公共汽车在城市(罗马)内行驶的小轨迹,当我绘制时,它看起来像 1 个点。我猜是因为我的地图。

如何缩放地图(.shp)?

street_map = gpd.read_file("roads.shp")
...
...
fig,ax = plt.subplots(figsize = (20,15))
street_map.plot(ax = ax, alpha = 0.4, color = "grey")
geo_df[geo_df['Perc_'] > 25].plot(ax = ax, markersize = 20, color = "blue", 
marker = "o", label = "Neg")
geo_df[geo_df['Perc_'] < 25].plot(ax = ax, markersize = 20, color = "red", 
marker = "^", label = "Pos")
plt.legend(prop={'size':15})
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

在此输入图像描述

plot shapefile pandas geopandas

3
推荐指数
1
解决办法
3594
查看次数

使用 NetTopologySuite 编写 2d 形状文件

我创建了一个可以正确写入形状文件的例程,但我有一个问题:形状是 3d,但我需要写入 2d 形状文件。
我怎样才能做到这一点?

谢谢

c# shapefile nettopologysuite

3
推荐指数
1
解决办法
2013
查看次数

在没有安装 rgdal 的情况下解压缩和读取 R 中的形状文件

我想在不依赖 rgdal 的情况下从 R 中的网络解压缩并读取形状文件。我发现该包的read.shp功能fastshp显然可以在没有在环境中安装 rgdal 的情况下完成此操作,但是,我在实现时遇到了麻烦。

我想,可以解压,然后在形状文件类似于什么在此发现的阅读功能SO职位,但对于read.shp功能。我尝试了以下但无济于事:

dlshape=function(shploc, format) {
  temp=tempfile()
  download.file(shploc, temp)
  unzip(temp)
  shp.data <- sapply(".", function(f) {
    f <- file.path(temp, f)
    return(read.shp(".", format))
  })
}

shp_object<-dlshape('https://www2.census.gov/geo/tiger/TIGER2017/COUNTY/tl_2017_us_county.zip', 'polygon')
 Error in read.shp(".", format) : unused argument (format) 
Run Code Online (Sandbox Code Playgroud)

我还尝试了以下方法:

  dlshape=function(shploc) {
      temp=tempfile()
      download.file(shploc, temp)
      unzip(temp)
      shp.data <- sapply(".", function(f) {
        f <- file.path(temp, f)
        return(read.shp("."))
      })
    }

 shp_object<-dlshape('https://www2.census.gov/geo/tiger/TIGER2017/COUNTY/tl_2017_us_county.zip')

Error in file(shp.name, "rb") : cannot open the connection
In addition: Warning messages:
1: …
Run Code Online (Sandbox Code Playgroud)

r spatial shapefile rgdal

3
推荐指数
1
解决办法
1124
查看次数

将多面几何转换为列表

我怎样才能将多面几何转换为列表?我试过这个:

mycoords=geom.exterior.coords
mycoordslist = list(mycoords)
Run Code Online (Sandbox Code Playgroud)

但我收到错误:

AttributeError: 'MultiPolygon' 对象没有属性 'exterior'

python shapefile geopandas

3
推荐指数
1
解决办法
1491
查看次数

R:计算两个地理点之间的距离

我有兴趣学习如何在 R 中使用道路网络文件。

例如,我有兴趣找出以下两个(加拿大)地址之间的驾驶距离:

  • 加拿大国家电视塔:290 Bremner Blvd, Toronto, ON M5V 3L9
  • 多伦多机场:6301 Silver Dart Dr, Mississauga, ON L5P 1B2

过去,我会使用 OpenStreetMap (OSM) 等 API:

library(tmap)


library(tmaptools)
remotes::install_github("riatelab/osrm")

q1 = geocode_OSM("6301 Silver Dart Dr, Mississauga, ON L5P 1B2")
q2 = geocode_OSM("290 Bremner Blvd, Toronto, ON M5V 3L9")

q1 = as.numeric(q1$coords)
q2 = as.numeric(q2$coords)

q1_lat = q1[1]
q1_long = q1[2]
q2_lat = q2[1]
q2_long = q2[2]

route = osrmRoute(src = c(q1[1], q1[2]) ,  dst = c(q2[1], q2[2]), osrm.profile = "car")

> route$distance …
Run Code Online (Sandbox Code Playgroud)

r geospatial shapefile

3
推荐指数
1
解决办法
966
查看次数

在ggplot上绘制shapefile

library(raster)
library(ggplot2)

map.shp <- getData('GADM', country='FRA', level=1)

plot(map.shp)
ggplot(mtcars, aes(x = hp, y = disp)) + geom_point()
Run Code Online (Sandbox Code Playgroud)

如何map.shp将ggplot的右侧作为小插图放置.

r shapefile ggplot2 r-sp

2
推荐指数
1
解决办法
246
查看次数