精华内容
下载资源
问答
  • Arcgis空间关系
    千次阅读
    2018-07-31 16:59:34

    面之间的关系,主要两种:相交和脱离(不相交),相交又分为接触、重叠、覆盖和相等。

    谓词返回值  描述
    相等(Equals)T*F**FFF*边界上的点和内部的点全部重合。属于相交的一种
    脱离(Disjoint)FF*FF****不相交,与相交相反
    接触(Touches)FT*******\F**T*****\F***T****只有边界上有共同点,内部没有。属于相交的一种
    覆盖(Covers)T*****FF*\*T****FF*\***T**FF*\****T*FF*b上的每个点都在a上(边界和内部),且所有点都不在a外部。属于相交的一种  
    重叠(Overlaps)T*T***T**\1*T***T**a和b相交,且具有一部分共同点,但不是全部内部点。属于相交的一种

     

    参考:https://www.cnblogs.com/denny402/p/4968201.html

    更多相关内容
  • JTS Geometry空间关系的判断

    千次阅读 2018-11-06 09:51:31
    几何信息和拓扑关系是地理信息系统中描述地理要素的空间位置和空间关系的不可缺少的基本信息。其中几何信息主要涉及几何目标的坐标位置、方向、角度、距离和面积等信息,它通常用解析几何的方法来分析。而空间关系...

    几何信息和拓扑关系是地理信息系统中描述地理要素的空间位置和空间关系的不可缺少的基本信息。其中几何信息主要涉及几何目标的坐标位置、方向、角度、距离和面积等信息,它通常用解析几何的方法来分析。而空间关系信息主要涉及几何关系的“相连”、“相邻”、“包含”等信息,它通常用拓扑关系或拓扑结构的方法来分析。拓扑关系是明确定的


    下面的例子介绍了 equals、disjoint、intersects 的用法:

    package com.mapbar.geo.jts;
     
    import org.geotools.geometry.jts.JTSFactoryFinder;
     
    import com.vividsolutions.jts.geom.Coordinate;
    import com.vividsolutions.jts.geom.Geometry;
    import com.vividsolutions.jts.geom.GeometryFactory;
    import com.vividsolutions.jts.geom.LineString;
    import com.vividsolutions.jts.geom.Point;
    import com.vividsolutions.jts.io.ParseException;
    import com.vividsolutions.jts.io.WKTReader;
     
    /**  
     * Class GeometryRelated.java 
     * Description 二元比较集合。二元比较以两个几何对象作为参数,返回一个Boolean类型的值,
     * 来指明这两个几何对象是否具有指定的空间关系。支持的空间关系包括:
     * equals、disjoint、intersects, touches, crosses, within, contains, overlaps
     * Company mapbar 
     * author Chenll E-mail: Chenll@mapbar.com
     * Version 1.0 
     * Date 2012-2-17 下午06:17:01
     */
    public class GeometryRelated {
    	
    	private GeometryFactory geometryFactory = JTSFactoryFinder.getGeometryFactory( null );
    	
    	public Point createPoint(String lon,String lat){
    		Coordinate coord = new Coordinate(Double.parseDouble(lon), Double.parseDouble(lat));
    		Point point = geometryFactory.createPoint( coord );
    		return point;
    	}
    	
    	/**
    	 *  will return true as the two line strings define exactly the same shape.
    	 *  两个几何对象是否是重叠的
    	 * @return
    	 * @throws ParseException
    	 */
    	public boolean equalsGeo() throws ParseException{
    		WKTReader reader = new WKTReader( geometryFactory );
    	    LineString geometry1 = (LineString) reader.read("LINESTRING(0 0, 2 0, 5 0)");
    	    LineString geometry2 = (LineString) reader.read("LINESTRING(5 0, 0 0)");
    	    // return geometry1 ==geometry2;  false
    	    //check if two geometries are exactly equal; right down to the coordinate level.
    	    // return geometry1.equalsExact(geometry2);   false
    	    return geometry1.equals(geometry2);//true
    	}
    	
    	/**
    	 * The geometries have no points in common
    	 * 几何对象没有交点(相邻)
    	 * @return
    	 * @throws ParseException
    	 */
    	public boolean disjointGeo() throws ParseException{
    		WKTReader reader = new WKTReader( geometryFactory );
    	    LineString geometry1 = (LineString) reader.read("LINESTRING(0 0, 2 0, 5 0)");
    	    LineString geometry2 = (LineString) reader.read("LINESTRING(0 1, 0 2)");
    	    return geometry1.disjoint(geometry2);
    	}
    	
    	/**
    	 * The geometries have at least one point in common.
    	 * 至少一个公共点(相交)
    	 * @return
    	 * @throws ParseException
    	 */
    	public boolean intersectsGeo() throws ParseException{
    		WKTReader reader = new WKTReader( geometryFactory );
    	    LineString geometry1 = (LineString) reader.read("LINESTRING(0 0, 2 0, 5 0)");
    	    LineString geometry2 = (LineString) reader.read("LINESTRING(0 0, 0 2)");
    	    Geometry interPoint = geometry1.intersection(geometry2);//相交点
    	    System.out.println(interPoint.toText());//输出 POINT (0 0)
    	    return geometry1.intersects(geometry2);
    	}
    	/**
    	 * @param args
    	 * @throws ParseException 
    	 */
    	public static void main(String[] args) throws ParseException {
    		GeometryRelated gr = new GeometryRelated();
    		System.out.println(gr.equalsGeo());
    		System.out.println(gr.disjointGeo());
    		System.out.println(gr.intersectsGeo());
    	}
     
    }
    

    Geometry 叠加操作

    在GIS中,缓冲(buffering)是一种用于计算包含在一个几何图形(Geometry)特定距离区域内所有点的的操作。在数学术语中,这被称为通过一个与缓冲区相等的圆的半径去计算几何图形的闵可夫斯基(Minkowski)总和。发现正的(positive)和负的(negative)缓冲,有时与操作的腐蚀(erosion)和膨胀(dilation)有关。在CAD/CAM,缓冲曲线被称为偏移曲线(offset curves)。你可以使用JTS,通过Geometry buffer方法或者Bufferop类,去计算一个图形的缓冲区。缓冲操作所输入的Geometry可以是任何类别(包括任意的Geometry集合)。缓冲操作的结果通常是一种区域类型(area type)(多边形或者多多边形)。结果也可能为空[例如,一条线(linestring)的负缓冲。

    展开全文
  • PostGIS教程九:空间关系

    万次阅读 多人点赞 2019-01-02 16:12:24
    目录 一、ST_Equals 二、ST_Intersects、ST_Disjoint、ST_Crosses和ST_Overlaps 三、ST_Touches ...六、空间关系练习 到目前为止,我们只使用了测量(ST_Area、ST_Length)、序列化(ST_Geo...

     

    目录

    一、ST_Equals

    二、ST_Intersects、ST_Disjoint、ST_Crosses和ST_Overlaps

    三、ST_Touches

    四、ST_Within和ST_Contains

    五、ST_Distance和ST_DWithin

    六、空间关系练习


       

        到目前为止,我们只使用了测量ST_AreaST_Length)、序列化ST_GeomFromText)或者反序列化ST_AsGML)几何图形(geometry)的空间函数。这些函数的共同之处在于它们一次只能处理一个几何图形。

        空间数据库之所以强大,是因为它们不仅能存储几何图形,而且还能够比较几何图形之间的关系

        诸如"哪一个是离公园最近的自行车位?"或者"地铁线路和街道的交叉路口在哪里?"的问题,只能通过比较表示自行车位、街道和地铁线路的几何图形来回答。

        OGC标准定义了以下一组用于比较几何图形的方法。

    一、ST_Equals

        ST_Equals(geometry A, geometry B)用于测试两个图形的空间相等性。

    _images/st_equals.png

        如果两个相同类型的几何图形具有相同的xy坐标值,即如果第二个图形与第一个图形的坐标信息相等(相同),则ST_Equals()返回TRUE

        首先,让我们从nyc_subway_stations表中检索点数据,我们只选"Broad St"的条目。

    SELECT name, geom, ST_AsText(geom)
    FROM nyc_subway_stations
    WHERE name = 'Broad St';

        然后,将几何图形表示数据插入ST_Equals()进行测试:

    SELECT name
    FROM nyc_subway_stations
    WHERE ST_Equals(geom, '0101000020266900000EEBD4CF27CF2141BC17D69516315141');

        注意:点在空间数据表中的表示不是很容易理解(0101000020266900000EEBD4CF27CF2141BC17D69516315141),但它是坐标值的精确表示。对于像相等这样的测试,使用精确的坐标信息进行比较是必要的。

    二、ST_Intersects、ST_Disjoint、ST_Crosses和ST_Overlaps

        ST_IntersectsST_CrossesST_Overlaps测试几何图形是否相交。

    _images/st_intersects.png

        如果两个图形有相同的部分,即如果它们的边界或内部相交,则ST_Intersects(geometry A, geometry B)返回TRUE

    _images/st_disjoint.png

        ST_Intersects()方法的对立方法是ST_Disjoint(geometry A, geometry B)

        如果两个几何图形没有重合的部分,则它们不相交,反之亦然。

        事实上测试"not intersect"通常比测试"disjoint"更有效,因为intersect测试可以使用空间索引

    _images/st_crosses.png

        对于multipoint/polygonmultipoint/linestringlinestring/linestringlinestring/polygonlinestring/multipolygon的比较,如果相交生成的几何图形的维度小于两个源几何图形的最大维度,且相交集位于两个源几何图形的内部,则ST_Crosses(geometry A, geometry B)将返回TRUE

    _images/st_overlaps.png

        ST_Overlaps(geometry A, geometry B)比较两个相同维度的几何图形,如果它们的结果集与两个源几何图形都不同但具有相同维度,则返回TRUE。

        让我们以宽街地铁站(Broad Street subway station)为例,使用ST_Intersects()函数确定其所在社区:

    SELECT name, ST_AsText(geom)
    FROM nyc_subway_stations
    WHERE name = 'Broad St';

    SELECT name, boroname
    FROM nyc_neighborhoods
    WHERE ST_Intersects(geom, ST_GeomFromText('POINT(583571 4506714)',26918));

    三、ST_Touches

        ST_Touches()测试两个几何图形是否在它们的边界上接触,但在它们的内部不相交。

    _images/st_touches.png

        如果两个几何图形的边界相交,或者只有一个几何图形的内部与另一个几何图形的边界相交,则ST_Touches(geometry A, geometry B)将返回TRUE

    四、ST_Within和ST_Contains

        ST_Within()ST_Contains()测试一个几何图形是否完全位于另一个几何图形内。

    _images/st_within.png

        如果第一个几何图形完全位于第二个几何图形内,则ST_Within(geometry A, geometry B)返回TRUEST_Within()测试的结果与ST_Contains()完全相反。

        如果第二个几何图形完全包含在第一个几何图形内,则ST_Contains(geometry A, geometry B)返回TRUE

    五、ST_Distance和ST_DWithin

        一个常见的GIS问题是"找到这个物体周围距离X的所有其他物体"。

        ST_Distance(geometry A, geometry B)计算两个几何图形之间的最短距离,并将其作为浮点数返回。这对于实际报告几何图形之间的距离非常有用。

    SELECT ST_Distance(
      ST_GeometryFromText('POINT(0 5)'),
      ST_GeometryFromText('LINESTRING(-2 2, 2 2)'));

        为了测试两个几何图形之间的距离是否在某个范围之内,ST_DWithin()函数提供了一个这样的的功能。

        这对于"在距离道路500米的缓冲区内有多少棵树?"这样的问题很有用,你不必计算实际的缓冲区,只需测试距离关系即可。

    _images/st_dwithin.png

        再次使用我们的宽街地铁站Broad Street subway station),我们可以找到地铁站附近(10米内)的街道:

    SELECT name
    FROM nyc_streets
    WHERE ST_DWithin(
            geom,
            ST_GeomFromText('POINT(583571 4506714)',26918),
            10
          );

        我们可以在地图上验证答案,Broad St站实际上是在WallBroadNassau街道的十字路口。

    _images/broad_st.jpg

    六、空间关系练习

        下面是我们在文章上面部分涉及到的一些函数,它们应该对练习有用!

        还请记住我们现在数据库中已经具有的表:

    • nyc_census_blocks
      • blkid, popn_total, boroname, geom
    • nyc_streets
      • name, type, geom
    • nyc_subway_stations
      • name, geom
    • nyc_neighborhoods
      • name, boroname, geom

        练习

        ①名为"Atlantic Commonts"的街道的geometry值是什么?

    SELECT ST_AsText(geom)
      FROM nyc_streets
      WHERE name = 'Atlantic Commons';

        Atlantic Commons(大西洋公地)位于哪个社区(neighborhood)和行政区(borough)?

    SELECT name, boroname
    FROM nyc_neighborhoods
    WHERE ST_Intersects(
      geom,
      ST_GeomFromText('LINESTRING(586782 4504202,586864 4504216)', 26918)
    );

        注意:嘿,为什么要将"MULTILINESTRING"变成"LINESTRING"呢?因为在空间上,它们描述的是相同的形状。

        更重要的是,我们还对坐标进行了四舍五入,以使它们更易于阅读,这实际上改变了结果:我们现在不能使用ST_Touches()方法来找出哪些道路连接Atlantic Commons,因为坐标不再与原来的坐标完全相同。

        Atlantic Commons与哪些街道相连?

    SELECT name
    FROM nyc_streets
    WHERE ST_DWithin(
      geom,
      ST_GeomFromText('LINESTRING(586782 4504202,586864 4504216)', 26918),
      0.1
    );

    _images/atlantic_commons.jpg

        ④大约有多少人住在Atlantic Commons上(距离Atlantic Commons50米以内)?

    SELECT Sum(popn_total)
      FROM nyc_census_blocks
      WHERE ST_DWithin(
       geom,
       ST_GeomFromText('LINESTRING(586782 4504202,586864 4504216)', 26918),
       50
      );

    展开全文
  • 在使用ISpatialFilter接口进行空间关系查询时,使用esriSpatialRelEnum枚举类型来判断空间关系。 1、esriSpatialRelContains(包含)和esriSpatialRelWithin(包含于) 应用范围: 所有要素类之间均具有该关系 ...

         在使用ISpatialFilter接口进行空间关系查询时,使用esriSpatialRelEnum枚举类型来判断空间关系。

    1、esriSpatialRelContains(包含)和esriSpatialRelWithin(包含于)

     应用范围:
           所有要素类之间均具有该关系
    描述:可细分为一个要素完全包含另一个要素和一个要素被另一个要素完全包含。它们是相对的关系,若果说要素A完全位于要素B内,则要素B完全包含要素A。当两个图形完全相等时,即相互包含。

    示意图:

    2、esriSpatialRelTouches (边界相接)

    应用范围: 
         除点与点之间的关系外,其它的要素之间都可以具有该关系。 
    描述: 
     两个几何图形只在它们的交界处相交,而两个几何图形内部的交集为空。如点和线的相接,那么点必须在线的端点处才会发生相接关系。

    示意图:

    3、esriSpatialRelCrosses (穿越)

    应用范围: 
         线与面,线与线。 

    描述: 
    如果二个要素的相交部分不为空,并且相交部分形状的维数比两个要素中最高维数低1(即线面交叉是线,线线交叉是点)则称这二个要素具有交叉关系。

    示意图:

    4、esriSpatialRelOverlaps (空间覆盖)

    应用范围:
     
        线与线,面与面,多点与多点。 

    描述: 
    两个几何图形的交集与这两个几何图形的维数相同,但其交集结果与这两个几何图形不同。

    示意图:

     

    5、esriSpatialRelIntersects (广义相交)

    应用范围:
          所有要素类之间均具有该关系。
    描述: 
    相交关系是一个广义的关系,包括上述4种关系。

    6、esriSpatialRelEnvelopeIntersects(包络线相交)

    应用范围:
         所有要素类之间均具有该关系。
    描述:
    查询几何和目标几何的Envelope(包络线--最小外接矩形)相交(本身不一定相交)

    7、esriSpatialRelIndexIntersects ( 索引相交)

    描述:

    查询几何图形的空间范围和目标几何图形的索引范围相交。API解释:Returns a feature if the envelope of the query geometry intersects the index entry for the target geometry.  Because it uses the underlying index grid, rather than the evelope of the feature, it is faster and is commonly used for return features for display purposes.

    8、esriSpatialRelUndefined  (未定义)

    描述:
    相当于不考虑空间关系。

    9、esriSpatialRelRelation  (空间关联)

    描述:Query geometry IBE(Interior-Boundary-Exterior) relationship with target geometry。通过SpatialRelDescription属性设置自定义空间关系。俗称九关系查询。

          ISpatialFilter.SpatialRel设置为esriSpatialRelRelate,并且设置SpatialRelDescription为某个字符串。字符串中有9个字符,每个字符可以是F,T,或者*,T表示True,F表示False,*表示无关。这九个关系取交集,最终的结果为满足条件的结果集。例如:TT*FFT***表达了包含。

           这9个关系是分别从几何体的内部,边界,外部来区分的,所有的几何体之间的拓扑关系不外乎这9个关系的组合。

     Query GeometryTarget Geometry
    1interiorinterior
    2interiorboundary
    3interiorexterior
    4boundaryinterior
    5boundaryboundary
    6boundaryexterior
    7exteriorinterior
    8exteriorboundary
    9exteriorexterior

    例如:不相交关系

    ISpatialFilter spatialFilter = new SpatialFilterClass()
    {
       Geometry = geometry,
       GeometryField = originFClass.ShapeFieldName,
       SpatialRel = esriSpatialRelEnum.esriSpatialRelRelation
    };
    spatialFilter.SpatialRelDescription = "FF*FF****"; //"F*T***T**";

    但是在实际运用中却出现了问题,忘大神们看到能给点提示

    如上图(线面相交):利用九关系的不相交居然能查询到与线相交的面。

    展开全文
  • 语义信息 图像的语义分为视觉层、对象层和概念层。 视觉层即通常所理解的底层,即颜色、纹理和形状...所谓空间关系,是指图像中分割出来的多个目标之间的相互的空间位置或相对方向关系,这些关系也可分为连接/邻接关
  • 空间分析的根基,来源于60年代Waldo R. Tobler教授“地理学第一定律”的“Tobler's First Law”(简称TFL),即为“Everything is related to everything else, but near things are more related to each other。”...
  • 本文讲述geotools中的空间关系判断(Geometry Relationships)和空间操作(Geometry Operations)的编码实现。
  • 一 、形状特征 (一)特点 各种基于形状特征的检索方法都可以比较有效地利用图像中感兴趣的目标来进行检索,但它们也有...④许多形状特征所反映的目标形状信息与人的直观感觉不完全一致,或者说,特征空间的相似性
  • 白话空间统计之五:空间关系的概念化(下)

    万次阅读 多人点赞 2015-08-09 17:31:56
    空间关系的概念化,在ArcGIS中,一共是有7种。前面我们说了反距离、距离范围、无差别区域和面邻接四种,后面还有三种今天一并说完。   后面的几种,其实也都是在前面的那些“简单粗暴”的模型中发展而来的,正...
  • 白话空间统计之五:空间关系的概念化(上)

    万次阅读 多人点赞 2015-08-06 16:40:16
    空间统计分析与传统的统计分析,最大的区别就在于空间统计学把空间信息和空间关系都直接整合到了算法之中。如果取消掉空间相关的特性,空间统计学与传统统计学就没有多大的区别了。   因此在做空间统计时,都要求在...
  • 白话空间统计之五:空间关系的概念化(中)

    万次阅读 多人点赞 2015-08-08 17:57:44
    空间关系的概念化(中)   上文说的两种空间关系概念化虽然是最常用,但是总给人一种简单粗暴的感觉,所以业界和学术界由搞出了各种各样的空间关系概念化的模型。   首先,就是把两种最简单的概念化给组合起来...
  • ArcMap中Selection下的Select By Location工具能够提供点线面11种不同的空间关系选择。Select By Location界面如图:  在案例2:分析邻接多边形中,提到了邻接多边形的问题,为了更好的联系ArcMap基本操作,使用...
  • 上一回说到使用距离对点数据取临近要素,如果不考虑标准化这个参数,那么每个要素对其临近的就只有相邻和不相邻两种情况。实际上在使用距离为空间关系概念的空间分析里面,经常使用的...
  • 常用的图像特征有:颜色特征、纹理特征、形状特征、空间关系特征。
  • GIS中的拓扑空间关系

    万次阅读 2015-05-07 10:09:56
    2、为了研究几何目标的空间关系,因此引入了拓扑关系的概念,拓扑关系时明确定义空间关系的一种【数学方法】。在GIS中,通常用它来描述并确定空间的点、线、面之间关系及属性,并可实现相关的查询和检索。从拓扑观点...
  • 常用的图像特征有颜色特征、纹理特征、形状特征、空间关系特征。 一 颜色特征 (一)特点:颜色特征是一种全局特征,描述了图像或图像区域所对应的景物的表面性质。一般颜色特征是基于像素点的特征,此时所有...
  • 空间关系里面,点与点之间的关系是最简单的(要么重合,要么分离),而且实际上真实世界的物理空间里面,是没有点这个东西的……那是一维空间的玩意儿。 从更高层的抽象中对概念进行描述,是科研的重要方法论,...
  • 常用的图像特征有颜色特征、纹理特征、形状特征、空间关系特征。 一 颜色特征 (一)特点:  颜色特征是一种全局特征,描 述了图像或图像区域所对应的景物的表面性质。一般颜色特征是基于像素点的...
  • 基于依存关系的空间关系抽取算法

    千次阅读 2016-08-12 10:53:22
    空间关系是指存在于实体之间的具有空间特征的关系,如方位关系、距离关系、拓扑关系、层次关系等。空间关系在自然语言描述中一般具有三个部分或者两个层次。三个部分是从认知学的角度出发的将其分为射体、界标和方位...
  •  内核创建进程,创建进程的同时创建进程控制块,创建进程自己的堆栈一个进程有两个堆栈,用户栈和系统栈用户堆栈的空间指向用户地址空间,内核堆栈的空间指向内核地址空间。 3 它们之间关系 关系如图所示: ...
  • JTS 空间数据关系判定

    千次阅读 2020-01-08 14:45:42
    Geometry之间的关系有如下几种,JTS中都有相应的方法做关系判定: JTS Geometry关系判断:
  • 32位的地址线最多可寻址多大的内存空间?? 内存是存储单元的集合,每个 存储单元 有一个唯一的物理地址,大多数计算机的 存储单元 都是字节(Byte)可编址的,即8个 bit 位用一个地址, 如下图所示。 8 根地址线...
  • 数学上各种空间概念的关系

    千次阅读 多人点赞 2018-03-29 16:15:23
    数学上有各种空间,概念容易混淆,为了记忆,整理出一张关系图。 目前不清楚无限维的内积空间是什么? 也欢迎各位补充其他的概念。
  • [GIS教程] 7 空间数据查询与空间度量

    千次阅读 2018-10-04 09:52:12
    文章目录空间查询空间属性查询空间图形查询空间关系查询拓扑关系查询缓冲区查询空间度量距离量算方位量算线状物体的量算分数维数曲率与弯曲度面状物体的量算面积周长形状质心最大内切圆最小外接圆最小凸包 ...
  • 空间分析知识点总结

    千次阅读 多人点赞 2019-09-08 00:22:19
    GIS由哪几部分组成:用户,计算机软硬件系统,空间数据,应用模型 ...空间分析的主要内容:空间位置,空间分布,空间形态,空间距离,空间关系 空间分析的主要方法: 空间分析步骤:明确目标,准备数据...
  • 常用的图像特征有颜色特征、纹理特征、形状特征、空间关系特征。 一 颜色特征 (一)特点:颜色特征是一种全局特征,描 述了图像或图像区域所对应的景物的表面性质。一般颜色特征是基于像素点的特征,此时所有...
  • 学习笔记—空间关系查询

    千次阅读 2007-09-19 09:28:00
    名词解释:Boundary(边界):只有线和面才有边界。面的边界是指组成面的框架线;线的边界是指线的二个端点(即起点和终点,不包括中间部分...空间关系具体描述(Queryable Spatial Relationships):示意图:空间关系
  • 空间数据分析知识点

    千次阅读 2017-12-04 20:47:43
    1. 空间分析:(spatial analysis,SA)是基于地理对性的位置和形态特征的空间数据分析技术,其目的在于提取和传输空间信息,是地理信息系统的主要特征,同时也是评价一个地理信息系统功能的主要指标之一,是各类综合性...
  • 图像的空间关系特征

    千次阅读 2007-08-14 13:43:00
    事实上,图像中对象所在的位置和对象之间的空间关系同样是图像检索中非常重要的特征。打个比方,蓝色的天空和蔚蓝的海洋的在颜色直方图上是非常接近而难以辨别。但如果我们指明是“处于图像上半部分的蓝色区域”,则...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,362,295
精华内容 544,918
关键字:

空间关系